#include <shared_mutex>
PublicTypestypedef_Mutexmutex_typePublicMemberFunctionsshared_lock (mutex_type &__m)
shared_lock (mutex_type &__m, adopt_lock_t)
template<typename _Rep , typename_Period > shared_lock (mutex_type &__m, const chrono::duration< _Rep,
_Period > &__rel_time)
template<typename_Clock , typename_Duration > shared_lock (mutex_type &__m, const chrono::time_point<
_Clock, _Duration > &__abs_time)
shared_lock (mutex_type &__m, defer_lock_t) noexcept
shared_lock (mutex_type &__m, try_to_lock_t)
shared_lock (shared_lock &&__sl) noexcept
shared_lock (shared_lock const &)=deletevoidlock ()
mutex_type * mutex () const noexcept
operatorbool () const noexcept
shared_lock & operator= (shared_lock &&__sl) noexcept
shared_lock & operator= (shared_lock const &)=delete
bool owns_lock () const noexcept
mutex_type * release () noexcept
voidswap (shared_lock &__u) noexcept
bool try_lock ()
template<typename _Rep , typename_Period > bool try_lock_for (const chrono::duration< _Rep, _Period >
&__rel_time)
template<typename_Clock , typename_Duration > bool try_lock_until (const chrono::time_point< _Clock,
_Duration > &__abs_time)
voidunlock ()