Namensräume
Varianten
Aktionen

operator==, operator<=>(std::coroutine_handle)

Von cppreference.com
 
 
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
Trivial awaitables
Range generators
(C++23)
 
 
Definiert in Header <coroutine>
constexpr bool
    operator==( std::coroutine_handle<> x, std::coroutine_handle<> y ) noexcept;
(1) (seit C++20)
constexpr std::strong_ordering
    operator<=>( std::coroutine_handle<> x, std::coroutine_handle<> y ) noexcept;
(2) (seit C++20)

Vergleicht zwei std::coroutine_handle<> Werte x und y anhand ihrer zugrunde liegenden Adressen.

Die Operatoren <, <=, >, >= und != sind synthetisiert aus operator<=> und operator== beziehungsweise.

Inhalt

[bearbeiten] Parameter

x, y - std::coroutine_handle<> Werte, die verglichen werden sollen

[bearbeiten] Rückgabewert

1) x.address() == y.address()
2) std::compare_three_way{}(x.address(), y.address())

[bearbeiten] Anmerkungen

Obwohl diese Operatoren nur für std::coroutine_handle<> überladen sind, sind auch andere Spezialisierungen von std::coroutine_handle gleichheits- und dreifach vergleichbar, da sie implizit in std::coroutine_handle<> konvertiert werden können.

[bearbeiten] Beispiel