Namespaces
Variants

std::noop_coroutine_promise

De fr.cppreference.net
 
 
Bibliothèque des utilitaires
Support du langage
Support des types (types de base, RTTI)
Macros de test de fonctionnalités de la bibliothèque (C++20)
Utilitaires de programme
Fonctions variadiques
Prise en charge des coroutines (C++20)
Prise en charge des contrats (C++26)
Comparaison à trois voies
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Utilitaires généraux
Opérateurs relationnels (déprécié en C++20)
 
Prise en charge des coroutines
Traits de coroutine
Gestionnaire de coroutine
Coroutines no-op
Attendables triviaux
Générateurs de plages
(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 no-op.

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 suspendue immédiatement après son début et sa reprise, et
  • a un état de coroutine tel que détruire 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 gestionnaire de coroutine qu'elles renvoient. Le gestionnaire de coroutine renvoyé 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 étant 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)