![]() |
Orfeo Toolbox
3.16
|
Implements transparent reference counting in situations where forward references / cyclic include dependencies are a problem. More...
#include <itkSmartPointerForwardReference.h>
Public Member Functions | |
| SmartPointerForwardReference () | |
| SmartPointerForwardReference (const SmartPointerForwardReference< T > &p) | |
| SmartPointerForwardReference (const WeakPointer< T > &p) | |
| SmartPointerForwardReference (T *p) | |
| ~SmartPointerForwardReference () | |
| T * | GetPointer () const |
| operator T * () const | |
| T * | operator-> () const |
| bool | operator< (const SmartPointerForwardReference &r) |
| bool | operator<= (const SmartPointerForwardReference &r) |
| SmartPointerForwardReference & | operator= (const SmartPointerForwardReference &r) |
| SmartPointerForwardReference & | operator= (const WeakPointer< T > &r) |
| SmartPointerForwardReference & | operator= (T *r) |
| bool | operator> (const SmartPointerForwardReference &r) |
| bool | operator>= (const SmartPointerForwardReference &r) |
| T * | Print (std::ostream &os) const |
Private Member Functions | |
| void | Register () |
| void | UnRegister () |
Private Attributes | |
| T * | m_Pointer |
Implements transparent reference counting in situations where forward references / cyclic include dependencies are a problem.
SmartPointerForwardReference 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.
This class is nearly identical to itkSmartPointer except that is used in situations where forward references or cyclic include dependencies become a problem. This class requires that the .h file is included in the .h file of the class using it, and the .txx file is included in the .cxx/.txx file of the class using it. (Make sure that SmartPointerForwardReference.txx is included last in the .cxx/.txx list of includes.)
Definition at line 48 of file itkSmartPointerForwardReference.h.
|
inline |
Constructor
Definition at line 52 of file itkSmartPointerForwardReference.h.
| itk::SmartPointerForwardReference< T >::SmartPointerForwardReference | ( | const SmartPointerForwardReference< T > & | p | ) |
Const constructor
Definition at line 28 of file itkSmartPointerForwardReference.txx.
References itk::SmartPointerForwardReference< T >::m_Pointer.
| itk::SmartPointerForwardReference< T >::SmartPointerForwardReference | ( | const WeakPointer< T > & | p | ) |
Construct from a WeakPointer
Definition at line 37 of file itkSmartPointerForwardReference.txx.
References itk::WeakPointer< TObjectType >::GetPointer().
| itk::SmartPointerForwardReference< T >::SmartPointerForwardReference | ( | T * | p | ) |
Constructor to pointer p
Definition at line 46 of file itkSmartPointerForwardReference.txx.
| itk::SmartPointerForwardReference< T >::~SmartPointerForwardReference | ( | ) |
Destructor
Definition at line 55 of file itkSmartPointerForwardReference.txx.
| T * itk::SmartPointerForwardReference< T >::GetPointer | ( | ) | const |
Access function to pointer.
Definition at line 81 of file itkSmartPointerForwardReference.txx.
Referenced by itk::SmartPointerForwardReference< T >::operator=().
| itk::SmartPointerForwardReference< T >::operator T * | ( | ) | const |
Return pointer to object.
Definition at line 72 of file itkSmartPointerForwardReference.txx.
| T * itk::SmartPointerForwardReference< T >::operator-> | ( | ) | const |
Overload operator ->
Definition at line 64 of file itkSmartPointerForwardReference.txx.
| bool itk::SmartPointerForwardReference< T >::operator< | ( | const SmartPointerForwardReference< T > & | r | ) |
Comparison of pointers. Less than comparison.
Definition at line 90 of file itkSmartPointerForwardReference.txx.
References itk::SmartPointerForwardReference< T >::m_Pointer.
| bool itk::SmartPointerForwardReference< T >::operator<= | ( | const SmartPointerForwardReference< T > & | r | ) |
Comparison of pointers. Less than or equal to comparison.
Definition at line 108 of file itkSmartPointerForwardReference.txx.
References itk::SmartPointerForwardReference< T >::m_Pointer.
| SmartPointerForwardReference< T > & itk::SmartPointerForwardReference< T >::operator= | ( | const SmartPointerForwardReference< T > & | r | ) |
Overload operator assignment.
Definition at line 126 of file itkSmartPointerForwardReference.txx.
References itk::SmartPointerForwardReference< T >::GetPointer().
| SmartPointerForwardReference< T > & itk::SmartPointerForwardReference< T >::operator= | ( | const WeakPointer< T > & | r | ) |
Overload operator assignment.
Definition at line 135 of file itkSmartPointerForwardReference.txx.
References itk::WeakPointer< TObjectType >::GetPointer().
| SmartPointerForwardReference< T > & itk::SmartPointerForwardReference< T >::operator= | ( | T * | r | ) |
Overload operator assignment.
Definition at line 144 of file itkSmartPointerForwardReference.txx.
| bool itk::SmartPointerForwardReference< T >::operator> | ( | const SmartPointerForwardReference< T > & | r | ) |
Comparison of pointers. Greater than comparison.
Definition at line 99 of file itkSmartPointerForwardReference.txx.
References itk::SmartPointerForwardReference< T >::m_Pointer.
| bool itk::SmartPointerForwardReference< T >::operator>= | ( | const SmartPointerForwardReference< T > & | r | ) |
Comparison of pointers. Greater than or equal to comparison.
Definition at line 117 of file itkSmartPointerForwardReference.txx.
References itk::SmartPointerForwardReference< T >::m_Pointer.
| T * itk::SmartPointerForwardReference< T >::Print | ( | std::ostream & | os | ) | const |
Function to print object pointed to
Definition at line 163 of file itkSmartPointerForwardReference.txx.
|
private |
Definition at line 174 of file itkSmartPointerForwardReference.txx.
|
private |
Definition at line 186 of file itkSmartPointerForwardReference.txx.
|
private |
The pointer to the object referrred to by this smart pointer.
Definition at line 102 of file itkSmartPointerForwardReference.h.
Referenced by itk::SmartPointerForwardReference< T >::operator<(), itk::SmartPointerForwardReference< T >::operator<=(), itk::SmartPointerForwardReference< T >::operator>(), itk::SmartPointerForwardReference< T >::operator>=(), and itk::SmartPointerForwardReference< T >::SmartPointerForwardReference().