#include <itkAutoPointer.h>
Collaboration diagram for itk::AutoPointer< TObjectType >:

AutoPointer is intended to facilitate the construction of objects on the fly for those objects that are not to be shared. An AutoPointer destroys its object when it goes out of scope. Ownership of the object is transferred from one AutoPointer to another AutoPointer when the assignement operator is used. An AutoPointer can release ownership of the object it holds.
This class follows the design of the std::auto_ptr class. The main reason for not using the std version is to avoid templated methods, which greatly increase the difficulty of wrapping for Tcl, Python and Java.
Definition at line 45 of file itkAutoPointer.h.
Public Types | |
| typedef TObjectType | ObjectType |
| typedef AutoPointer | Self |
Public Member Functions | |
| AutoPointer (ObjectType *p, bool takeOwnership) | |
| Copy constructor * | AutoPointer (AutoPointer &p) |
| AutoPointer () | |
| ObjectType * | GetPointer () const |
| bool | IsOwner (void) const |
| Overload | operator assignment.*/AutoPointer &operator= (AutoPointer &r) const |
| operator bool () const | |
| bool | operator!= (const AutoPointer &r) const |
| ObjectType * | operator-> () const |
| bool | operator< (const AutoPointer &r) const |
| bool | operator<= (const AutoPointer &r) const |
| bool | operator== (const AutoPointer &r) const |
| bool | operator> (const AutoPointer &r) const |
| bool | operator>= (const AutoPointer &r) const |
| Function to print object pointed to *ObjectType * | Print (std::ostream &os) const |
| **Note that the AutoPointer still points to the object after the *ReleaseOwnership but it doesn t own the object any *more *ObjectType * | ReleaseOwnership (void) |
| Clear the AutoPointer If it had a pointer the object is deleted and the pointer is set to null *void | Reset (void) |
| Explicitly reject ownership *void | TakeNoOwnership (ObjectType *objectptr) |
| Explicitly set the ownership *void | TakeOwnership (ObjectType *objectptr) |
| void | TakeOwnership (void) |
| Destructor * | ~AutoPointer () |
Public Attributes | |
| Release the pointer hold by the current AutoPointer *and return the raw pointer so it can be hold by *another AutoPointer This operation is intended to *be used for facilitating polymorphism ** | Example: if class Cow derives from Mammal |
| Release the pointer hold by the current AutoPointer *and return the raw pointer so it can be hold by *another AutoPointer This operation is intended to *be used for facilitating polymorphism *AutoPointer< Cow > | onecow = new Cow |
| *AutoPointer< Mammal > | onemammal = onecow.ReleaseOwnership() |
| **Note that the AutoPointer still points to the object after the *ReleaseOwnership | operation |
|
|||||
|
Extract information from template parameter. Definition at line 49 of file itkAutoPointer.h. |
|
|||||
|
Definition at line 50 of file itkAutoPointer.h. |
|
|||||||||
|
Constructor. Definition at line 53 of file itkAutoPointer.h. |
|
||||||||||
|
Definition at line 57 of file itkAutoPointer.h. References itk::AutoPointer< TObjectType >::IsOwner(), and itk::AutoPointer< TObjectType >::ReleaseOwnership(). |
|
||||||||||||||||
|
Constructor to pointer p. Definition at line 66 of file itkAutoPointer.h. |
|
|||||||||
|
Definition at line 71 of file itkAutoPointer.h. |
|
|||||||||
|
Access function to pointer. Definition at line 152 of file itkAutoPointer.h. |
|
||||||||||
|
Query for the ownership Definition at line 129 of file itkAutoPointer.h. Referenced by itk::AutoPointer< TObjectType >::AutoPointer(). |
|
||||||||||
|
Definition at line 180 of file itkAutoPointer.h. |
|
|||||||||
|
Casting operator to boolean. This is used in conditional statments to check the content of the pointer against null Definition at line 189 of file itkAutoPointer.h. References NULL. |
|
||||||||||
|
Comparison of pointers. NonEqual comparison. Definition at line 160 of file itkAutoPointer.h. |
|
|||||||||
|
Overload operator ->. Definition at line 83 of file itkAutoPointer.h. |
|
||||||||||
|
Comparison of pointers. Less than comparison. Definition at line 164 of file itkAutoPointer.h. |
|
||||||||||
|
Comparison of pointers. Less than or equal to comparison. Definition at line 172 of file itkAutoPointer.h. |
|
||||||||||
|
Comparison of pointers. Equal comparison. Definition at line 156 of file itkAutoPointer.h. References itk::AutoPointer< TObjectType >::m_Pointer. |
|
||||||||||
|
Comparison of pointers. Greater than comparison. Definition at line 168 of file itkAutoPointer.h. |
|
||||||||||
|
Comparison of pointers. Greater than or equal to comparison. Definition at line 176 of file itkAutoPointer.h. |
|
||||||||||
|
Definition at line 193 of file itkAutoPointer.h. |
|
||||||||||
|
Definition at line 144 of file itkAutoPointer.h. Referenced by itk::AutoPointer< TObjectType >::AutoPointer(). |
|
||||||||||
|
Definition at line 88 of file itkAutoPointer.h. |
|
||||||||||
|
Definition at line 117 of file itkAutoPointer.h. |
|
||||||||||
|
Definition at line 105 of file itkAutoPointer.h. |
|
||||||||||
|
Explicitly set the ownership Definition at line 101 of file itkAutoPointer.h. |
|
|||||
|
Definition at line 137 of file itkAutoPointer.h. |
|
|||||
|
Definition at line 138 of file itkAutoPointer.h. |
|
|||||
|
Definition at line 139 of file itkAutoPointer.h. |
|
|||||
|
Definition at line 142 of file itkAutoPointer.h. |
1.4.2 written by Dimitri van Heesch,
© 1997-2000