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

From cppreference.com
Utilities library
General utilities
Relational operators (deprecated in C++20)
Integer comparison functions
(C++20)(C++20)(C++20)
(C++20)
Swap and type operations
(C++20)
(C++14)
(C++11)
(C++23)
(C++11)
(C++23)
(C++11)
(C++17)
Common vocabulary types
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++11)
(C++17)
(C++17)
(C++23)



Coroutine support
Coroutine traits
Coroutine handle
No-op coroutines
(C++20)
Trivial awaitables
(C++20)
(C++20)
Range generators
(C++23)
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

The <, <=, >, >=, and != operators are synthesized from operator<=> and operator==

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