Mutexes
Concurrency
Collaboration diagram for Mutexes:

## Classes

struct | std::adopt_lock_t
struct | std::defer_lock_t
class | std::lock_guard< _Mutex >
class | std::mutex
struct | std::try_to_lock_t
class | std::unique_lock< _Mutex >

## Variables

constexpr _GLIBCXX17_INLINE adopt_lock_t | std::adopt_lock
constexpr _GLIBCXX17_INLINE defer_lock_t | std::defer_lock
constexpr _GLIBCXX17_INLINE try_to_lock_t | std::try_to_lock
#define | __cpp_lib_shared_timed_mutex
using | std::__shared_timed_mutex_base = __shared_mutex_cv
template<typename _Mutex >
void | std::swap (shared_lock< _Mutex > &__x, shared_lock< _Mutex > &__y) noexcept

## Detailed Description

Classes for mutex support.

## Macro Definition Documentation

## __cpp_lib_shared_timed_mutex

#define __cpp_lib_shared_timed_mutex

Swap specialization for shared_lock.

Definition at line 56 of file shared_mutex.

## Typedef Documentation

## __shared_timed_mutex_base

using std::__shared_timed_mutex_base = typedef __shared_mutex_cv

Swap specialization for shared_lock.

Definition at line 438 of file shared_mutex.

## Function Documentation

## swap()

template<typename _Mutex >

void std::swap | ( | shared_lock< _Mutex > & | __x,
|  | shared_lock< _Mutex > & | __y
| ) |  |

noexcept

Swap specialization for shared_lock.

Definition at line 759 of file shared_mutex.

## Variable Documentation

## adopt_lock

constexpr _GLIBCXX17_INLINE adopt_lock_t std::adopt_lock

constexpr

Tag used to make a scoped lock take ownership of a locked mutex.

Definition at line 145 of file std_mutex.h.

## defer_lock

constexpr _GLIBCXX17_INLINE defer_lock_t std::defer_lock

constexpr

Tag used to prevent a scoped lock from acquiring ownership of a mutex.

Definition at line 139 of file std_mutex.h.

## try_to_lock

constexpr _GLIBCXX17_INLINE try_to_lock_t std::try_to_lock

constexpr

Tag used to prevent a scoped lock from blocking if a mutex is locked.

Definition at line 142 of file std_mutex.h.