sigx++
2.0.1
|
Makes T_type lockable. More...
#include <lockable.h>
Public Types | |
typedef lockable_base< T_mutex > | parent_type |
typedef T_type | acquired_type |
typedef volatile_trait < acquired_type >::add | volatile_type |
typedef std::tr1::add_reference < typename volatile_trait < acquired_type >::remove > ::type | reference_type |
typedef std::tr1::add_reference < volatile_type >::type | volatile_reference_type |
typedef std::tr1::add_reference < typename const_trait < reference_type >::add > ::type | const_reference_type |
typedef std::tr1::add_reference < typename const_trait < volatile_type >::add >::type | cv_reference_type |
typedef std::tr1::add_reference < typename std::tr1::add_const < acquired_type >::type > ::type | toplevel_const_reference_type |
![]() | |
typedef T_mutex | mutex_type |
Public Member Functions | |
safe_lockable () | |
Default constructor. | |
safe_lockable (toplevel_const_reference_type _a_value) | |
Constructs a lockable initializing T_type with _a_value. | |
![]() | |
mutex_type & | mutex () const throw () |
Protected Member Functions | |
volatile_reference_type | access_volatile () throw () |
reference_type | access_nonvolatile () throw () |
cv_reference_type | access_volatile () const throw () |
const_reference_type | access_nonvolatile () const throw () |
![]() | |
lockable_base () | |
![]() | |
noncopyable () | |
~noncopyable () |
Friends | |
class | lock_acquirer |
Additional Inherited Members | |
![]() | |
mutex_type | m_mutex |
Makes T_type lockable.
The "safe" in safe_lockable means that access to the mutex and the locked type is denied, they are only accessible through a lock_acquirer.
The following template arguments are used:
typedef T_type sigx::safe_lockable< T_type, T_mutex >::acquired_type |
typedef std::tr1::add_reference<typename const_trait<reference_type>::add>::type sigx::safe_lockable< T_type, T_mutex >::const_reference_type |
typedef std::tr1::add_reference<typename const_trait<volatile_type>::add>::type sigx::safe_lockable< T_type, T_mutex >::cv_reference_type |
typedef lockable_base<T_mutex> sigx::safe_lockable< T_type, T_mutex >::parent_type |
typedef std::tr1::add_reference<typename volatile_trait<acquired_type>::remove>::type sigx::safe_lockable< T_type, T_mutex >::reference_type |
typedef std::tr1::add_reference<typename std::tr1::add_const<acquired_type>::type>::type sigx::safe_lockable< T_type, T_mutex >::toplevel_const_reference_type |
typedef std::tr1::add_reference<volatile_type>::type sigx::safe_lockable< T_type, T_mutex >::volatile_reference_type |
typedef volatile_trait<acquired_type>::add sigx::safe_lockable< T_type, T_mutex >::volatile_type |
|
inline |
Default constructor.
T_type is initialized with its default ctor or its default value
|
inline |
Constructs a lockable initializing T_type with _a_value.
|
inlineprotected |
Referenced by sigx::auto_dispatchable::auto_dispatchable(), and sigx::glib_threadable::~glib_threadable().
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
friend |