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
187  : _MyMutexes(_Mtxes...)
188  { // construct and lock
189  _STD lock(_Mtxes...);
190  }
void lock(_Lock0 &_Lk0, _Lock1 &_Lk1, _LockN &..._LkN)
Definition: mutex:158
tuple< _Mutexes &...> _MyMutexes
Definition: mutex:207
template<class... _Mutexes>
lock_guard< _Mutexes >::lock_guard ( _Mutexes &...  _Mtxes,
adopt_lock_t   
)
inline
193  : _MyMutexes(_Mtxes...)
194  { // construct but don't lock
195  }
tuple< _Mutexes &...> _MyMutexes
Definition: mutex:207
template<class... _Mutexes>
lock_guard< _Mutexes >::~lock_guard ( )
inline
198  { // unlock all
200  _MyMutexes,
201  [](auto& _Mutex) _NOEXCEPT { _Mutex.unlock(); });
202  }
#define _NOEXCEPT
Definition: yvals.h:84
void _For_each_tuple_element(_Tpl &&_Tuple, _Fx _Func)
Definition: tuple:1115
tuple< _Mutexes &...> _MyMutexes
Definition: mutex:207
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: