operator<<(std::thread::id)

From cppreference.com
< cpp‎ | thread‎ | thread‎ | id
 
 
Concurrency support library
Threads
(C++11)
(C++20)
(C++20)
this_thread namespace
(C++11)
(C++11)
(C++11)
Atomic types
(C++11)
(C++20)
Initialization of atomic types
(C++11)(deprecated in C++20)
(C++11)(deprecated in C++20)
Free functions for atomic operations
Free functions for atomic flags
Memory ordering
Mutual exclusion
(C++11)
Generic lock management
(C++11)
(C++11)
(C++11)
(C++11)(C++11)(C++11)
(C++11)
(C++11)
Condition variables
(C++11)
Semaphores
Latches and barriers
(C++20)
(C++20)
Futures
(C++11)
(C++11)
(C++11)
(C++11)
 
 
std::thread::id
Member functions
Non-member functions
(until C++20)(until C++20)(until C++20)(until C++20)(until C++20)(C++20)
operator<<
Helper classes
 
Defined in header <thread>
template< class CharT, class Traits >

std::basic_ostream<CharT,Traits>&

    operator<<( std::basic_ostream<CharT,Traits>& ost, std::thread::id id );
(since C++11)

Writes a textual representation of a thread identifier id to the output stream ost.

If two thread identifiers compare equal, they have identical textual representations; if they do not compare equal, their representations are distinct.

Parameters

ost - output stream to insert the data into
id - thread identifier

Return value

ost

Exceptions

May throw implementation-defined exceptions.

Example

#include <iostream>
#include <chrono>
#include <thread>
using namespace std::chrono;
 
int main()
{
    std::thread t1([]{ std::this_thread::sleep_for(256ms); });
    std::thread t2([]{ std::this_thread::sleep_for(512ms); });
 
    std::clog << t1.get_id() << '\n' << t2.get_id() << '\n';
 
    t1.join(); t2.join();
}

Possible output:

141592653589793
141421356237309