CellModules
mingw_stdthread::shared_timed_mutex Class Reference

#include <mingw.shared_mutex.h>

Inheritance diagram for mingw_stdthread::shared_timed_mutex:
mingw_stdthread::portable::shared_mutex

Public Member Functions

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)
 
template<class Clock , class Duration >
bool try_lock_shared_until (const std::chrono::time_point< Clock, Duration > &cutoff)
 
template<class Rep , class Period >
bool try_lock_shared_for (const std::chrono::duration< Rep, Period > &rel_time)
 
void lock (void)
 
bool try_lock (void)
 
void unlock (void)
 
void lock_shared (void)
 
bool try_lock_shared (void)
 
void unlock_shared (void)
 

Protected Types

typedef shared_mutexnative_handle_type
 

Protected Member Functions

native_handle_type native_handle (void)
 

Private Types

typedef shared_mutex Base
 
typedef uint_fast16_t counter_type
 

Private Attributes

std::atomic< counter_typemCounter
 

Static Private Attributes

static constexpr counter_type kWriteBit = 1 << (sizeof(counter_type) * CHAR_BIT - 1)
 

Detailed Description

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

Member Typedef Documentation

◆ Base

◆ counter_type

typedef uint_fast16_t mingw_stdthread::portable::shared_mutex::counter_type
privateinherited

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

◆ native_handle_type

Member Function Documentation

◆ lock()

void mingw_stdthread::portable::shared_mutex::lock ( void  )
inline

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

◆ lock_shared()

void mingw_stdthread::portable::shared_mutex::lock_shared ( void  )
inline

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

◆ native_handle()

native_handle_type mingw_stdthread::portable::shared_mutex::native_handle ( void  )
inlineinherited

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

◆ try_lock()

bool mingw_stdthread::portable::shared_mutex::try_lock ( void  )
inline

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

◆ try_lock_for()

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

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

◆ try_lock_shared()

bool mingw_stdthread::portable::shared_mutex::try_lock_shared ( void  )
inline

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

◆ try_lock_shared_for()

template<class Rep , class Period >
bool mingw_stdthread::shared_timed_mutex::try_lock_shared_for ( const std::chrono::duration< Rep, Period > &  rel_time)
inline

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

◆ try_lock_shared_until()

template<class Clock , class Duration >
bool mingw_stdthread::shared_timed_mutex::try_lock_shared_until ( const std::chrono::time_point< Clock, Duration > &  cutoff)
inline

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

◆ try_lock_until()

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

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

◆ unlock()

void mingw_stdthread::portable::shared_mutex::unlock ( void  )
inline

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

◆ unlock_shared()

void mingw_stdthread::portable::shared_mutex::unlock_shared ( void  )
inline

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

Member Data Documentation

◆ kWriteBit

constexpr counter_type mingw_stdthread::portable::shared_mutex::kWriteBit = 1 << (sizeof(counter_type) * CHAR_BIT - 1)
staticconstexprprivateinherited

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

◆ mCounter

std::atomic<counter_type> mingw_stdthread::portable::shared_mutex::mCounter
privateinherited

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


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