1// -*- C++ -*- 2//===----------------------------------------------------------------------===// 3// 4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 5// See https://llvm.org/LICENSE.txt for license information. 6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7// 8//===----------------------------------------------------------------------===// 9 10export namespace std { 11#ifndef _LIBCPP_HAS_NO_THREADS 12 // [thread.mutex.class], class mutex 13 using std::mutex; 14 // [thread.mutex.recursive], class recursive_mutex 15 using std::recursive_mutex; 16 // [thread.timedmutex.class] class timed_mutex 17 using std::timed_mutex; 18 // [thread.timedmutex.recursive], class recursive_timed_mutex 19 using std::recursive_timed_mutex; 20 21 using std::adopt_lock_t; 22 using std::defer_lock_t; 23 using std::try_to_lock_t; 24 25 using std::adopt_lock; 26 using std::defer_lock; 27 using std::try_to_lock; 28 29 // [thread.lock], locks 30 using std::lock_guard; 31 using std::scoped_lock; 32 using std::unique_lock; 33 34 using std::swap; 35 36 // [thread.lock.algorithm], generic locking algorithms 37 using std::lock; 38 using std::try_lock; 39#endif // _LIBCPP_HAS_NO_THREADS 40 41 using std::once_flag; 42 43 using std::call_once; 44} // namespace std 45