Namespaces
Variants

std:: noop_coroutine_promise

From cppreference.net
Utilities library
Coroutine support
Coroutine traits
Coroutine handle
No-op coroutines
noop_coroutine_promise
(C++20)
Trivial awaitables
Range generators
(C++23)
Определено в заголовочном файле <coroutine>
struct noop_coroutine_promise { } ;
(начиная с C++20)

noop_coroutine_promise является типом промиса для no-op корутин.

Нет-оп корутина ведёт себя так, как если бы она

  • не делает ничего, кроме управления потоком выполнения сопрограммы, и
  • приостанавливается сразу после начала и возобновления, и
  • имеет состояние сопрограммы, при котором уничтожение состояния является no-op, и
  • никогда не достигает своей конечной точки приостановки, если существует любой std::coroutine_handle ссылающийся на неё.

Нетривиальные сопрограммы могут быть запущены с помощью std::noop_coroutine и управляться через дескриптор сопрограммы, который он возвращает. Возвращаемый дескриптор сопрограммы имеет тип std::noop_coroutine_handle , который является синонимом для std:: coroutine_handle < std :: noop_coroutine_promise > .

Некоторые операции no-op сопрограмм определяются как no-op на этапе компиляции через тип std::noop_coroutine_handle .

Пример

Смотрите также

создает обработчик сопрограммы, который не имеет наблюдаемых эффектов при возобновлении или уничтожении
(функция)
std:: coroutine_handle < std :: noop_coroutine_promise > , предназначен для ссылки на no-op сопрограмму
(typedef)