bool advance()
Resume the coroutine once. Returns false when the coroutine is finished.
T current() const
Return the last yielded or returned value from the coroutine.
std::coroutine_handle< promise_type > handle_type
T await_resume() noexcept
Awaiter API: return the current value after suspension completes.
void await_suspend(std::coroutine_handle<> awaiting_coro) noexcept
Awaiter API: resume the wrapped coroutine, then resume the awaiting coroutine.
bool await_ready() const noexcept
Awaiter API: reports ready only once the wrapped coroutine is done.
AsyncAlgorithm(handle_type h)
Coroutine promise storing the most recent yielded or returned value.
static std::suspend_always final_suspend() noexcept
static void unhandled_exception()
std::suspend_always yield_value(const T &value)
static std::suspend_always initial_suspend() noexcept
AsyncAlgorithm get_return_object()
void return_value(const T &value)