12#if !defined(__cpp_coroutines) && !defined(__cpp_impl_coroutine)
13#error "Generator: Unsupported platform!"
20 using std::coroutine_handle;
21 using std::coroutine_traits;
22 using std::suspend_always;
23 using std::suspend_never;
109 return suspend_always{};
Definition Coroutine.hpp:103
auto final_suspend() noexcept
Definition Coroutine.hpp:107
void unhandled_exception() noexcept(false)
Definition Coroutine.hpp:116
ResumableFunction get_return_object() noexcept
Definition Coroutine.hpp:122
auto initial_suspend() noexcept
Definition Coroutine.hpp:105
void return_void() noexcept
Definition Coroutine.hpp:112
Holds the resumable function's handle.
Definition Coroutine.hpp:78
CoroutineHandle< void > * operator->() noexcept
Definition Coroutine.hpp:96
const CoroutineHandle< void > * operator->() const noexcept
Definition Coroutine.hpp:94
const CoroutineHandle< void > & operator*() const noexcept
Definition Coroutine.hpp:98
auto get() const noexcept
Definition Coroutine.hpp:90
CoroutineHandle< void > handle
Definition Coroutine.hpp:83
ResumableFunction() noexcept=default
CoroutineHandle< void > & operator*() noexcept
Definition Coroutine.hpp:100
Definition Coroutine.hpp:41
static constexpr VoidCoroutine get_return_object_on_allocation_failure() noexcept
Definition Coroutine.hpp:67
static constexpr auto initial_suspend() noexcept
No suspend for init suspension point.
Definition Coroutine.hpp:44
static constexpr auto final_suspend() noexcept
No suspend for final suspension point.
Definition Coroutine.hpp:49
static void unhandled_exception() noexcept(false)
An will terminate on an unhandled exception.
Definition Coroutine.hpp:59
static constexpr void return_void() noexcept
This coroutine always returns void.
Definition Coroutine.hpp:54
constexpr VoidCoroutine get_return_object() noexcept
Definition Coroutine.hpp:63
General void return for coroutine.
Definition Coroutine.hpp:39
constexpr VoidCoroutine(const promise_type *) noexcept
Definition Coroutine.hpp:73
Definition Application.hpp:19
std::coroutine_traits< T > CoroutineTraits
A type alias to the C++ standard library coroutine traits.
Definition Coroutine.hpp:29
std::coroutine_handle< T > CoroutineHandle
A type alias to the C++ standard library coroutine handle.
Definition Coroutine.hpp:26
std::suspend_always SuspendAlways
A type alias to the C++ standard library suspend always tag.
Definition Coroutine.hpp:32
std::suspend_never SuspendNever
A type alias to the C++ standard library suspend never tag.
Definition Coroutine.hpp:35
constexpr size_t hash(const T &v)
Generates a hash for the provided type.
Definition Hash.hpp:25