libstdc++
std::shared_lock< _Mutex > Class Template Reference

#include <shared_mutex>

Public Types

typedef _Mutex mutex_type
 

Public Member Functions

 shared_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 &)=delete
 
void lock ()
 
mutex_type * mutex () const noexcept
 
 operator bool () const noexcept
 
shared_lockoperator= (shared_lock &&__sl) noexcept
 
shared_lockoperator= (shared_lock const &)=delete
 
bool owns_lock () const noexcept
 
mutex_type * release () noexcept
 
void swap (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)
 
void unlock ()
 

Detailed Description

template<typename _Mutex>
class std::shared_lock< _Mutex >

shared_lock

Definition at line 731 of file shared_mutex.

Member Typedef Documentation

◆ mutex_type

template<typename _Mutex >
typedef _Mutex std::shared_lock< _Mutex >::mutex_type

Definition at line 734 of file shared_mutex.

Constructor & Destructor Documentation

◆ shared_lock() [1/8]

template<typename _Mutex >
std::shared_lock< _Mutex >::shared_lock ( )
inlinenoexcept

Definition at line 738 of file shared_mutex.

◆ shared_lock() [2/8]

template<typename _Mutex >
std::shared_lock< _Mutex >::shared_lock ( mutex_type &  __m)
inlineexplicit

Definition at line 741 of file shared_mutex.

◆ shared_lock() [3/8]

template<typename _Mutex >
std::shared_lock< _Mutex >::shared_lock ( mutex_type &  __m,
defer_lock_t   
)
inlinenoexcept

Definition at line 745 of file shared_mutex.

◆ shared_lock() [4/8]

template<typename _Mutex >
std::shared_lock< _Mutex >::shared_lock ( mutex_type &  __m,
try_to_lock_t   
)
inline

Definition at line 748 of file shared_mutex.

◆ shared_lock() [5/8]

template<typename _Mutex >
std::shared_lock< _Mutex >::shared_lock ( mutex_type &  __m,
adopt_lock_t   
)
inline

Definition at line 751 of file shared_mutex.

◆ shared_lock() [6/8]

template<typename _Mutex >
template<typename _Clock , typename _Duration >
std::shared_lock< _Mutex >::shared_lock ( mutex_type &  __m,
const chrono::time_point< _Clock, _Duration > &  __abs_time 
)
inline

Definition at line 755 of file shared_mutex.

◆ shared_lock() [7/8]

template<typename _Mutex >
template<typename _Rep , typename _Period >
std::shared_lock< _Mutex >::shared_lock ( mutex_type &  __m,
const chrono::duration< _Rep, _Period > &  __rel_time 
)
inline

Definition at line 761 of file shared_mutex.

◆ ~shared_lock()

template<typename _Mutex >
std::shared_lock< _Mutex >::~shared_lock ( )
inline

Definition at line 766 of file shared_mutex.

◆ shared_lock() [8/8]

template<typename _Mutex >
std::shared_lock< _Mutex >::shared_lock ( shared_lock< _Mutex > &&  __sl)
inlinenoexcept

Definition at line 775 of file shared_mutex.

Member Function Documentation

◆ lock()

template<typename _Mutex >
void std::shared_lock< _Mutex >::lock ( )
inline

Definition at line 786 of file shared_mutex.

◆ mutex()

template<typename _Mutex >
mutex_type * std::shared_lock< _Mutex >::mutex ( ) const
inlinenoexcept

Definition at line 852 of file shared_mutex.

◆ operator bool()

template<typename _Mutex >
std::shared_lock< _Mutex >::operator bool ( ) const
inlineexplicitnoexcept

Definition at line 849 of file shared_mutex.

◆ operator=()

template<typename _Mutex >
shared_lock & std::shared_lock< _Mutex >::operator= ( shared_lock< _Mutex > &&  __sl)
inlinenoexcept

Definition at line 779 of file shared_mutex.

◆ owns_lock()

template<typename _Mutex >
bool std::shared_lock< _Mutex >::owns_lock ( ) const
inlinenoexcept

Definition at line 847 of file shared_mutex.

◆ release()

template<typename _Mutex >
mutex_type * std::shared_lock< _Mutex >::release ( )
inlinenoexcept

Definition at line 838 of file shared_mutex.

◆ swap()

template<typename _Mutex >
void std::shared_lock< _Mutex >::swap ( shared_lock< _Mutex > &  __u)
inlinenoexcept

Definition at line 831 of file shared_mutex.

◆ try_lock()

template<typename _Mutex >
bool std::shared_lock< _Mutex >::try_lock ( )
inline

Definition at line 795 of file shared_mutex.

◆ try_lock_for()

template<typename _Mutex >
template<typename _Rep , typename _Period >
bool std::shared_lock< _Mutex >::try_lock_for ( const chrono::duration< _Rep, _Period > &  __rel_time)
inline

Definition at line 804 of file shared_mutex.

◆ try_lock_until()

template<typename _Mutex >
template<typename _Clock , typename _Duration >
bool std::shared_lock< _Mutex >::try_lock_until ( const chrono::time_point< _Clock, _Duration > &  __abs_time)
inline

Definition at line 813 of file shared_mutex.

◆ unlock()

template<typename _Mutex >
void std::shared_lock< _Mutex >::unlock ( )
inline

Definition at line 820 of file shared_mutex.


The documentation for this class was generated from the following file: