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)
Definido en el encabezado <coroutine>
struct noop_coroutine_promise { } ;
(desde C++20)

noop_coroutine_promise es el tipo de promesa de las corrutinas sin operación.

Una corrutina no-op se comporta como si

  • no hace nada más que el flujo de control de una corrutina, y
  • se suspende inmediatamente después de comenzar y reanudarse, y
  • tiene un estado de corrutina tal que destruir el estado es una operación nula, y
  • nunca alcanza su punto de suspensión final si hay algún std::coroutine_handle que se refiera a él.

Las corrutinas no-op pueden iniciarse mediante std::noop_coroutine , y controladas mediante el manejador de corrutina que devuelve. El manejador de corrutina devuelto es de tipo std::noop_coroutine_handle , que es un sinónimo de std:: coroutine_handle < std :: noop_coroutine_promise > .

Algunas operaciones de las corrutinas no-op se determinan como no-op en tiempo de compilación mediante el tipo std::noop_coroutine_handle .

Ejemplo

Véase también

crea un identificador de corrutina que no tiene efectos observables cuando se reanuda o destruye
(función)
std:: coroutine_handle < std :: noop_coroutine_promise > , destinado a referirse a una corrutina sin operación
(typedef)