18 template<
typename Promise>
43 inline auto operator new(
size_t size)
noexcept ->
void*
50 inline void operator delete(
void* ptr)
noexcept
58 template<
typename Promise>
97 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
SPDX-License-Identifier: MIT.
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:69
auto await_suspend(ice::coroutine_handle< Promise > coro) noexcept -> ice::coroutine_handle<>
Definition task_promise_base.hxx:59
constexpr bool await_ready() const noexcept
Definition task_promise_base.hxx:16
auto final_suspend() const noexcept
Definition task_promise_base.hxx:80
auto set_continuation(ice::coroutine_handle<> coro) noexcept
Definition task_promise_base.hxx:85
auto initial_suspend() const noexcept
Definition task_promise_base.hxx:75
ice::detail::TaskDebugAllocator TaskDebugAllocator
Definition task_promise_base.hxx:41
TaskPromiseBase() noexcept=default
void unhandled_exception() const noexcept
Definition task_promise_base.hxx:95
auto continuation() const noexcept -> ice::coroutine_handle<>
Definition task_promise_base.hxx:90
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