libmoost
|
Objects of this class represent an upgrade of an upgradable lock. More...
#include <guarded_ptr.hpp>
Public Member Functions | |
upgrade (upgradable_access &parent) | |
reference | operator* () |
const_reference | operator* () const |
pointer | operator-> () |
const_pointer | operator-> () const |
Private Attributes | |
upgradable_access & | m_parent |
Objects of this class represent an upgrade of an upgradable lock.
upgrade objects can only be constructed from upgradable_access objects. The lock held by the upgradable_access object is promoted to an exclusive lock upon construction of the first upgrade object. The exclusive lock is never downgraded to a shared lock again.
The upgrade object must never outlive the underlying upgradable_access object.
Definition at line 259 of file guarded_ptr.hpp.
moost::guarded_ptr< T >::upgradable_access::upgrade::upgrade | ( | upgradable_access & | parent | ) | [inline] |
Definition at line 262 of file guarded_ptr.hpp.
reference moost::guarded_ptr< T >::upgradable_access::upgrade::operator* | ( | ) | [inline] |
Definition at line 269 of file guarded_ptr.hpp.
const_reference moost::guarded_ptr< T >::upgradable_access::upgrade::operator* | ( | ) | const [inline] |
Definition at line 273 of file guarded_ptr.hpp.
pointer moost::guarded_ptr< T >::upgradable_access::upgrade::operator-> | ( | ) | [inline] |
Definition at line 277 of file guarded_ptr.hpp.
const_pointer moost::guarded_ptr< T >::upgradable_access::upgrade::operator-> | ( | ) | const [inline] |
Definition at line 281 of file guarded_ptr.hpp.
upgradable_access& moost::guarded_ptr< T >::upgradable_access::upgrade::m_parent [private] |
Definition at line 287 of file guarded_ptr.hpp.