#include <itkSmartPointer.h>
Inheritance diagram for itk::SmartPointer< TObjectType >:
SmartPointer implements reference counting by overloading operator -> (and *) among others. This allows natural interface to the class referred to by the pointer without having to invoke special Register()/UnRegister() methods directly.
To compile / test this class Windows: cl SmartPointerTest.cxx; ..exe linux: c++ SmartPointerTest.cxx ./a.out other: CCcompiler SmartPointerTest.cxx ./a.out
Definition at line 43 of file itkSmartPointer.h.
Public Types | |
typedef TObjectType | ObjectType |
Public Member Functions | |
ObjectType * | GetPointer () const |
operator ObjectType * () const | |
template<typename R> | |
bool | operator!= (R r) const |
ObjectType * | operator-> () const |
bool | operator< (const SmartPointer &r) const |
bool | operator<= (const SmartPointer &r) const |
SmartPointer & | operator= (const SmartPointer &r) |
template<typename R> | |
bool | operator== (R r) const |
bool | operator> (const SmartPointer &r) const |
bool | operator>= (const SmartPointer &r) const |
SmartPointer (ObjectType *p) | |
SmartPointer (const SmartPointer< ObjectType > &p) | |
SmartPointer () | |
bool | IsNotNull () const |
bool | IsNull () const |
SmartPointer & | operator= (ObjectType *r) |
ObjectType * | Print (std::ostream &os) const |
typedef TObjectType itk::SmartPointer< TObjectType >::ObjectType |
Definition at line 46 of file itkSmartPointer.h.
itk::SmartPointer< TObjectType >::SmartPointer | ( | ) | [inline] |
Constructor
Definition at line 49 of file itkSmartPointer.h.
itk::SmartPointer< TObjectType >::SmartPointer | ( | const SmartPointer< ObjectType > & | p | ) | [inline] |
Copy constructor
Definition at line 53 of file itkSmartPointer.h.
itk::SmartPointer< TObjectType >::SmartPointer | ( | ObjectType * | p | ) | [inline] |
Constructor to pointer p
Definition at line 58 of file itkSmartPointer.h.
itk::SmartPointer< TObjectType >::~SmartPointer | ( | ) | [inline] |
Destructor
Definition at line 63 of file itkSmartPointer.h.
itk::SmartPointer< TObjectType >::~SmartPointer | ( | ) | [inline] |
Destructor
Definition at line 63 of file itkSmartPointer.h.
ObjectType* itk::SmartPointer< TObjectType >::GetPointer | ( | ) | const [inline] |
Access function to pointer.
Definition at line 95 of file itkSmartPointer.h.
Referenced by itk::watershed::BoundaryResolver< TPixelType, TDimension >::BoundaryResolver(), itk::ObjectFactory< T >::Create(), itk::CreateObjectFunction< T >::CreateObject(), itk::watershed::EquivalenceRelabeler< TScalarType, TImageDimension >::EquivalenceRelabeler(), itk::Statistics::MeanShiftModeSeekerBase< TSample >::GetCacheMethod(), itk::TransformFactoryBase::GetFactory(), itk::SpatialObjectFactoryBase::GetFactory(), itk::HistogramAlgorithmBase< TInputHistogram >::GetInputHistogram(), itk::Statistics::MeanShiftModeSeekerBase< TSample >::GetInputSample(), itk::fem::Solver::GetInterpolationGrid(), itk::Statistics::MeanShiftModeSeekerBase< TSample >::GetMeasurementVectorSize(), itk::TreeContainer< itk::SpatialObject< TDimension > * >::GetRoot(), itk::SmartPointer< TFunction >::operator=(), itk::watershed::BoundaryResolver< TPixelType, TDimension >::SetEquivalencyTable(), and itk::fem::FiniteDifferenceFunctionLoad< TMoving, TFixed >::SetMetric().
bool itk::SmartPointer< TObjectType >::IsNotNull | ( | ) | const [inline] |
Test if the pointer has been initialized
Definition at line 79 of file itkSmartPointer.h.
Referenced by itk::AffineGeometryFrame< TScalarType, NDimensions >::GetBounds(), and itk::AffineGeometryFrame< TScalarType, NDimensions >::GetExtent().
bool itk::SmartPointer< TObjectType >::IsNull | ( | ) | const [inline] |
Test if the pointer has been initialized
Definition at line 81 of file itkSmartPointer.h.
itk::SmartPointer< TObjectType >::operator ObjectType * | ( | ) | const [inline] |
Return pointer to object.
Definition at line 75 of file itkSmartPointer.h.
bool itk::SmartPointer< TObjectType >::operator!= | ( | R | r | ) | const [inline] |
Definition at line 91 of file itkSmartPointer.h.
ObjectType* itk::SmartPointer< TObjectType >::operator-> | ( | ) | const [inline] |
Overload operator ->
Definition at line 71 of file itkSmartPointer.h.
bool itk::SmartPointer< TObjectType >::operator< | ( | const SmartPointer< TObjectType > & | r | ) | const [inline] |
Comparison of pointers. Less than comparison.
Definition at line 99 of file itkSmartPointer.h.
bool itk::SmartPointer< TObjectType >::operator<= | ( | const SmartPointer< TObjectType > & | r | ) | const [inline] |
Comparison of pointers. Less than or equal to comparison.
Definition at line 107 of file itkSmartPointer.h.
SmartPointer& itk::SmartPointer< TObjectType >::operator= | ( | ObjectType * | r | ) | [inline] |
Overload operator assignment.
Definition at line 119 of file itkSmartPointer.h.
SmartPointer& itk::SmartPointer< TObjectType >::operator= | ( | const SmartPointer< TObjectType > & | r | ) | [inline] |
Overload operator assignment.
Definition at line 115 of file itkSmartPointer.h.
bool itk::SmartPointer< TObjectType >::operator== | ( | R | r | ) | const [inline] |
Template comparison operators.
Definition at line 87 of file itkSmartPointer.h.
bool itk::SmartPointer< TObjectType >::operator> | ( | const SmartPointer< TObjectType > & | r | ) | const [inline] |
Comparison of pointers. Greater than comparison.
Definition at line 103 of file itkSmartPointer.h.
bool itk::SmartPointer< TObjectType >::operator>= | ( | const SmartPointer< TObjectType > & | r | ) | const [inline] |
Comparison of pointers. Greater than or equal to comparison.
Definition at line 111 of file itkSmartPointer.h.
ObjectType* itk::SmartPointer< TObjectType >::Print | ( | std::ostream & | os | ) | const [inline] |
Function to print object pointed to
Definition at line 133 of file itkSmartPointer.h.