operator==,!=,<,<=,>,>=,<=>(std::thread::id)
From cppreference.com
Defined in header <thread>
|
||
bool operator==( std::thread::id lhs, std::thread::id rhs ) noexcept; |
(1) | (since C++11) |
bool operator!=( std::thread::id lhs, std::thread::id rhs ) noexcept; |
(2) | (since C++11) (until C++20) |
bool operator< ( std::thread::id lhs, std::thread::id rhs ) noexcept; |
(3) | (since C++11) (until C++20) |
bool operator<=( std::thread::id lhs, std::thread::id rhs ) noexcept; |
(4) | (since C++11) (until C++20) |
bool operator> ( std::thread::id lhs, std::thread::id rhs ) noexcept; |
(5) | (since C++11) (until C++20) |
bool operator>=( std::thread::id lhs, std::thread::id rhs ) noexcept; |
(6) | (since C++11) (until C++20) |
std::strong_ordering operator<=>( std::thread::id lhs, std::thread::id rhs ) noexcept; |
(7) | (since C++20) |
Compares two thread identifiers.
1,2) Checks whether lhs and rhs represent either the same thread, or no thread.
3-7) Compares lhs and rhs in an unspecified total ordering.
The |
(since C++20) |
Contents |
[edit] Parameters
lhs, rhs | - | thread identifiers to compare |
[edit] Return value
1-6) true if the corresponding relation holds, false otherwise.
7) std::strong_ordering::less if lhs is less than rhs in the total ordering; otherwise std::strong_ordering::greater if rhs is less than lhs in the total ordering; otherwise std::strong_ordering::equal.
[edit] Complexity
Constant.
[edit] Example
Run this code
#include <cassert> #include <chrono> #include <iostream> #include <thread> int main() { auto work = [] { std::this_thread::sleep_for(std::chrono::seconds(1)); }; std::thread t1(work); std::thread t2(work); assert(t1.get_id() == t1.get_id() and t2.get_id() == t2.get_id() and t1.get_id() != t2.get_id()); if (const auto cmp = t1.get_id() <=> t2.get_id(); cmp < 0) std::cout << "id1 < id2\n"; else std::cout << "id1 > id2\n"; std::cout << "id1: " << t1.get_id() << "\n" "id2: " << t2.get_id() << '\n'; t1.join(); t2.join(); }
Possible output:
id1 > id2 id1: 139741717640896 id2: 139741709248192
[edit] See also
C documentation for thrd_equal
|