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

_CRTIMP _ReaderWriterLock ()
 
_CRTIMP void _AcquireRead ()
 
_CRTIMP void _ReleaseRead ()
 
_CRTIMP void _AcquireWrite ()
 
_CRTIMP void _ReleaseWrite ()
 
_CRTIMP 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 
1040  {
1041  _Write = -1,
1042  _Free = 0,
1043  _Read = 1
1044  };

Constructor & Destructor Documentation

_CRTIMP Concurrency::details::_ReaderWriterLock::_ReaderWriterLock ( )

Member Function Documentation

_CRTIMP void Concurrency::details::_ReaderWriterLock::_AcquireRead ( )
_CRTIMP void Concurrency::details::_ReaderWriterLock::_AcquireWrite ( )
void Concurrency::details::_ReaderWriterLock::_FlushWriteOwners ( )
bool Concurrency::details::_ReaderWriterLock::_HasWriteLock ( ) const
inline
979  {
980  return (_M_state == _Write);
981  }
volatile long _M_state
Definition: concrt.h:1048
_CRTIMP void Concurrency::details::_ReaderWriterLock::_ReleaseRead ( )
_CRTIMP void Concurrency::details::_ReaderWriterLock::_ReleaseWrite ( )
_CRTIMP 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: