xref: /aosp_15_r20/external/cronet/third_party/libc++/src/modules/std/mutex.cppm (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
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
10module;
11#include <mutex>
12
13export module std:mutex;
14export namespace std {
15  // [thread.mutex.class], class mutex
16  using std::mutex;
17  // [thread.mutex.recursive], class recursive_mutex
18  using std::recursive_mutex;
19  // [thread.timedmutex.class] class timed_mutex
20  using std::timed_mutex;
21  // [thread.timedmutex.recursive], class recursive_timed_mutex
22  using std::recursive_timed_mutex;
23
24  using std::adopt_lock_t;
25  using std::defer_lock_t;
26  using std::try_to_lock_t;
27
28  using std::adopt_lock;
29  using std::defer_lock;
30  using std::try_to_lock;
31
32  // [thread.lock], locks
33  using std::lock_guard;
34  using std::scoped_lock;
35  using std::unique_lock;
36
37  using std::swap;
38
39  // [thread.lock.algorithm], generic locking algorithms
40  using std::lock;
41  using std::try_lock;
42
43  using std::once_flag;
44
45  using std::call_once;
46} // namespace std
47