VMC Version 2.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Private Member Functions | List of all members
TMCTemplateAutoLock< _Mutex_t > Class Template Reference

#include <TMCAutoLock.h>

Inheritance diagram for TMCTemplateAutoLock< _Mutex_t >:
Inheritance graph
[legend]

Public Types

typedef std::unique_lock< _Mutex_t > unique_lock_t
 
typedef TMCTemplateAutoLock< _Mutex_t > this_type
 
typedef unique_lock_t::mutex_type mutex_type
 

Public Member Functions

 TMCTemplateAutoLock (mutex_type &_mutex)
 
template<typename Rep , typename Period >
 TMCTemplateAutoLock (mutex_type &_mutex, const std::chrono::duration< Rep, Period > &_timeout_duration)
 
template<typename Clock , typename Duration >
 TMCTemplateAutoLock (mutex_type &_mutex, const std::chrono::time_point< Clock, Duration > &_timeout_time)
 
 TMCTemplateAutoLock (mutex_type &_mutex, std::defer_lock_t _lock) noexcept
 
 TMCTemplateAutoLock (mutex_type &_mutex, std::try_to_lock_t _lock)
 
 TMCTemplateAutoLock (mutex_type &_mutex, std::adopt_lock_t _lock)
 
 TMCTemplateAutoLock (mutex_type *_mutex)
 
 TMCTemplateAutoLock (mutex_type *_mutex, std::defer_lock_t _lock) noexcept
 
 TMCTemplateAutoLock (mutex_type *_mutex, std::try_to_lock_t _lock)
 
 TMCTemplateAutoLock (mutex_type *_mutex, std::adopt_lock_t _lock)
 

Private Member Functions

template<typename _Tp = _Mutex_t, typename std::enable_if< _is_stand_mutex(_Tp), int >::type = 0>
std::string GetTypeString ()
 
template<typename _Tp = _Mutex_t, typename std::enable_if< _is_recur_mutex(_Tp), int >::type = 0>
std::string GetTypeString ()
 
template<typename _Tp = _Mutex_t, typename std::enable_if< _is_other_mutex(_Tp), int >::type = 0>
std::string GetTypeString ()
 
template<typename _Tp >
void suppress_unused_variable (const _Tp &)
 
void _lock_deferred ()
 
template<typename Rep , typename Period >
void _lock_deferred (const std::chrono::duration< Rep, Period > &_timeout_duration)
 
template<typename Clock , typename Duration >
void _lock_deferred (const std::chrono::time_point< Clock, Duration > &_timeout_time)
 
void PrintLockErrorMessage (std::system_error &e)
 

Detailed Description

template<typename _Mutex_t>
class TMCTemplateAutoLock< _Mutex_t >

Definition at line 344 of file TMCAutoLock.h.

Member Typedef Documentation

◆ unique_lock_t

template<typename _Mutex_t >
typedef std::unique_lock<_Mutex_t> TMCTemplateAutoLock< _Mutex_t >::unique_lock_t

Definition at line 350 of file TMCAutoLock.h.

◆ this_type

template<typename _Mutex_t >
typedef TMCTemplateAutoLock<_Mutex_t> TMCTemplateAutoLock< _Mutex_t >::this_type

Definition at line 351 of file TMCAutoLock.h.

◆ mutex_type

template<typename _Mutex_t >
typedef unique_lock_t::mutex_type TMCTemplateAutoLock< _Mutex_t >::mutex_type

Definition at line 352 of file TMCAutoLock.h.

Constructor & Destructor Documentation

◆ TMCTemplateAutoLock() [1/10]

template<typename _Mutex_t >
TMCTemplateAutoLock< _Mutex_t >::TMCTemplateAutoLock ( mutex_type _mutex)
inline

Definition at line 363 of file TMCAutoLock.h.

◆ TMCTemplateAutoLock() [2/10]

template<typename _Mutex_t >
template<typename Rep , typename Period >
TMCTemplateAutoLock< _Mutex_t >::TMCTemplateAutoLock ( mutex_type _mutex,
const std::chrono::duration< Rep, Period > &  _timeout_duration 
)
inline

Definition at line 375 of file TMCAutoLock.h.

◆ TMCTemplateAutoLock() [3/10]

template<typename _Mutex_t >
template<typename Clock , typename Duration >
TMCTemplateAutoLock< _Mutex_t >::TMCTemplateAutoLock ( mutex_type _mutex,
const std::chrono::time_point< Clock, Duration > &  _timeout_time 
)
inline

Definition at line 389 of file TMCAutoLock.h.

◆ TMCTemplateAutoLock() [4/10]

template<typename _Mutex_t >
TMCTemplateAutoLock< _Mutex_t >::TMCTemplateAutoLock ( mutex_type _mutex,
std::defer_lock_t  _lock 
)
inlinenoexcept

Definition at line 399 of file TMCAutoLock.h.

◆ TMCTemplateAutoLock() [5/10]

template<typename _Mutex_t >
TMCTemplateAutoLock< _Mutex_t >::TMCTemplateAutoLock ( mutex_type _mutex,
std::try_to_lock_t  _lock 
)
inline

Definition at line 408 of file TMCAutoLock.h.

◆ TMCTemplateAutoLock() [6/10]

template<typename _Mutex_t >
TMCTemplateAutoLock< _Mutex_t >::TMCTemplateAutoLock ( mutex_type _mutex,
std::adopt_lock_t  _lock 
)
inline

Definition at line 413 of file TMCAutoLock.h.

◆ TMCTemplateAutoLock() [7/10]

template<typename _Mutex_t >
TMCTemplateAutoLock< _Mutex_t >::TMCTemplateAutoLock ( mutex_type _mutex)
inline

Definition at line 435 of file TMCAutoLock.h.

◆ TMCTemplateAutoLock() [8/10]

template<typename _Mutex_t >
TMCTemplateAutoLock< _Mutex_t >::TMCTemplateAutoLock ( mutex_type _mutex,
std::defer_lock_t  _lock 
)
inlinenoexcept

Definition at line 442 of file TMCAutoLock.h.

◆ TMCTemplateAutoLock() [9/10]

template<typename _Mutex_t >
TMCTemplateAutoLock< _Mutex_t >::TMCTemplateAutoLock ( mutex_type _mutex,
std::try_to_lock_t  _lock 
)
inline

Definition at line 448 of file TMCAutoLock.h.

◆ TMCTemplateAutoLock() [10/10]

template<typename _Mutex_t >
TMCTemplateAutoLock< _Mutex_t >::TMCTemplateAutoLock ( mutex_type _mutex,
std::adopt_lock_t  _lock 
)
inline

Definition at line 452 of file TMCAutoLock.h.

Member Function Documentation

◆ GetTypeString() [1/3]

template<typename _Mutex_t >
template<typename _Tp = _Mutex_t, typename std::enable_if< _is_stand_mutex(_Tp), int >::type = 0>
std::string TMCTemplateAutoLock< _Mutex_t >::GetTypeString ( )
inlineprivate

Definition at line 516 of file TMCAutoLock.h.

◆ GetTypeString() [2/3]

template<typename _Mutex_t >
template<typename _Tp = _Mutex_t, typename std::enable_if< _is_recur_mutex(_Tp), int >::type = 0>
std::string TMCTemplateAutoLock< _Mutex_t >::GetTypeString ( )
inlineprivate

Definition at line 523 of file TMCAutoLock.h.

◆ GetTypeString() [3/3]

template<typename _Mutex_t >
template<typename _Tp = _Mutex_t, typename std::enable_if< _is_other_mutex(_Tp), int >::type = 0>
std::string TMCTemplateAutoLock< _Mutex_t >::GetTypeString ( )
inlineprivate

Definition at line 530 of file TMCAutoLock.h.

◆ suppress_unused_variable()

template<typename _Mutex_t >
template<typename _Tp >
void TMCTemplateAutoLock< _Mutex_t >::suppress_unused_variable ( const _Tp &  )
inlineprivate

Definition at line 542 of file TMCAutoLock.h.

Referenced by TMCTemplateAutoLock< _Mutex_t >::_lock_deferred().

◆ _lock_deferred() [1/3]

template<typename _Mutex_t >
void TMCTemplateAutoLock< _Mutex_t >::_lock_deferred ( )
inlineprivate

Definition at line 565 of file TMCAutoLock.h.

Referenced by TMCTemplateAutoLock< _Mutex_t >::TMCTemplateAutoLock().

◆ _lock_deferred() [2/3]

template<typename _Mutex_t >
template<typename Rep , typename Period >
void TMCTemplateAutoLock< _Mutex_t >::_lock_deferred ( const std::chrono::duration< Rep, Period > &  _timeout_duration)
inlineprivate

Definition at line 584 of file TMCAutoLock.h.

◆ _lock_deferred() [3/3]

template<typename _Mutex_t >
template<typename Clock , typename Duration >
void TMCTemplateAutoLock< _Mutex_t >::_lock_deferred ( const std::chrono::time_point< Clock, Duration > &  _timeout_time)
inlineprivate

Definition at line 606 of file TMCAutoLock.h.

◆ PrintLockErrorMessage()

template<typename _Mutex_t >
void TMCTemplateAutoLock< _Mutex_t >::PrintLockErrorMessage ( std::system_error &  e)
inlineprivate

Definition at line 625 of file TMCAutoLock.h.

Referenced by TMCTemplateAutoLock< _Mutex_t >::_lock_deferred().


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