Difference between revisions of "cpp/coroutine/coroutine handle/operator cmp"
From cppreference.com
< cpp | coroutine | coroutine handle
(Spelling fix) |
m (synthesized operators) |
||
Line 14: | Line 14: | ||
Compares two {{c|std::coroutine_handle<>}} values {{tt|x}} and {{tt|y}} according to their underlying addresses. | Compares two {{c|std::coroutine_handle<>}} values {{tt|x}} and {{tt|y}} according to their underlying addresses. | ||
+ | |||
+ | |||
===Parameters=== | ===Parameters=== | ||
Line 30: | Line 32: | ||
{{example}} | {{example}} | ||
− | {{langlinks|ja|zh}} | + | {{langlinks|ja|zh}} |
Revision as of 00:27, 2 May 2021
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 |
Parameters
x, y | - | std::coroutine_handle<> values to compare |
Return value
1) x.address() == y.address().
2) std::compare_three_way{}(x.address(), y.address()).
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<>.
Example
This section is incomplete Reason: no example |