1*5f757f3fSDimitry Andric// -*- C++ -*- 2*5f757f3fSDimitry Andric//===----------------------------------------------------------------------===// 3*5f757f3fSDimitry Andric// 4*5f757f3fSDimitry Andric// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 5*5f757f3fSDimitry Andric// See https://llvm.org/LICENSE.txt for license information. 6*5f757f3fSDimitry Andric// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7*5f757f3fSDimitry Andric// 8*5f757f3fSDimitry Andric//===----------------------------------------------------------------------===// 9*5f757f3fSDimitry Andric 10*5f757f3fSDimitry Andricexport namespace std { 11*5f757f3fSDimitry Andric#ifndef _LIBCPP_HAS_NO_THREADS 12*5f757f3fSDimitry Andric // [thread.thread.class], class thread 13*5f757f3fSDimitry Andric using std::thread; 14*5f757f3fSDimitry Andric 15*5f757f3fSDimitry Andric using std::swap; 16*5f757f3fSDimitry Andric 17*5f757f3fSDimitry Andric // [thread.jthread.class], class jthread 18*5f757f3fSDimitry Andric# if !defined(_LIBCPP_HAS_NO_EXPERIMENTAL_STOP_TOKEN) 19*5f757f3fSDimitry Andric using std::jthread; 20*5f757f3fSDimitry Andric# endif 21*5f757f3fSDimitry Andric 22*5f757f3fSDimitry Andric // [thread.thread.this], namespace this_thread 23*5f757f3fSDimitry Andric namespace this_thread { 24*5f757f3fSDimitry Andric using std::this_thread::get_id; 25*5f757f3fSDimitry Andric 26*5f757f3fSDimitry Andric using std::this_thread::sleep_for; 27*5f757f3fSDimitry Andric using std::this_thread::sleep_until; 28*5f757f3fSDimitry Andric using std::this_thread::yield; 29*5f757f3fSDimitry Andric } // namespace this_thread 30*5f757f3fSDimitry Andric 31*5f757f3fSDimitry Andric // [thread.thread.id] 32*5f757f3fSDimitry Andric using std::operator==; 33*5f757f3fSDimitry Andric using std::operator<=>; 34*5f757f3fSDimitry Andric# ifndef _LIBCPP_HAS_NO_LOCALIZATION 35*5f757f3fSDimitry Andric using std::operator<<; 36*5f757f3fSDimitry Andric# endif // _LIBCPP_HAS_NO_LOCALIZATION 37*5f757f3fSDimitry Andric 38*5f757f3fSDimitry Andric# if _LIBCPP_STD_VER >= 23 39*5f757f3fSDimitry Andric using std::formatter; 40*5f757f3fSDimitry Andric# endif 41*5f757f3fSDimitry Andric 42*5f757f3fSDimitry Andric using std::hash; 43*5f757f3fSDimitry Andric#endif // _LIBCPP_HAS_NO_THREADS 44*5f757f3fSDimitry Andric} // namespace std 45