#include <__assert>
#include <__thread/id.h>
#include <__utility/exception_guard.h>
#include <limits>
#include <mutex>
#include "include/atomic_support.h"
#if defined(__ELF__) && defined(_LIBCPP_LINK_PTHREAD_LIB)
# pragma comment(lib, "pthread")
#endif
_LIBCPP_PUSH_MACROS
#include <__undef_macros>
_LIBCPP_BEGIN_NAMESPACE_STD
void mutex::lock() { … }
bool mutex::try_lock() noexcept { … }
void mutex::unlock() noexcept { … }
recursive_mutex::recursive_mutex() { … }
recursive_mutex::~recursive_mutex() { … }
void recursive_mutex::lock() { … }
void recursive_mutex::unlock() noexcept { … }
bool recursive_mutex::try_lock() noexcept { … }
timed_mutex::timed_mutex() : … { … }
timed_mutex::~timed_mutex() { … }
void timed_mutex::lock() { … }
bool timed_mutex::try_lock() noexcept { … }
void timed_mutex::unlock() noexcept { … }
recursive_timed_mutex::recursive_timed_mutex() : … { … }
recursive_timed_mutex::~recursive_timed_mutex() { … }
void recursive_timed_mutex::lock() { … }
bool recursive_timed_mutex::try_lock() noexcept { … }
void recursive_timed_mutex::unlock() noexcept { … }
_LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS