libstdc++
|
Macros | |
#define | __cpp_lib_shared_timed_mutex |
Functions | |
std::__mutex_base::__mutex_base (const __mutex_base &)=delete | |
std::__recursive_mutex_base::__recursive_mutex_base (const __recursive_mutex_base &)=delete | |
std::lock_guard< _Mutex >::lock_guard (const lock_guard &)=delete | |
std::lock_guard< _Mutex >::lock_guard (mutex_type &__m) | |
std::lock_guard< _Mutex >::lock_guard (mutex_type &__m, adopt_lock_t) noexcept | |
std::mutex::mutex (const mutex &)=delete | |
constexpr | std::once_flag::once_flag () noexcept=default |
std::once_flag::once_flag (const once_flag &)=delete | |
std::recursive_mutex::recursive_mutex (const recursive_mutex &)=delete | |
std::recursive_timed_mutex::recursive_timed_mutex (const recursive_timed_mutex &)=delete | |
std::shared_lock< _Mutex >::shared_lock (mutex_type &__m) | |
std::shared_lock< _Mutex >::shared_lock (mutex_type &__m, adopt_lock_t) | |
template<typename _Rep , typename _Period > | |
std::shared_lock< _Mutex >::shared_lock (mutex_type &__m, const chrono::duration< _Rep, _Period > &__rel_time) | |
template<typename _Clock , typename _Duration > | |
std::shared_lock< _Mutex >::shared_lock (mutex_type &__m, const chrono::time_point< _Clock, _Duration > &__abs_time) | |
std::shared_lock< _Mutex >::shared_lock (mutex_type &__m, defer_lock_t) noexcept | |
std::shared_lock< _Mutex >::shared_lock (mutex_type &__m, try_to_lock_t) | |
std::shared_lock< _Mutex >::shared_lock (shared_lock &&__sl) noexcept | |
std::shared_lock< _Mutex >::shared_lock (shared_lock const &)=delete | |
std::shared_timed_mutex::shared_timed_mutex (const shared_timed_mutex &)=delete | |
std::timed_mutex::timed_mutex (const timed_mutex &)=delete | |
template<typename _Callable , typename... _Args> | |
void | std::call_once (once_flag &__once, _Callable &&__f, _Args &&... __args) |
void | std::mutex::lock () |
void | std::recursive_mutex::lock () |
void | std::timed_mutex::lock () |
void | std::recursive_timed_mutex::lock () |
void | std::shared_timed_mutex::lock () |
void | std::shared_lock< _Mutex >::lock () |
template<typename _L1 , typename _L2 , typename... _L3> | |
void | std::lock (_L1 &__l1, _L2 &__l2, _L3 &... __l3) |
void | std::shared_timed_mutex::lock_shared () |
mutex_type * | std::shared_lock< _Mutex >::mutex () const noexcept |
native_handle_type | std::mutex::native_handle () noexcept |
native_handle_type | std::recursive_mutex::native_handle () noexcept |
std::shared_lock< _Mutex >::operator bool () const noexcept | |
bool | std::recursive_timed_mutex::_Can_lock::operator() () const noexcept |
__mutex_base & | std::__mutex_base::operator= (const __mutex_base &)=delete |
__recursive_mutex_base & | std::__recursive_mutex_base::operator= (const __recursive_mutex_base &)=delete |
lock_guard & | std::lock_guard< _Mutex >::operator= (const lock_guard &)=delete |
mutex & | std::mutex::operator= (const mutex &)=delete |
once_flag & | std::once_flag::operator= (const once_flag &)=delete |
recursive_mutex & | std::recursive_mutex::operator= (const recursive_mutex &)=delete |
recursive_timed_mutex & | std::recursive_timed_mutex::operator= (const recursive_timed_mutex &)=delete |
shared_timed_mutex & | std::shared_timed_mutex::operator= (const shared_timed_mutex &)=delete |
timed_mutex & | std::timed_mutex::operator= (const timed_mutex &)=delete |
shared_lock & | std::shared_lock< _Mutex >::operator= (shared_lock &&__sl) noexcept |
shared_lock & | std::shared_lock< _Mutex >::operator= (shared_lock const &)=delete |
bool | std::shared_lock< _Mutex >::owns_lock () const noexcept |
mutex_type * | std::shared_lock< _Mutex >::release () noexcept |
void | std::shared_lock< _Mutex >::swap (shared_lock &__u) noexcept |
bool | std::timed_mutex::try_lock () |
bool | std::recursive_timed_mutex::try_lock () |
bool | std::shared_timed_mutex::try_lock () |
bool | std::shared_lock< _Mutex >::try_lock () |
bool | std::mutex::try_lock () noexcept |
bool | std::recursive_mutex::try_lock () noexcept |
template<typename _Lock1 , typename _Lock2 , typename... _Lock3> | |
int | std::try_lock (_Lock1 &__l1, _Lock2 &__l2, _Lock3 &... __l3) |
template<typename _Rep , typename _Period > | |
bool | std::shared_lock< _Mutex >::try_lock_for (const chrono::duration< _Rep, _Period > &__rel_time) |
template<typename _Rep , typename _Period > | |
bool | std::timed_mutex::try_lock_for (const chrono::duration< _Rep, _Period > &__rtime) |
template<typename _Rep , typename _Period > | |
bool | std::recursive_timed_mutex::try_lock_for (const chrono::duration< _Rep, _Period > &__rtime) |
template<typename _Rep , typename _Period > | |
bool | std::shared_timed_mutex::try_lock_for (const chrono::duration< _Rep, _Period > &__rtime) |
bool | std::shared_timed_mutex::try_lock_shared () |
template<typename _Rep , typename _Period > | |
bool | std::shared_timed_mutex::try_lock_shared_for (const chrono::duration< _Rep, _Period > &__rtime) |
template<typename _Clock , typename _Duration > | |
bool | std::shared_timed_mutex::try_lock_shared_until (const chrono::time_point< _Clock, _Duration > &__abs_time) |
template<typename _Clock , typename _Duration > | |
bool | std::shared_timed_mutex::try_lock_until (const chrono::time_point< _Clock, _Duration > &__abs_time) |
template<typename _Clock , typename _Duration > | |
bool | std::shared_lock< _Mutex >::try_lock_until (const chrono::time_point< _Clock, _Duration > &__abs_time) |
template<typename _Clock , typename _Duration > | |
bool | std::timed_mutex::try_lock_until (const chrono::time_point< _Clock, _Duration > &__atime) |
template<typename _Clock , typename _Duration > | |
bool | std::recursive_timed_mutex::try_lock_until (const chrono::time_point< _Clock, _Duration > &__atime) |
void | std::mutex::unlock () |
void | std::recursive_mutex::unlock () |
void | std::timed_mutex::unlock () |
void | std::shared_timed_mutex::unlock () |
void | std::recursive_timed_mutex::unlock () |
void | std::shared_lock< _Mutex >::unlock () |
void | std::shared_timed_mutex::unlock_shared () |
Variables | |
thread::id | std::recursive_timed_mutex::_Can_lock::_M_caller |
__native_type | std::__mutex_base::_M_mutex |
__native_type | std::__recursive_mutex_base::_M_mutex |
const recursive_timed_mutex * | std::recursive_timed_mutex::_Can_lock::_M_mx |
constexpr adopt_lock_t | std::adopt_lock |
constexpr defer_lock_t | std::defer_lock |
constexpr try_to_lock_t | std::try_to_lock |
Friends | |
template<typename _Callable , typename... _Args> | |
void | std::once_flag::call_once (once_flag &__once, _Callable &&__f, _Args &&... __args) |
Classes for mutex support.
|
constexprdefaultnoexcept |
Constructor.
|
delete |
Deleted copy constructor.
void std::call_once | ( | once_flag & | __once, |
_Callable && | __f, | ||
_Args &&... | __args | ||
) |
Invoke a callable and synchronize with other calls using the same flag.
Definition at line 709 of file mutex.
References std::__addressof(), and std::__invoke().
void std::lock | ( | _L1 & | __l1, |
_L2 & | __l2, | ||
_L3 &... | __l3 | ||
) |
Generic lock.
__l1 | Meets Lockable requirements (try_lock() may throw). |
__l2 | Meets Lockable requirements (try_lock() may throw). |
__l3 | Meets Lockable 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 586 of file mutex.
References std::tie().
int std::try_lock | ( | _Lock1 & | __l1, |
_Lock2 & | __l2, | ||
_Lock3 &... | __l3 | ||
) |
Generic try_lock.
__l1 | Meets Lockable requirements (try_lock() may throw). |
__l2 | Meets Lockable requirements (try_lock() may throw). |
__l3 | Meets Lockable requirements (try_lock() may throw). |
Sequentially calls try_lock() on each argument.
Definition at line 565 of file mutex.
References std::tie().
|
inlineconstexpr |
Tag used to make a scoped lock take ownership of a locked mutex.
Definition at line 145 of file std_mutex.h.
|
inlineconstexpr |
Tag used to prevent a scoped lock from acquiring ownership of a mutex.
Definition at line 139 of file std_mutex.h.
|
inlineconstexpr |
Tag used to prevent a scoped lock from blocking if a mutex is locked.
Definition at line 142 of file std_mutex.h.