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 733 of file shared_mutex.

Member Typedef Documentation

◆ mutex_type

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

Definition at line 736 of file shared_mutex.

Constructor & Destructor Documentation

◆ shared_lock() [1/8]

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

Definition at line 740 of file shared_mutex.

◆ shared_lock() [2/8]

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

Definition at line 743 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 747 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 750 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 753 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 757 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 763 of file shared_mutex.

◆ ~shared_lock()

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

Definition at line 768 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 777 of file shared_mutex.

Member Function Documentation

◆ lock()

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

Definition at line 790 of file shared_mutex.

◆ mutex()

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

Definition at line 856 of file shared_mutex.

◆ operator bool()

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

Definition at line 853 of file shared_mutex.

◆ operator=()

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

Definition at line 781 of file shared_mutex.

◆ owns_lock()

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

Definition at line 851 of file shared_mutex.

◆ release()

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

Definition at line 842 of file shared_mutex.

◆ swap()

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

Definition at line 835 of file shared_mutex.

◆ try_lock()

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

Definition at line 799 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)
inlinenodiscard

Definition at line 808 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)
inlinenodiscard

Definition at line 817 of file shared_mutex.

◆ unlock()

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

Definition at line 824 of file shared_mutex.


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