|
Public Methods |
ACE_EXPLICIT | ACE_Strong_Bound_Ptr (X *p=0) |
ACE_EXPLICIT | ACE_Strong_Bound_Ptr (auto_ptr< X > p) |
| ACE_Strong_Bound_Ptr (const ACE_Strong_Bound_Ptr< X, ACE_LOCK > &r) |
| Copy constructor binds <this> and <r> to the same object.
|
| ACE_Strong_Bound_Ptr (const ACE_Weak_Bound_Ptr< X, ACE_LOCK > &r) |
| Constructor binds <this> and <r> to the same object.
|
| ~ACE_Strong_Bound_Ptr (void) |
| Destructor.
|
void | operator= (const ACE_Strong_Bound_Ptr< X, ACE_LOCK > &r) |
| Assignment operator that binds <this> and <r> to the same object.
|
void | operator= (const ACE_Weak_Bound_Ptr< X, ACE_LOCK > &r) |
| Assignment operator that binds <this> and <r> to the same object.
|
int | operator== (const ACE_Strong_Bound_Ptr< X, ACE_LOCK > &r) const |
int | operator== (const ACE_Weak_Bound_Ptr< X, ACE_LOCK > &r) const |
int | operator== (X *p) const |
int | operator!= (const ACE_Strong_Bound_Ptr< X, ACE_LOCK > &r) const |
| Inequality operator, which is the opposite of equality.
|
int | operator!= (const ACE_Weak_Bound_Ptr< X, ACE_LOCK > &r) const |
| Inequality operator, which is the opposite of equality.
|
int | operator!= (X *p) const |
| Inequality operator, which is the opposite of equality.
|
X * | operator-> (void) const |
| Redirection operator.
|
X & | operator * (void) const |
| Dereference operator.
|
X * | get (void) const |
| Get the pointer value.
|
void | reset (X *p=0) |
void | reset (auto_ptr< X > p) |
int | null (void) const |
Public Attributes |
| ACE_ALLOC_HOOK_DECLARE |
| Declare the dynamic allocation hooks.
|
Private Types |
typedef ACE_Bound_Ptr_Counter<
ACE_LOCK > | COUNTER |
| The ACE_Bound_Ptr_Counter type.
|
Private Attributes |
COUNTER * | counter_ |
| The reference counter.
|
X * | ptr_ |
| The underlying object.
|
Friends |
class | ACE_Weak_Bound_Ptr< X, ACE_LOCK > |
Assigning or copying instances of an ACE_Strong_Bound_Ptr will automatically increment the reference count of the underlying object. When the last instance of an ACE_Strong_Bound_Ptr that references a particular object is destroyed or overwritten, it will invoke delete on its underlying pointer.