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

Public Types

typedef _Smtx_tnative_handle_type
 

Public Member Functions

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

Private Attributes

_Smtx_t _Myhandle
 

Member Typedef Documentation

Constructor & Destructor Documentation

shared_mutex::shared_mutex ( )
inline
37  : _Myhandle(0)
38  { // default construct
39  }
_Smtx_t _Myhandle
Definition: shared_mutex:83
shared_mutex::~shared_mutex ( )
inline
42  { // destroy the object
43  }
shared_mutex::shared_mutex ( const shared_mutex )
delete

Member Function Documentation

void shared_mutex::lock ( )
inline
46  { // lock exclusive
48  }
void __cdecl _Smtx_lock_exclusive(_Smtx_t *)
_Smtx_t _Myhandle
Definition: shared_mutex:83
void shared_mutex::lock_shared ( )
inline
61  { // lock non-exclusive
63  }
void __cdecl _Smtx_lock_shared(_Smtx_t *)
_Smtx_t _Myhandle
Definition: shared_mutex:83
native_handle_type shared_mutex::native_handle ( )
inline
76  { // get native handle
77  return (&_Myhandle);
78  }
_Smtx_t _Myhandle
Definition: shared_mutex:83
shared_mutex& shared_mutex::operator= ( const shared_mutex )
delete
bool shared_mutex::try_lock ( )
inline
51  { // try to lock exclusive
52  return (_Smtx_try_lock_exclusive(&_Myhandle) != 0);
53  }
_Smtx_t _Myhandle
Definition: shared_mutex:83
int __cdecl _Smtx_try_lock_exclusive(_Smtx_t *)
bool shared_mutex::try_lock_shared ( )
inline
66  { // try to lock non-exclusive
67  return (_Smtx_try_lock_shared(&_Myhandle) != 0);
68  }
int __cdecl _Smtx_try_lock_shared(_Smtx_t *)
_Smtx_t _Myhandle
Definition: shared_mutex:83
void shared_mutex::unlock ( )
inline
56  { // unlock exclusive
58  }
void __cdecl _Smtx_unlock_exclusive(_Smtx_t *)
_Smtx_t _Myhandle
Definition: shared_mutex:83
void shared_mutex::unlock_shared ( )
inline
71  { // unlock non-exclusive
73  }
void __cdecl _Smtx_unlock_shared(_Smtx_t *)
_Smtx_t _Myhandle
Definition: shared_mutex:83

Member Data Documentation

_Smtx_t shared_mutex::_Myhandle
private

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