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