IceShard 1
A personal game engine project, with development focused on 2D/2.5D games.
Loading...
Searching...
No Matches
task_awaitable.hxx
Go to the documentation of this file.
1
3
4#pragma once
5#include <ice/task_types.hxx>
6#include <ice/task_flags.hxx>
7
8namespace ice
9{
10
12 {
13 Unused = 0x0,
14 PriorityFlags = 0x8000'0000,
15 DelayedExecution = 0x4000'0000,
16 CustomValue = 0x2000'0000,
17 CustomResumer = 0x1000'0000,
18 };
19
29
31 {
32 void* ptr;
33 };
34
42
43 using FnCustomResumerFunc = bool(*)(void* userdata, ice::TaskAwaitableBase const& awaitable) noexcept;
44
50
51 // Callback aliases
52 using FnTaskQueueFilter = bool(*)(ice::TaskAwaitableParams params, void* userdata) noexcept;
53
54} // namespace ice
SPDX-License-Identifier: MIT.
Definition array.hxx:12
TaskAwaitableModifier
Definition task_awaitable.hxx:12
@ CustomResumer
Definition task_awaitable.hxx:17
@ CustomValue
Definition task_awaitable.hxx:16
@ DelayedExecution
Definition task_awaitable.hxx:15
@ Unused
Definition task_awaitable.hxx:13
@ PriorityFlags
Definition task_awaitable.hxx:14
bool(*)(void *userdata, ice::TaskAwaitableBase const &awaitable) noexcept FnCustomResumerFunc
Definition task_awaitable.hxx:43
std::coroutine_handle< Type > coroutine_handle
Definition task_types.hxx:42
std::uint32_t u32
Definition types.hxx:26
bool(*)(ice::TaskAwaitableParams params, void *userdata) noexcept FnTaskQueueFilter
Definition task_awaitable.hxx:52
Definition task_awaitable.hxx:36
ice::TaskAwaitableBase * _next
Definition task_awaitable.hxx:39
ice::coroutine_handle _coro
Definition task_awaitable.hxx:38
ice::TaskAwaitableParams const _params
Definition task_awaitable.hxx:37
ice::TaskAwaitableResult result
Definition task_awaitable.hxx:40
Definition task_awaitable.hxx:46
FnCustomResumerFunc fn_resumer
Definition task_awaitable.hxx:47
void * ud_resumer
Definition task_awaitable.hxx:48
Definition task_awaitable.hxx:21
ice::TaskFlags task_flags
Definition task_awaitable.hxx:26
ice::u32 u32_value
Definition task_awaitable.hxx:25
ice::TaskAwaitableModifier modifier
Definition task_awaitable.hxx:22
Definition task_awaitable.hxx:31
void * ptr
Definition task_awaitable.hxx:32
Definition task_flags.hxx:42