STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Classes | Public Member Functions | Private Types | Static Private Member Functions | Private Attributes | List of all members
Concurrency::details::_ReaderWriterLock Class Reference

#include <concrt.h>

Classes

class  _Scoped_lock
 
class  _Scoped_lock_read
 

Public Member Functions

_CONCRTIMP _ReaderWriterLock ()
 
_CONCRTIMP void _AcquireRead ()
 
_CONCRTIMP void _ReleaseRead ()
 
_CONCRTIMP void _AcquireWrite ()
 
_CONCRTIMP void _ReleaseWrite ()
 
_CONCRTIMP bool _TryAcquireWrite ()
 
bool _HasWriteLock () const
 
void _FlushWriteOwners ()
 

Private Types

enum  _State { _Write = -1, _Free = 0, _Read = 1 }
 

Static Private Member Functions

static void __cdecl _WaitEquals (volatile const long &_Location, long _Value, long _Mask=0xFFFFFFFF)
 

Private Attributes

volatile long _M_state
 
volatile long _M_numberOfWriters
 

Member Enumeration Documentation

Enumerator
_Write 
_Free 
_Read 
1017  {
1018  _Write = -1,
1019  _Free = 0,
1020  _Read = 1
1021  };

Constructor & Destructor Documentation

_CONCRTIMP Concurrency::details::_ReaderWriterLock::_ReaderWriterLock ( )

Member Function Documentation

_CONCRTIMP void Concurrency::details::_ReaderWriterLock::_AcquireRead ( )
_CONCRTIMP void Concurrency::details::_ReaderWriterLock::_AcquireWrite ( )
void Concurrency::details::_ReaderWriterLock::_FlushWriteOwners ( )
bool Concurrency::details::_ReaderWriterLock::_HasWriteLock ( ) const
inline
956  {
957  return (_M_state == _Write);
958  }
volatile long _M_state
Definition: concrt.h:1025
_CONCRTIMP void Concurrency::details::_ReaderWriterLock::_ReleaseRead ( )
_CONCRTIMP void Concurrency::details::_ReaderWriterLock::_ReleaseWrite ( )
_CONCRTIMP bool Concurrency::details::_ReaderWriterLock::_TryAcquireWrite ( )
static void __cdecl Concurrency::details::_ReaderWriterLock::_WaitEquals ( volatile const long _Location,
long  _Value,
long  _Mask = 0xFFFFFFFF 
)
staticprivate

Member Data Documentation

volatile long Concurrency::details::_ReaderWriterLock::_M_numberOfWriters
private
volatile long Concurrency::details::_ReaderWriterLock::_M_state
private

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