STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Types | Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
_Mutex_base Class Reference
Inheritance diagram for _Mutex_base:
mutex recursive_mutex

Public Types

typedef voidnative_handle_type
 

Public Member Functions

 _Mutex_base (int _Flags=0) _NOEXCEPT
 
 ~_Mutex_base () _NOEXCEPT
 
 _Mutex_base (const _Mutex_base &)=delete
 
_Mutex_baseoperator= (const _Mutex_base &)=delete
 
void lock ()
 
bool try_lock ()
 
void unlock ()
 
native_handle_type native_handle ()
 

Private Member Functions

_Mtx_t _Mymtx () _NOEXCEPT
 

Private Attributes

aligned_storage< _Mtx_internal_imp_size, _Mtx_internal_imp_alignment >::type _Mtx_storage
 

Friends

class condition_variable
 
class condition_variable_any
 

Member Typedef Documentation

Constructor & Destructor Documentation

_Mutex_base::_Mutex_base ( int  _Flags = 0)
inline
30  { // construct with _Flags
31  _Mtx_init_in_situ(_Mymtx(), _Flags | _Mtx_try);
32  }
Definition: xthreads.h:45
_Mtx_t _Mymtx() _NOEXCEPT
Definition: mutex:72
_CRTIMP2_PURE void __cdecl _Mtx_init_in_situ(_Mtx_t, int)
_Mutex_base::~_Mutex_base ( )
inline
35  { // clean up
37  }
_Mtx_t _Mymtx() _NOEXCEPT
Definition: mutex:72
_CRTIMP2_PURE void __cdecl _Mtx_destroy_in_situ(_Mtx_t)
_Mutex_base::_Mutex_base ( const _Mutex_base )
delete

Member Function Documentation

_Mtx_t _Mutex_base::_Mymtx ( )
inlineprivate
73  { // get pointer to _Mtx_internal_imp_t inside _Mtx_storage
74  return (reinterpret_cast<_Mtx_t>(&_Mtx_storage));
75  }
aligned_storage< _Mtx_internal_imp_size, _Mtx_internal_imp_alignment >::type _Mtx_storage
Definition: mutex:70
void _Mutex_base::lock ( )
inline
43  { // lock the mutex
44  _Mtx_lockX(_Mymtx());
45  }
int _Mtx_lockX(_Mtx_t _Mtx)
Definition: xthread:69
_Mtx_t _Mymtx() _NOEXCEPT
Definition: mutex:72
native_handle_type _Mutex_base::native_handle ( )
inline
61  { // return Concurrency::critical_section * as void *
62  return (_Mtx_getconcrtcs(_Mymtx()));
63  }
_CRTIMP2_PURE void *__cdecl _Mtx_getconcrtcs(_Mtx_t)
_Mtx_t _Mymtx() _NOEXCEPT
Definition: mutex:72
_Mutex_base& _Mutex_base::operator= ( const _Mutex_base )
delete
bool _Mutex_base::try_lock ( )
inline
48  { // try to lock the mutex
49  return (_Mtx_trylockX(_Mymtx()) == _Thrd_success);
50  }
Definition: xthreads.h:18
int _Mtx_trylockX(_Mtx_t _Mtx)
Definition: xthread:74
_Mtx_t _Mymtx() _NOEXCEPT
Definition: mutex:72
void _Mutex_base::unlock ( )
inline
53  { // unlock the mutex
55  }
int _Mtx_unlockX(_Mtx_t _Mtx)
Definition: xthread:84
_Mtx_t _Mymtx() _NOEXCEPT
Definition: mutex:72

Friends And Related Function Documentation

friend class condition_variable
friend
friend class condition_variable_any
friend

Member Data Documentation

aligned_storage<_Mtx_internal_imp_size, _Mtx_internal_imp_alignment>::type _Mutex_base::_Mtx_storage
private

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