An ACE_Refcounted_Auto_Ptr_Rep object encapsulates a pointer to an object of type X. It uses a lock object of type ACE_LOCK to protect access to the reference count. More...
#include <Refcounted_Auto_Ptr.h>
Private Member Functions | |
X * | get (void) const |
Get the pointer value. | |
long | count (void) const |
Get the reference count value. | |
ACE_Refcounted_Auto_Ptr_Rep (X *p=0) | |
~ACE_Refcounted_Auto_Ptr_Rep (void) | |
Static Private Member Functions | |
static ACE_Refcounted_Auto_Ptr_Rep< X, ACE_LOCK > * | internal_create (X *p) |
static ACE_Refcounted_Auto_Ptr_Rep< X, ACE_LOCK > * | create (X *p) |
static ACE_Refcounted_Auto_Ptr_Rep< X, ACE_LOCK > * | attach (ACE_Refcounted_Auto_Ptr_Rep< X, ACE_LOCK > *&rep) |
static void | detach (ACE_Refcounted_Auto_Ptr_Rep< X, ACE_LOCK > *&rep) |
Private Attributes | |
ACE_ALLOC_HOOK_DECLARE | |
Declare the dynamic allocation hooks. | |
ACE_Auto_Basic_Ptr< X > | ptr_ |
Pointer to the result. | |
ACE_Atomic_Op< ACE_LOCK, long > | ref_count_ |
Reference count. | |
Friends | |
class | ACE_Refcounted_Auto_Ptr< X, ACE_LOCK > |
An ACE_Refcounted_Auto_Ptr_Rep object encapsulates a pointer to an object of type X. It uses a lock object of type ACE_LOCK to protect access to the reference count.
ACE_Refcounted_Auto_Ptr_Rep is used internally by the ACE_Refcounted_Auto_Ptr class and is only accessible through it.
ACE_Refcounted_Auto_Ptr_Rep< X, ACE_LOCK >::ACE_Refcounted_Auto_Ptr_Rep | ( | X * | p = 0 ) |
[inline, private] |
ACE_Refcounted_Auto_Ptr_Rep< X, ACE_LOCK >::~ACE_Refcounted_Auto_Ptr_Rep | ( | void | ) | [inline, private] |
ACE_Refcounted_Auto_Ptr_Rep< X, ACE_LOCK > * ACE_Refcounted_Auto_Ptr_Rep< X, ACE_LOCK >::attach | ( | ACE_Refcounted_Auto_Ptr_Rep< X, ACE_LOCK > *& | rep ) | [inline, static, private] |
Increase the reference count on rep.
@a | rep if success, 0 if there's an error obtaining the lock on rep. |
long ACE_Refcounted_Auto_Ptr_Rep< X, ACE_LOCK >::count | ( | void | ) | const [inline, private] |
Get the reference count value.
ACE_Refcounted_Auto_Ptr_Rep< X, ACE_LOCK > * ACE_Refcounted_Auto_Ptr_Rep< X, ACE_LOCK >::create | ( | X * | p ) | [inline, static, private] |
Create a ACE_Refcounted_Auto_Ptr_Rep<X, ACE_LOCK> and initialize the reference count.
void ACE_Refcounted_Auto_Ptr_Rep< X, ACE_LOCK >::detach | ( | ACE_Refcounted_Auto_Ptr_Rep< X, ACE_LOCK > *& | rep ) | [inline, static, private] |
Decreases the reference count and and deletes rep if there are no more references to rep.
Precondition (rep != 0)
X * ACE_Refcounted_Auto_Ptr_Rep< X, ACE_LOCK >::get | ( | void | ) | const [inline, private] |
Get the pointer value.
ACE_Refcounted_Auto_Ptr_Rep< X, ACE_LOCK > * ACE_Refcounted_Auto_Ptr_Rep< X, ACE_LOCK >::internal_create | ( | X * | p ) | [inline, static, private] |
Allocate a new ACE_Refcounted_Auto_Ptr_Rep<X, ACE_LOCK> instance, returning NULL if it cannot be created.
friend class ACE_Refcounted_Auto_Ptr< X, ACE_LOCK > [friend] |
ACE_Refcounted_Auto_Ptr_Rep< X, ACE_LOCK >::ACE_ALLOC_HOOK_DECLARE [private] |
Declare the dynamic allocation hooks.
ACE_Auto_Basic_Ptr<X> ACE_Refcounted_Auto_Ptr_Rep< X, ACE_LOCK >::ptr_ [private] |
Pointer to the result.
ACE_Atomic_Op<ACE_LOCK, long> ACE_Refcounted_Auto_Ptr_Rep< X, ACE_LOCK >::ref_count_ [mutable, private] |
Reference count.