#include <Bound_Ptr.h>
Collaboration diagram for ACE_Strong_Bound_Ptr< X, ACE_LOCK >:

Public Member Functions | |
| ACE_Strong_Bound_Ptr (X *p=0) | |
| 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. | |
| bool | operator== (const ACE_Strong_Bound_Ptr< X, ACE_LOCK > &r) const |
| bool | operator== (const ACE_Weak_Bound_Ptr< X, ACE_LOCK > &r) const |
| bool | operator== (X *p) const |
| bool | operator!= (const ACE_Strong_Bound_Ptr< X, ACE_LOCK > &r) const |
| Inequality operator, which is the opposite of equality. | |
| bool | operator!= (const ACE_Weak_Bound_Ptr< X, ACE_LOCK > &r) const |
| Inequality operator, which is the opposite of equality. | |
| bool | 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.
typedef ACE_Bound_Ptr_Counter<ACE_LOCK> ACE_Strong_Bound_Ptr< X, ACE_LOCK >::COUNTER [private] |
The ACE_Bound_Ptr_Counter type.
| ACE_Strong_Bound_Ptr< X, ACE_LOCK >::ACE_Strong_Bound_Ptr | ( | X * | p = 0 |
) | [inline, explicit] |
Constructor that initializes an ACE_Strong_Bound_Ptr to point to the object <p> immediately.
| ACE_Strong_Bound_Ptr< X, ACE_LOCK >::ACE_Strong_Bound_Ptr | ( | auto_ptr< X > | p | ) | [inline, explicit] |
Constructor that initializes an ACE_Strong_Bound_Ptr by stealing ownership of an object from an auto_ptr.
| ACE_Strong_Bound_Ptr< X, ACE_LOCK >::ACE_Strong_Bound_Ptr | ( | const ACE_Strong_Bound_Ptr< X, ACE_LOCK > & | r | ) | [inline] |
Copy constructor binds <this> and <r> to the same object.
| ACE_Strong_Bound_Ptr< X, ACE_LOCK >::ACE_Strong_Bound_Ptr | ( | const ACE_Weak_Bound_Ptr< X, ACE_LOCK > & | r | ) | [inline] |
Constructor binds <this> and <r> to the same object.
| ACE_Strong_Bound_Ptr< X, ACE_LOCK >::~ACE_Strong_Bound_Ptr | ( | void | ) | [inline] |
Destructor.
| X * ACE_Strong_Bound_Ptr< X, ACE_LOCK >::get | ( | void | ) | const [inline] |
Get the pointer value.
| int ACE_Strong_Bound_Ptr< X, ACE_LOCK >::null | ( | void | ) | const [inline] |
Allows us to check for NULL on all ACE_Strong_Bound_Ptr objects.
| X & ACE_Strong_Bound_Ptr< X, ACE_LOCK >::operator * | ( | void | ) | const [inline] |
Dereference operator.
| bool ACE_Strong_Bound_Ptr< X, ACE_LOCK >::operator!= | ( | X * | p | ) | const [inline] |
Inequality operator, which is the opposite of equality.
| bool ACE_Strong_Bound_Ptr< X, ACE_LOCK >::operator!= | ( | const ACE_Weak_Bound_Ptr< X, ACE_LOCK > & | r | ) | const [inline] |
Inequality operator, which is the opposite of equality.
| bool ACE_Strong_Bound_Ptr< X, ACE_LOCK >::operator!= | ( | const ACE_Strong_Bound_Ptr< X, ACE_LOCK > & | r | ) | const [inline] |
Inequality operator, which is the opposite of equality.
| X * ACE_Strong_Bound_Ptr< X, ACE_LOCK >::operator-> | ( | void | ) | const [inline] |
Redirection operator.
| void ACE_Strong_Bound_Ptr< X, ACE_LOCK >::operator= | ( | const ACE_Weak_Bound_Ptr< X, ACE_LOCK > & | r | ) | [inline] |
Assignment operator that binds <this> and <r> to the same object.
| void ACE_Strong_Bound_Ptr< X, ACE_LOCK >::operator= | ( | const ACE_Strong_Bound_Ptr< X, ACE_LOCK > & | r | ) | [inline] |
Assignment operator that binds <this> and <r> to the same object.
| bool ACE_Strong_Bound_Ptr< X, ACE_LOCK >::operator== | ( | X * | p | ) | const [inline] |
Equality operator that returns true if the ACE_Strong_Bound_Ptr and the raw pointer point to the same underlying object.
| bool ACE_Strong_Bound_Ptr< X, ACE_LOCK >::operator== | ( | const ACE_Weak_Bound_Ptr< X, ACE_LOCK > & | r | ) | const [inline] |
true if both objects have just been instantiated and not used yet. | bool ACE_Strong_Bound_Ptr< X, ACE_LOCK >::operator== | ( | const ACE_Strong_Bound_Ptr< X, ACE_LOCK > & | r | ) | const [inline] |
true if both objects have just been instantiated and not used yet. | void ACE_Strong_Bound_Ptr< X, ACE_LOCK >::reset | ( | auto_ptr< X > | p | ) | [inline] |
Resets the ACE_Strong_Bound_Ptr to refer to a different underlying object, ownership of which is stolen from the auto_ptr.
| void ACE_Strong_Bound_Ptr< X, ACE_LOCK >::reset | ( | X * | p = 0 |
) | [inline] |
Resets the ACE_Strong_Bound_Ptr to refer to a different underlying object.
friend class ACE_Weak_Bound_Ptr< X, ACE_LOCK > [friend] |
| ACE_Strong_Bound_Ptr< X, ACE_LOCK >::ACE_ALLOC_HOOK_DECLARE |
Declare the dynamic allocation hooks.
COUNTER* ACE_Strong_Bound_Ptr< X, ACE_LOCK >::counter_ [private] |
The reference counter.
X* ACE_Strong_Bound_Ptr< X, ACE_LOCK >::ptr_ [private] |
The underlying object.
1.4.6-4