18 template<
typename Promise>
52 inline auto operator new(
size_t size)
noexcept ->
void*
59 inline void operator delete(
void* ptr)
noexcept
67 template<
typename Promise>
101 return _continuation;
106 ICE_ASSERT(
false,
"Unexpected exception in task promise! IceShard does not support exceptions!");
#define ICE_ASSERT(condition, message,...)
Definition assert.hxx:29
#define ICE_ASSERT_CORE(expression)
Definition assert_core.hxx:43
Root namespace for all APIs part of the IceShard engine project.
Definition array.hxx:12
std::coroutine_handle< Type > coroutine_handle
Definition task_types.hxx:42
std::suspend_always suspend_always
Definition task_types.hxx:43
#define IPT_ALLOC_POOL(ptr, size, name)
Definition profiler.hxx:66
#define IPT_DEALLOC_POOL(ptr, name)
Definition profiler.hxx:67
Definition task_promise_base.hxx:15
void await_resume() const noexcept
Definition task_promise_base.hxx:78
auto await_suspend(ice::coroutine_handle< Promise > coro) noexcept -> ice::coroutine_handle<>
Definition task_promise_base.hxx:68
constexpr bool await_ready() const noexcept
Definition task_promise_base.hxx:16
auto final_suspend() const noexcept
Definition task_promise_base.hxx:89
auto set_continuation(ice::coroutine_handle<> coro) noexcept
Definition task_promise_base.hxx:94
auto initial_suspend() const noexcept
Definition task_promise_base.hxx:84
ice::detail::TaskDebugAllocator TaskDebugAllocator
Definition task_promise_base.hxx:41
TaskPromiseBase() noexcept=default
void unhandled_exception() const noexcept
Definition task_promise_base.hxx:104
auto continuation() const noexcept -> ice::coroutine_handle<>
Definition task_promise_base.hxx:99
Definition task_debug_allocator.hxx:23
static auto allocate(size_t size) noexcept -> void *
Definition task_debug_allocator.hxx:35
static void deallocate(void *pointer) noexcept
Definition task_debug_allocator.hxx:40
static auto pool() noexcept -> ice::String
Definition task_debug_allocator.hxx:24