STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Private Attributes | List of all members
lock_guard< _Mutexes > Class Template Reference

Public Member Functions

 lock_guard (_Mutexes &..._Mtxes)
 
 lock_guard (_Mutexes &..._Mtxes, adopt_lock_t)
 
 ~lock_guard () _NOEXCEPT
 
 lock_guard (const lock_guard &)=delete
 
lock_guardoperator= (const lock_guard &)=delete
 

Private Attributes

tuple< _Mutexes &...> _MyMutexes
 

Constructor & Destructor Documentation

template<class... _Mutexes>
lock_guard< _Mutexes >::lock_guard ( _Mutexes &...  _Mtxes)
inlineexplicit
186  : _MyMutexes(_Mtxes...)
187  { // construct and lock
188  _STD lock(_Mtxes...);
189  }
void lock(_Lock0 &_Lk0, _Lock1 &_Lk1, _LockN &..._LkN)
Definition: mutex:157
tuple< _Mutexes &...> _MyMutexes
Definition: mutex:206
template<class... _Mutexes>
lock_guard< _Mutexes >::lock_guard ( _Mutexes &...  _Mtxes,
adopt_lock_t   
)
inline
192  : _MyMutexes(_Mtxes...)
193  { // construct but don't lock
194  }
tuple< _Mutexes &...> _MyMutexes
Definition: mutex:206
template<class... _Mutexes>
lock_guard< _Mutexes >::~lock_guard ( )
inline
197  { // unlock all
199  _MyMutexes,
200  [](auto& _Mutex) _NOEXCEPT { _Mutex.unlock(); });
201  }
#define _NOEXCEPT
Definition: yvals.h:25
void _For_each_tuple_element(_Tpl &&_Tuple, _Fx _Func)
Definition: tuple:1156
tuple< _Mutexes &...> _MyMutexes
Definition: mutex:206
template<class... _Mutexes>
lock_guard< _Mutexes >::lock_guard ( const lock_guard< _Mutexes > &  )
delete

Member Function Documentation

template<class... _Mutexes>
lock_guard& lock_guard< _Mutexes >::operator= ( const lock_guard< _Mutexes > &  )
delete

Member Data Documentation

template<class... _Mutexes>
tuple<_Mutexes&...> lock_guard< _Mutexes >::_MyMutexes
private

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