1 //===----------------------------------------------------------------------===// 2 // 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 // See https://llvm.org/LICENSE.txt for license information. 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 // 7 //===----------------------------------------------------------------------===// 8 // 9 // UNSUPPORTED: no-threads 10 11 // <thread> 12 13 // class thread::id 14 15 // bool operator< (thread::id x, thread::id y); 16 // bool operator<=(thread::id x, thread::id y); 17 // bool operator> (thread::id x, thread::id y); 18 // bool operator>=(thread::id x, thread::id y); 19 20 #include <thread> 21 #include <cassert> 22 23 #include "test_macros.h" 24 main(int,char **)25int main(int, char**) 26 { 27 std::thread::id id0; 28 std::thread::id id1; 29 std::thread::id id2 = std::this_thread::get_id(); 30 assert(!(id0 < id1)); 31 assert( (id0 <= id1)); 32 assert(!(id0 > id1)); 33 assert( (id0 >= id1)); 34 assert(!(id0 == id2)); 35 if (id0 < id2) { 36 assert( (id0 <= id2)); 37 assert(!(id0 > id2)); 38 assert(!(id0 >= id2)); 39 } else { 40 assert(!(id0 <= id2)); 41 assert( (id0 > id2)); 42 assert( (id0 >= id2)); 43 } 44 45 return 0; 46 } 47