Namespaces
Variants

std::noop_coroutine_promise

Von de.cppreference.net
 
 
Dienstprogrammbibliothek
Sprachunterstützung
Typunterstützung (grundlegende Typen, RTTI)
Bibliotheks-Feature-Test-Makros (C++20)
Programmdienstprogramme
Variadische Funktionen
Koroutinenunterstützung (C++20)
Vertragsunterstützung (C++26)
Drei-Wege-Vergleich
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Allgemeine Dienstprogramme
Relationale Operatoren (veraltet in C++20)
Ganzzahlvergleichsfunktionen
(C++20)(C++20)(C++20)    
(C++20)
Tauschen und Typoperationen
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
Allgemeine Vokabular-Typen
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)



 
Koroutinenunterstützung
Koroutinen-Merkmale
Koroutinen-Handle
No-op-Koroutinen
Triviale Awaitables
Bereichsgeneratoren
(C++23)
 
Definiert in Header <coroutine>
struct noop_coroutine_promise {};
(seit C++20)

noop_coroutine_promise ist der Promise-Typ von No-op-Koroutinen.

Eine No-op-Koroutine verhält sich so, als ob sie

  • außer dem Kontrollfluss einer Koroutine nichts tut, und
  • sofort nach Beginn und Wiederaufnahme suspendiert wird, und
  • einen Koroutinenzustand hat, sodass das Zerstören des Zustands ein No-op ist, und
  • niemals ihren endgültigen Suspendierungspunkt erreicht, wenn es irgendein std::coroutine_handle gibt, der sich auf sie bezieht.

No-op-Koroutinen können durch std::noop_coroutine gestartet werden und werden durch das Koroutinen-Handle gesteuert, das sie zurückgibt. Das zurückgegebene Koroutinen-Handle ist vom Typ std::noop_coroutine_handle, was ein Synonym für std::coroutine_handle<std::noop_coroutine_promise> ist.

Einige Operationen einer No-op-Koroutine werden zur Kompilierzeit durch den Typ std::noop_coroutine_handle als No-op bestimmt.

Beispiel

Siehe auch

Erstellt ein Coroutine-Handle, das bei Wiederaufnahme oder Zerstörung keine beobachtbaren Effekte hat
(Funktion)
std:: coroutine_handle < std :: noop_coroutine_promise > , dient zur Referenzierung einer No-Op-Coroutine
(Typdefinition)