std::noop_coroutine_promise
Определён в заголовочном файле <coroutine> | ||
|---|---|---|
struct noop_coroutine_promise {};
| (начиная с C++20) |
noop_coroutine_promise — это тип promise корутин без действий.
Коррутина без действий ведёт себя так, как если бы она
- не выполняла никаких действий, кроме управления потоком выполнения корутины;
- приостанавливалась сразу после начала и возобновления;
- имела состояние корутины, уничтожение которого не выполняет никаких действий;
- никогда не достигала своей конечной точки приостановки, если на неё ссылается какой-либо
std::coroutine_handle.
Коррутины без действий можно запускать с помощью std::noop_coroutine и управлять ими через возвращаемый дескриптор корутины. Возвращаемый дескриптор корутины имеет тип std::noop_coroutine_handle, который является синонимом std::coroutine_handle<std::noop_coroutine_promise>.
Некоторые операции корутин без действий определяются как не выполняющие никаких действий на этапе компиляции благодаря типу std::noop_coroutine_handle.
Пример
См. также
|
(C++20) | создаёт дескриптор корутины, возобновление или уничтожение которого не имеет наблюдаемых эффектов (функция) |
|
(C++20) |
std::coroutine_handle<std::noop_coroutine_promise>, предназначенный для ссылки на корутину без действий (определение типа) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/coroutine/noop_coroutine_promise