operator==, operator<=>(std::coroutine_handle)
From cppreference.com
< cpp | coroutine | coroutine handle
C++
Utilities library
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Coroutine support
| Coroutine traits | ||||
(C++20) | ||||
| Coroutine handle | ||||
(C++20) | ||||
| No-op coroutines | ||||
(C++20) | ||||
(C++20) | ||||
| Trivial awaitables | ||||
(C++20) | ||||
(C++20) | ||||
| Range generators | ||||
(C++23) |
std::coroutine_handle
| Member functions | ||||
| Conversion | ||||
| Observers | ||||
| Control | ||||
| Promise access | ||||
| Export/import | ||||
| Non-member functions | ||||
operator==operator<=> | ||||
| Helper classes | ||||
| Defined in header <coroutine>
|
||
| constexpr bool operator==( std::coroutine_handle<> x, std::coroutine_handle<> y ) noexcept; |
(1) | (since C++20) |
| constexpr std::strong_ordering operator<=>( std::coroutine_handle<> x, std::coroutine_handle<> y ) noexcept; |
(2) | (since C++20) |
Compares two std::coroutine_handle<> values x and y according to their underlying addresses.
The <, <=, >, >=, and != operators are synthesized from operator<=> and operator== respectively.
Contents |
[edit] Parameters
| x, y | - | std::coroutine_handle<> values to compare |
[edit] Return value
1) x.address() == y.address()
2) std::compare_three_way{}(x.address(), y.address()
[edit] Notes
Although these operators are only overloaded for std::coroutine_handle<>, other specializations of std::coroutine_handle are also equality comparable and three-way comparable, because they are implicitly convertible to std::coroutine_handle<>.
[edit] Example
| This section is incomplete Reason: no example |