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
38  : _Myhandle(0)
39  { // default construct
40  }
_Smtx_t _Myhandle
Definition: shared_mutex:84
shared_mutex::~shared_mutex ( )
inline
43  { // destroy the object
44  }
shared_mutex::shared_mutex ( const shared_mutex )
delete

Member Function Documentation

void shared_mutex::lock ( )
inline
47  { // lock exclusive
49  }
void __cdecl _Smtx_lock_exclusive(_Smtx_t *)
_Smtx_t _Myhandle
Definition: shared_mutex:84
void shared_mutex::lock_shared ( )
inline
62  { // lock non-exclusive
64  }
void __cdecl _Smtx_lock_shared(_Smtx_t *)
_Smtx_t _Myhandle
Definition: shared_mutex:84
native_handle_type shared_mutex::native_handle ( )
inline
77  { // get native handle
78  return (&_Myhandle);
79  }
_Smtx_t _Myhandle
Definition: shared_mutex:84
shared_mutex& shared_mutex::operator= ( const shared_mutex )
delete
bool shared_mutex::try_lock ( )
inline
52  { // try to lock exclusive
53  return (_Smtx_try_lock_exclusive(&_Myhandle) != 0);
54  }
_Smtx_t _Myhandle
Definition: shared_mutex:84
int __cdecl _Smtx_try_lock_exclusive(_Smtx_t *)
bool shared_mutex::try_lock_shared ( )
inline
67  { // try to lock non-exclusive
68  return (_Smtx_try_lock_shared(&_Myhandle) != 0);
69  }
int __cdecl _Smtx_try_lock_shared(_Smtx_t *)
_Smtx_t _Myhandle
Definition: shared_mutex:84
void shared_mutex::unlock ( )
inline
57  { // unlock exclusive
59  }
void __cdecl _Smtx_unlock_exclusive(_Smtx_t *)
_Smtx_t _Myhandle
Definition: shared_mutex:84
void shared_mutex::unlock_shared ( )
inline
72  { // unlock non-exclusive
74  }
void __cdecl _Smtx_unlock_shared(_Smtx_t *)
_Smtx_t _Myhandle
Definition: shared_mutex:84

Member Data Documentation

_Smtx_t shared_mutex::_Myhandle
private

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