Spec-Zone.ru › C++

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.

Пример

См. также

noop_coroutine
(C++20)
создаёт дескриптор корутины, возобновление или уничтожение которого не имеет наблюдаемых эффектов
(функция)
noop_coroutine_handle
(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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API