libstdc++
|
Classes | |
struct | std::adopt_lock_t |
struct | std::defer_lock_t |
class | std::lock_guard< _Mutex > |
class | std::mutex |
struct | std::once_flag |
class | std::recursive_mutex |
struct | std::try_to_lock_t |
class | std::unique_lock< _Mutex > |
Functions | |
template<typename _Callable > | |
void | std::__once_call_impl () |
void | std::__once_proxy (void) |
template<typename _Lock > | |
unique_lock< _Lock > | std::__try_to_lock (_Lock &__l) |
template<typename _Callable , typename... _Args> | |
void | std::call_once (once_flag &__once, _Callable &&__f, _Args &&... __args) |
template<typename _L1 , typename _L2 , typename... _L3> | |
void | std::lock (_L1 &__l1, _L2 &__l2, _L3 &... __l3) |
template<typename _Mutex > | |
void | std::swap (unique_lock< _Mutex > &__x, unique_lock< _Mutex > &__y) noexcept |
template<typename _Lock1 , typename _Lock2 , typename... _Lock3> | |
int | std::try_lock (_Lock1 &__l1, _Lock2 &__l2, _Lock3 &... __l3) |
Variables | |
__thread void(* | std::__once_call )() |
__thread void * | std::__once_callable |
constexpr adopt_lock_t | std::adopt_lock |
constexpr defer_lock_t | std::defer_lock |
constexpr try_to_lock_t | std::try_to_lock |
template<typename _Mutex > | |
void | std::swap (shared_lock< _Mutex > &__x, shared_lock< _Mutex > &__y) noexcept |
#define | __cpp_lib_shared_timed_mutex |
Classes for mutex support.
#define __cpp_lib_shared_timed_mutex |
Swap specialization for shared_lock.
Definition at line 55 of file shared_mutex.
void std::call_once | ( | once_flag & | __once, |
_Callable && | __f, | ||
_Args &&... | __args | ||
) |
call_once
Definition at line 723 of file mutex.
References std::__addressof().
Referenced by std::swap().
void std::lock | ( | _L1 & | __l1, |
_L2 & | __l2, | ||
_L3 &... | __l3 | ||
) |
Generic lock.
__l1 | Meets Mutex requirements (try_lock() may throw). |
__l2 | Meets Mutex requirements (try_lock() may throw). |
__l3 | Meets Mutex requirements (try_lock() may throw). |
An | exception thrown by an argument's lock() or try_lock() member. |
All arguments are locked via a sequence of calls to lock(), try_lock() and unlock(). If the call exits via an exception any locks that were obtained will be released.
Definition at line 659 of file mutex.
References std::tie().
Referenced by std::dynamic_pointer_cast().
|
inlinenoexcept |
Swap overload for unique_lock objects.
Definition at line 581 of file mutex.
References std::try_to_lock.
|
noexcept |
Swap specialization for shared_lock.
Definition at line 596 of file shared_mutex.
int std::try_lock | ( | _Lock1 & | __l1, |
_Lock2 & | __l2, | ||
_Lock3 &... | __l3 | ||
) |
Generic try_lock.
__l1 | Meets Mutex requirements (try_lock() may throw). |
__l2 | Meets Mutex requirements (try_lock() may throw). |
__l3 | Meets Mutex requirements (try_lock() may throw). |
Sequentially calls try_lock() on each argument.
Definition at line 638 of file mutex.
References std::tie().
constexpr adopt_lock_t std::adopt_lock |
constexpr defer_lock_t std::defer_lock |
constexpr try_to_lock_t std::try_to_lock |
Tag used to prevent a scoped lock from blocking if a mutex is locked.
Definition at line 367 of file mutex.
Referenced by std::swap().