CellModules
mingw_stdthread::shared_lock< Mutex > Class Template Reference

#include <mingw.shared_mutex.h>

Public Types

typedef Mutex mutex_type
 

Public Member Functions

 shared_lock (void) noexcept
 
 shared_lock (shared_lock< Mutex > &&other) noexcept
 
 shared_lock (mutex_type &m)
 
 shared_lock (mutex_type &m, defer_lock_t) noexcept
 
 shared_lock (mutex_type &m, adopt_lock_t)
 
 shared_lock (mutex_type &m, try_to_lock_t)
 
template<class Rep , class Period >
 shared_lock (mutex_type &m, const std::chrono::duration< Rep, Period > &timeout_duration)
 
template<class Clock , class Duration >
 shared_lock (mutex_type &m, const std::chrono::time_point< Clock, Duration > &timeout_time)
 
shared_lockoperator= (shared_lock< Mutex > &&other) noexcept
 
 ~shared_lock (void)
 
 shared_lock (const shared_lock< Mutex > &)=delete
 
shared_lockoperator= (const shared_lock< Mutex > &)=delete
 
void lock (void)
 
bool try_lock (void)
 
template<class Clock , class Duration >
bool try_lock_until (const std::chrono::time_point< Clock, Duration > &cutoff)
 
template<class Rep , class Period >
bool try_lock_for (const std::chrono::duration< Rep, Period > &rel_time)
 
void unlock (void)
 
void swap (shared_lock< Mutex > &other) noexcept
 
mutex_typerelease (void) noexcept
 
mutex_typemutex (void) const noexcept
 
bool owns_lock (void) const noexcept
 
 operator bool () const noexcept
 

Private Member Functions

void verify_lockable (void)
 

Private Attributes

Mutex * mMutex
 
bool mOwns
 

Detailed Description

template<class Mutex>
class mingw_stdthread::shared_lock< Mutex >

Definition at line 305 of file mingw.shared_mutex.h.

Member Typedef Documentation

◆ mutex_type

template<class Mutex >
typedef Mutex mingw_stdthread::shared_lock< Mutex >::mutex_type

Definition at line 319 of file mingw.shared_mutex.h.

Constructor & Destructor Documentation

◆ shared_lock() [1/9]

template<class Mutex >
mingw_stdthread::shared_lock< Mutex >::shared_lock ( void  )
inlinenoexcept

Definition at line 321 of file mingw.shared_mutex.h.

◆ shared_lock() [2/9]

template<class Mutex >
mingw_stdthread::shared_lock< Mutex >::shared_lock ( shared_lock< Mutex > &&  other)
inlinenoexcept

Definition at line 326 of file mingw.shared_mutex.h.

◆ shared_lock() [3/9]

template<class Mutex >
mingw_stdthread::shared_lock< Mutex >::shared_lock ( mutex_type m)
inlineexplicit

Definition at line 333 of file mingw.shared_mutex.h.

◆ shared_lock() [4/9]

template<class Mutex >
mingw_stdthread::shared_lock< Mutex >::shared_lock ( mutex_type m,
defer_lock_t   
)
inlinenoexcept

Definition at line 339 of file mingw.shared_mutex.h.

◆ shared_lock() [5/9]

template<class Mutex >
mingw_stdthread::shared_lock< Mutex >::shared_lock ( mutex_type m,
adopt_lock_t   
)
inline

Definition at line 344 of file mingw.shared_mutex.h.

◆ shared_lock() [6/9]

template<class Mutex >
mingw_stdthread::shared_lock< Mutex >::shared_lock ( mutex_type m,
try_to_lock_t   
)
inline

Definition at line 349 of file mingw.shared_mutex.h.

◆ shared_lock() [7/9]

template<class Mutex >
template<class Rep , class Period >
mingw_stdthread::shared_lock< Mutex >::shared_lock ( mutex_type m,
const std::chrono::duration< Rep, Period > &  timeout_duration 
)
inline

Definition at line 355 of file mingw.shared_mutex.h.

◆ shared_lock() [8/9]

template<class Mutex >
template<class Clock , class Duration >
mingw_stdthread::shared_lock< Mutex >::shared_lock ( mutex_type m,
const std::chrono::time_point< Clock, Duration > &  timeout_time 
)
inline

Definition at line 361 of file mingw.shared_mutex.h.

◆ ~shared_lock()

template<class Mutex >
mingw_stdthread::shared_lock< Mutex >::~shared_lock ( void  )
inline

Definition at line 381 of file mingw.shared_mutex.h.

◆ shared_lock() [9/9]

template<class Mutex >
mingw_stdthread::shared_lock< Mutex >::shared_lock ( const shared_lock< Mutex > &  )
delete

Member Function Documentation

◆ lock()

template<class Mutex >
void mingw_stdthread::shared_lock< Mutex >::lock ( void  )
inline

Definition at line 391 of file mingw.shared_mutex.h.

◆ mutex()

template<class Mutex >
mutex_type * mingw_stdthread::shared_lock< Mutex >::mutex ( void  ) const
inlinenoexcept

Definition at line 450 of file mingw.shared_mutex.h.

◆ operator bool()

template<class Mutex >
mingw_stdthread::shared_lock< Mutex >::operator bool ( ) const
inlineexplicitnoexcept

Definition at line 460 of file mingw.shared_mutex.h.

◆ operator=() [1/2]

template<class Mutex >
shared_lock & mingw_stdthread::shared_lock< Mutex >::operator= ( const shared_lock< Mutex > &  )
delete

◆ operator=() [2/2]

template<class Mutex >
shared_lock & mingw_stdthread::shared_lock< Mutex >::operator= ( shared_lock< Mutex > &&  other)
inlinenoexcept

Definition at line 366 of file mingw.shared_mutex.h.

◆ owns_lock()

template<class Mutex >
bool mingw_stdthread::shared_lock< Mutex >::owns_lock ( void  ) const
inlinenoexcept

Definition at line 455 of file mingw.shared_mutex.h.

◆ release()

template<class Mutex >
mutex_type * mingw_stdthread::shared_lock< Mutex >::release ( void  )
inlinenoexcept

Definition at line 442 of file mingw.shared_mutex.h.

◆ swap()

template<class Mutex >
void mingw_stdthread::shared_lock< Mutex >::swap ( shared_lock< Mutex > &  other)
inlinenoexcept

Definition at line 435 of file mingw.shared_mutex.h.

◆ try_lock()

template<class Mutex >
bool mingw_stdthread::shared_lock< Mutex >::try_lock ( void  )
inline

Definition at line 398 of file mingw.shared_mutex.h.

◆ try_lock_for()

template<class Mutex >
template<class Rep , class Period >
bool mingw_stdthread::shared_lock< Mutex >::try_lock_for ( const std::chrono::duration< Rep, Period > &  rel_time)
inline

Definition at line 420 of file mingw.shared_mutex.h.

◆ try_lock_until()

template<class Mutex >
template<class Clock , class Duration >
bool mingw_stdthread::shared_lock< Mutex >::try_lock_until ( const std::chrono::time_point< Clock, Duration > &  cutoff)
inline

Definition at line 406 of file mingw.shared_mutex.h.

◆ unlock()

template<class Mutex >
void mingw_stdthread::shared_lock< Mutex >::unlock ( void  )
inline

Definition at line 425 of file mingw.shared_mutex.h.

◆ verify_lockable()

template<class Mutex >
void mingw_stdthread::shared_lock< Mutex >::verify_lockable ( void  )
inlineprivate

Definition at line 310 of file mingw.shared_mutex.h.

Member Data Documentation

◆ mMutex

template<class Mutex >
Mutex* mingw_stdthread::shared_lock< Mutex >::mMutex
private

Definition at line 307 of file mingw.shared_mutex.h.

◆ mOwns

template<class Mutex >
bool mingw_stdthread::shared_lock< Mutex >::mOwns
private

Definition at line 308 of file mingw.shared_mutex.h.


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