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

#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= (const SmartPointerForwardReference &r)
SmartPointerForwardReferenceoperator= (const WeakPointer< T > &r)
SmartPointerForwardReferenceoperator= (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 (const WeakPointer< T > &p)
 SmartPointerForwardReference (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: