Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itk::SmartPointerForwardReference< T > Class Template Reference
[ITK System ObjectsData Access Objects]

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

#include <itkSmartPointerForwardReference.h>

Collaboration diagram for itk::SmartPointerForwardReference< T >:

Collaboration graph
[legend]
List of all members.

Public Methods

 SmartPointerForwardReference ()
 SmartPointerForwardReference (const SmartPointerForwardReference< T > &p)
 SmartPointerForwardReference (const WeakPointer< T > &p)
 SmartPointerForwardReference (T *p)
 ~SmartPointerForwardReference ()
T * operator-> () const
 operator T * () const
T * GetPointer () const
bool operator< (const SmartPointerForwardReference &r)
bool operator> (const SmartPointerForwardReference &r)
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)
T * Print (std::ostream &os) const

Detailed Description

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

Implements transparent reference counting in situations where forward references / cyclic include depndencies 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.


Constructor & Destructor Documentation

template<class T>
itk::SmartPointerForwardReference< T >::SmartPointerForwardReference   [inline]
 

Constructor

Definition at line 52 of file itkSmartPointerForwardReference.h.

template<class T>
itk::SmartPointerForwardReference< T >::SmartPointerForwardReference const SmartPointerForwardReference< T > &    p
 

Const constructor

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

Construct from a WeakPointer

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

Constructor to pointer p

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

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.

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

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= const SmartPointerForwardReference< 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


The documentation for this class was generated from the following file:
Generated at Wed Mar 12 01:20:47 2003 for ITK by doxygen 1.2.15 written by Dimitri van Heesch, © 1997-2000