Namensräume
Varianten
Aktionen

std::noop_coroutine_promise

Von cppreference.com
< cpp‎ | coroutine
 
 
Dienstprogramm-Bibliotheken
Sprachunterstützung
Typunterstützung (Basistypen, RTTI)
Bibliotheks-Feature-Test-Makros (C++20)
Programm-Dienstprogramme
Variadische Funktionen
Coroutine-Unterstü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 Hilfsmittel
Relationale Operatoren (in C++20 veraltet)
 
Coroutine support
Coroutine traits
Coroutine handle
No-op coroutines
noop_coroutine_promise
(C++20)
Trivial awaitables
Range generators
(C++23)
 
Definiert in Header <coroutine>
struct noop_coroutine_promise {};
(seit C++20)

noop_coroutine_promise ist der Promise-Typ für No-Op-Coroutinen.

Eine No-Op-Coroutine verhält sich so, als würde sie

  • nur den Kontrollfluss einer Coroutine ausführen, und
  • wird sofort nach Beginn und Wiederaufnahme suspendiert, und
  • hat einen Coroutine-Zustand, dessen Zerstörung keine Auswirkung hat, und
  • erreicht niemals ihren finalen Suspendierungspunkt, wenn es irgendein std::coroutine_handle gibt, das auf sie verweist.

No-Op-Coroutinen können mit std::noop_coroutine gestartet und über den zurückgegebenen Coroutine-Handle gesteuert werden. Der zurückgegebene Coroutine-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-Coroutine werden über den Typ std::noop_coroutine_handle zur Kompilierzeit als No-Op bestimmt.

[edit] Beispiel

[edit] Siehe auch

Erzeugt ein Coroutine-Handle, das beim Wiederaufnehmen oder Zerstören keine beobachtbaren Effekte hat
(Funktion) [bearbeiten]
std::coroutine_handle<std::noop_coroutine_promise>, vorgesehen für die Referenzierung einer No-Op-Coroutine
(typedef) [bearbeiten]