Two thread::id object compare equal if they represent the same joinable thread, or if they both represent non-joinable threads.
The order established by relational operators is an implementation-defined stable total order, allowing its use as keys for associative containers.
Inserts a textual representation of id into os (in an implementation-specific manner).
Inserting two thread::id object that compare equal, generates the same textual representation. Inserting different thread::id values generates different representations.