33 Thread support library [thread]
void swap(thread& x) noexcept;
Effects: Swaps the state of *this and x.
bool joinable() const noexcept;
Returns: get_id() != id().
Effects: Blocks until the thread represented by *this has completed.
Synchronization: The completion of the thread represented by *this synchronizes with
the corresponding successful
join() return. [ Note: Operations on
*this are not synchronized. — end note ]
Postconditions: The thread represented by *this has completed. get_id() == id().
resource_deadlock_would_occur — if deadlock is detected or
get_id() == this_thread::get_id().
no_such_process — if the thread is not valid.
invalid_argument — if the thread is not joinable.
Effects: The thread represented by *this continues execution without the calling thread
blocking. When detach() returns, *this no longer represents the possibly continuing
thread of execution. When the thread previously represented by *this ends execution, the
implementation shall release any owned resources.
Postconditions: get_id() == id().
id get_id() const noexcept;
Returns: A default constructed id object if *this does not represent a thread,
otherwise this_thread::get_id() for the thread of execution represented by