ITK  4.0.0
Insight Segmentation and Registration Toolkit
Public Member Functions | Private Member Functions | Private Attributes
itk::SmartPointerForwardReference< T > Class Template Reference

Implements transparent reference counting in situations where forward references / cyclic include dependencies are a problem. More...

#include <itkSmartPointerForwardReference.h>

List of all members.

Public Member Functions

T * GetPointer () const
 operator T * () const
T * operator-> () const
bool operator< (const SmartPointerForwardReference &r)
bool operator<= (const SmartPointerForwardReference &r)
SmartPointerForwardReferenceoperator= (T *r)
SmartPointerForwardReferenceoperator= (const SmartPointerForwardReference &r)
SmartPointerForwardReferenceoperator= (const WeakPointer< T > &r)
bool operator> (const SmartPointerForwardReference &r)
bool operator>= (const SmartPointerForwardReference &r)
T * Print (std::ostream &os) const
 SmartPointerForwardReference ()
 SmartPointerForwardReference (const SmartPointerForwardReference< T > &p)
 SmartPointerForwardReference (T *p)
 SmartPointerForwardReference (const WeakPointer< T > &p)
 ~SmartPointerForwardReference ()

Private Member Functions

void Register ()
void UnRegister ()

Private Attributes

T * m_Pointer

Detailed Description

template<class T>
class itk::SmartPointerForwardReference< T >

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 .hxx file is included in the .cxx/.hxx file of the class using it. (Make sure that SmartPointerForwardReference.hxx is included last in the .cxx/.hxx list of includes.)

Definition at line 48 of file itkSmartPointerForwardReference.h.


Constructor & Destructor Documentation

Constructor

Definition at line 52 of file itkSmartPointerForwardReference.h.

Const constructor

template<class T>
itk::SmartPointerForwardReference< T >::SmartPointerForwardReference ( const WeakPointer< T > &  p)

Construct from a WeakPointer

Constructor to pointer p

Destructor


Member Function Documentation

template<class T>
T* itk::SmartPointerForwardReference< T >::GetPointer ( ) const

Access function to pointer.

template<class T>
itk::SmartPointerForwardReference< T >::operator T * ( ) const

Return pointer to object.

template<class T>
T* itk::SmartPointerForwardReference< T >::operator-> ( ) const

Overload operator ->

template<class T>
bool itk::SmartPointerForwardReference< T >::operator< ( const SmartPointerForwardReference< T > &  r)

Comparison of pointers. Less than comparison.

template<class T>
bool itk::SmartPointerForwardReference< T >::operator<= ( const SmartPointerForwardReference< T > &  r)

Comparison of pointers. Less than or equal to comparison.

Overload operator assignment.

template<class T>
SmartPointerForwardReference& itk::SmartPointerForwardReference< T >::operator= ( const WeakPointer< T > &  r)

Overload operator assignment.

template<class T>
SmartPointerForwardReference& itk::SmartPointerForwardReference< T >::operator= ( T *  r)

Overload operator assignment.

template<class T>
bool itk::SmartPointerForwardReference< T >::operator> ( const SmartPointerForwardReference< T > &  r)

Comparison of pointers. Greater than comparison.

template<class T>
bool itk::SmartPointerForwardReference< T >::operator>= ( const SmartPointerForwardReference< T > &  r)

Comparison of pointers. Greater than or equal to comparison.

template<class T>
T* itk::SmartPointerForwardReference< T >::Print ( std::ostream &  os) const

Function to print object pointed to

template<class T>
void itk::SmartPointerForwardReference< T >::Register ( ) [private]
template<class T>
void itk::SmartPointerForwardReference< T >::UnRegister ( ) [private]

Member Data Documentation

template<class T>
T* itk::SmartPointerForwardReference< T >::m_Pointer [private]

The pointer to the object referrred to by this smart pointer.

Definition at line 102 of file itkSmartPointerForwardReference.h.


The documentation for this class was generated from the following file: