uvco 0.1
|
A coroutine object used internally by C++20 coroutines ("promise object"). More...
#include <promise.h>
Public Member Functions | |
Coroutine () | |
Coroutine (const Coroutine &other)=delete | |
Coroutine & | operator= (const Coroutine &other)=delete |
Coroutine (Coroutine &&other)=delete | |
Coroutine & | operator= (Coroutine &&other)=delete |
~Coroutine () | |
Promise< T > | get_return_object () |
void | return_value (T value) |
std::suspend_never | initial_suspend () noexcept |
std::suspend_never | final_suspend () noexcept |
void | unhandled_exception () |
Protected Attributes | |
SharedCore_ | core_ |
Private Types | |
using | PromiseCore_ = PromiseCore<T> |
PromiseCore_ handles the inner mechanics of resumption and suspension. | |
using | SharedCore_ = PromiseCore_ * |
A coroutine object used internally by C++20 coroutines ("promise object").
|
private |
PromiseCore_ handles the inner mechanics of resumption and suspension.
|
private |
|
inline |
|
delete |
|
delete |
|
inline |
|
inlinenoexcept |
Part of the coroutine protocol: called upon co_return
or unhandled exception.
|
inline |
Part of the coroutine protocol: Called on first suspension point (co_await
) or co_return
.
|
inlinenoexcept |
Part of the coroutine protocol: called after construction of Promise object, i.e. before starting the coroutine.
In uvco
, the coroutine always runs at least up to its first suspension point, at which point it may be suspended (if the awaited object is not ready).
|
delete |
|
delete |
|
inline |
Part of the coroutine protocol: Called by co_return
. Schedules the awaiting coroutine for resumption.
|
inline |
|
protected |