|
libmoost
|
Wrapper around shared_ptr that guards the referenced object with a mutex. More...
#include <guarded_ptr.hpp>


Classes | |
| class | exclusive_access |
| Objects of this class represent an exclusive lock of the guarded_ptr's mutex. More... | |
| class | shared_access |
| Objects of this class represent a shared lock of the guarded_ptr's mutex. More... | |
| class | upgradable_access |
| Objects of this class represent an upgradable lock of the guarded_ptr's mutex. More... | |
Public Types | |
| typedef T | element_type |
| typedef T | value_type |
| typedef T * | pointer |
| typedef T const * | const_pointer |
| typedef T & | reference |
| typedef T const & | const_reference |
Public Member Functions | |
| guarded_ptr (pointer ptr) | |
Private Member Functions | |
| pointer | assert_not_null (pointer ptr) |
Private Attributes | |
| boost::scoped_ptr < element_type > const | m_ptr |
| boost::shared_mutex | m_mutex |
Wrapper around shared_ptr that guards the referenced object with a mutex.
Objects of this template class are constructed from a shared pointer. A guarded_ptr keeps a copy of the shared_ptr and allows construction of scoped shared_access, exclusive_access and upgradable_access objects that acquire the corresponding type of lock for the guarded_ptr's internal mutex and implement operator* and operator-> to reference the object the original shared_ptr refers to.
Definition at line 120 of file guarded_ptr.hpp.
| typedef T const* moost::guarded_ptr< T >::const_pointer |
Definition at line 126 of file guarded_ptr.hpp.
| typedef T const& moost::guarded_ptr< T >::const_reference |
Definition at line 128 of file guarded_ptr.hpp.
| typedef T moost::guarded_ptr< T >::element_type |
Definition at line 123 of file guarded_ptr.hpp.
| typedef T* moost::guarded_ptr< T >::pointer |
Definition at line 125 of file guarded_ptr.hpp.
| typedef T& moost::guarded_ptr< T >::reference |
Definition at line 127 of file guarded_ptr.hpp.
| typedef T moost::guarded_ptr< T >::value_type |
Definition at line 124 of file guarded_ptr.hpp.
| moost::guarded_ptr< T >::guarded_ptr | ( | pointer | ptr | ) | [inline] |
Definition at line 295 of file guarded_ptr.hpp.
| pointer moost::guarded_ptr< T >::assert_not_null | ( | pointer | ptr | ) | [inline, private] |
Definition at line 301 of file guarded_ptr.hpp.
boost::shared_mutex moost::guarded_ptr< T >::m_mutex [mutable, private] |
Definition at line 308 of file guarded_ptr.hpp.
boost::scoped_ptr<element_type> const moost::guarded_ptr< T >::m_ptr [private] |
Definition at line 307 of file guarded_ptr.hpp.