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)
Défini dans l'en-tête <coroutine>
struct noop_coroutine_promise { } ;
(depuis C++20)

noop_coroutine_promise est le type de promesse des coroutines sans opération.

Une coroutine no-op se comporte comme si elle

  • ne fait rien d'autre que le flux de contrôle d'une coroutine, et
  • est suspendu immédiatement après le début et la reprise, et
  • a un état de coroutine tel que la destruction de l'état est une opération nulle, et
  • n'atteint jamais son point de suspension final s'il existe un std::coroutine_handle qui s'y réfère.

Les coroutines no-op peuvent être démarrées par std::noop_coroutine , et contrôlées par le handle de coroutine qu'il retourne. Le handle de coroutine retourné est de type std::noop_coroutine_handle , qui est un synonyme de std:: coroutine_handle < std :: noop_coroutine_promise > .

Certaines opérations d'une coroutine no-op sont déterminées comme no-op à la compilation via le type std::noop_coroutine_handle .

Exemple

Voir aussi

crée un gestionnaire de coroutine qui n'a aucun effet observable lors de la reprise ou de la destruction
(fonction)
std:: coroutine_handle < std :: noop_coroutine_promise > , destiné à référencer une coroutine sans opération
(typedef)