Task

namespace tnt
template<typename T>
class task

Public Functions

task(task const&) = delete
task &operator=(task const&) = delete
task(task &&t) noexcept
task &operator=(task &&t)
~task() noexcept
awaiter operator co_await() && noexcept
T get() noexcept

Private Functions

task(std::coroutine_handle<promise_type> h) noexcept

Private Members

std::coroutine_handle<promise_type> coro
struct awaiter

Public Functions

bool await_ready() const noexcept
std::coroutine_handle await_suspend(std::coroutine_handle<> ctx) noexcept
void await_resume() const noexcept

Private Functions

awaiter(std::coroutine_handle<typename task<T>::promise_type> handle) noexcept

Private Members

friend task< T >
std::coroutine_handle<typename task<T>::promise_type> coro
struct promise_type

Public Functions

task<T> get_return_object() noexcept
std::suspend_always initial_suspend() const noexcept
final_awaiter final_suspend() const noexcept
std::suspend_never return_value(T val) noexcept
void unhandled_exception() const noexcept

Private Members

std::coroutine_handle ctx
T value
friend task< T >
struct final_awaiter

Public Functions

bool await_ready() const noexcept
void await_resume() const noexcept
std::coroutine_handle await_suspend(std::coroutine_handle<promise_type> handle) const noexcept