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
29  { // construct with _Flags
30  _Mtx_init_in_situ(_Mymtx(), _Flags | _Mtx_try);
31  }
_Mtx_t _Mymtx() _NOEXCEPT
Definition: mutex:71
Definition: xthreads.h:44
_CRTIMP2_PURE void __cdecl _Mtx_init_in_situ(_Mtx_t, int)
_Mutex_base::~_Mutex_base ( )
inline
34  { // clean up
36  }
_Mtx_t _Mymtx() _NOEXCEPT
Definition: mutex:71
_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
72  { // get pointer to _Mtx_internal_imp_t inside _Mtx_storage
73  return (reinterpret_cast<_Mtx_t>(&_Mtx_storage));
74  }
aligned_storage< _Mtx_internal_imp_size, _Mtx_internal_imp_alignment >::type _Mtx_storage
Definition: mutex:69
void _Mutex_base::lock ( )
inline
42  { // lock the mutex
43  _Mtx_lockX(_Mymtx());
44  }
int _Mtx_lockX(_Mtx_t _Mtx)
Definition: xthread:68
_Mtx_t _Mymtx() _NOEXCEPT
Definition: mutex:71
native_handle_type _Mutex_base::native_handle ( )
inline
60  { // return Concurrency::critical_section * as void *
61  return (_Mtx_getconcrtcs(_Mymtx()));
62  }
_CRTIMP2_PURE void *__cdecl _Mtx_getconcrtcs(_Mtx_t)
_Mtx_t _Mymtx() _NOEXCEPT
Definition: mutex:71
_Mutex_base& _Mutex_base::operator= ( const _Mutex_base )
delete
bool _Mutex_base::try_lock ( )
inline
47  { // try to lock the mutex
48  return (_Mtx_trylockX(_Mymtx()) == _Thrd_success);
49  }
int _Mtx_trylockX(_Mtx_t _Mtx)
Definition: xthread:73
_Mtx_t _Mymtx() _NOEXCEPT
Definition: mutex:71
Definition: xthreads.h:17
void _Mutex_base::unlock ( )
inline
52  { // unlock the mutex
54  }
int _Mtx_unlockX(_Mtx_t _Mtx)
Definition: xthread:83
_Mtx_t _Mymtx() _NOEXCEPT
Definition: mutex:71

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: