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