CellModules
mingw_stdthread::portable::shared_mutex Class Reference

#include <mingw.shared_mutex.h>

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

Public Types

typedef shared_mutexnative_handle_type
 

Public Member Functions

 shared_mutex ()
 
 shared_mutex (const shared_mutex &)=delete
 
shared_mutexoperator= (const shared_mutex &)=delete
 
 ~shared_mutex ()
 
void lock_shared (void)
 
bool try_lock_shared (void)
 
void unlock_shared (void)
 
void lock (void)
 
bool try_lock (void)
 
void unlock (void)
 
native_handle_type native_handle (void)
 

Private Types

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 67 of file mingw.shared_mutex.h.

Member Typedef Documentation

◆ counter_type

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

◆ native_handle_type

Constructor & Destructor Documentation

◆ shared_mutex() [1/2]

mingw_stdthread::portable::shared_mutex::shared_mutex ( )
inline

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

◆ shared_mutex() [2/2]

mingw_stdthread::portable::shared_mutex::shared_mutex ( const shared_mutex )
delete

◆ ~shared_mutex()

mingw_stdthread::portable::shared_mutex::~shared_mutex ( )
inline

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

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  )
inline

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

◆ operator=()

shared_mutex & mingw_stdthread::portable::shared_mutex::operator= ( const shared_mutex )
delete

◆ try_lock()

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

Definition at line 152 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.

◆ 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)
staticconstexprprivate

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

◆ mCounter

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

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


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