Namespaces
Variants

std::coroutine_handle<Promise>::operator(), std::coroutine_handle<Promise>::resume

Von de.cppreference.net
 
 
Dienstprogrammbibliothek
Sprachunterstützung
Typsupport (grundlegende Typen, RTTI)
Bibliotheks-Feature-Test-Makros (C++20)
Programm-Dienstprogramme
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)
Swap und Typoperationen
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
Allgemeine Vokabularitypen
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)



 
Koroutinenunterstützung
Koroutinen-Eigenschaften
Koroutinen-Handle
No-op-Koroutinen
Triviale Awaitables
Bereichsgeneratoren
(C++23)
 
 
Mitglied anderer Spezialisierungen
void operator()() const;
void resume() const;
(1) (seit C++20)
Mitglied der Spezialisierung std::coroutine_handle<std::noop_coroutine_promise>
constexpr void operator()() const noexcept;
constexpr void resume() const noexcept;
(2) (seit C++20)
1) Setzt die Ausführung der Koroutine fort, auf die *this verweist, oder tut nichts, wenn die Koroutine eine No-op-Koroutine ist.
2) Tut nichts.

Das Verhalten ist undefiniert, wenn *this nicht auf eine unterbrochene Koroutine verweist oder die Koroutine keine No-op-Koroutine ist und an ihrem finalen Unterbrechungspunkt unterbrochen ist. Eine gleichzeitige Fortsetzung der Koroutine kann zu einem Datenwettlauf führen.

Die Fortsetzung einer Koroutine auf einem anderen Ausführungsagenten als dem, auf dem sie unterbrochen wurde, hat implementierungsdefiniertes Verhalten, es sei denn, jeder Ausführungsagent ist entweder ein durch std::thread oder std::jthread dargestellter Thread oder der Thread, der main ausführt.

Parameter

(keine)

Rückgabewert

(keine)

Exceptions

Wenn eine Ausnahme aus der Ausführung der Coroutine geworfen wird, wird die Ausnahme abgefangen und unhandled_exception auf dem Promise-Objekt der Coroutine aufgerufen. Wenn der Aufruf von unhandled_exception eine Ausnahme wirft oder erneut wirft, wird diese Ausnahme weitergegeben.

Hinweise

Eine Coroutine, die auf einem anderen Ausführungsagenten fortgesetzt wird, sollte es vermeiden, sich durchgängig auf eine konsistente Thread-Identität zu verlassen, wie etwa das Halten eines Mutex-Objekts über einen Suspend-Punkt hinweg.

Beispiel

Siehe auch

zerstört eine Coroutine
(öffentliche Elementfunktion)