ITK  4.8.0
Insight Segmentation and Registration Toolkit
Public Member Functions | Private Member Functions | Private Attributes | List of all members
itk::SmartPointerForwardReference< T > Class Template Reference

#include <itkSmartPointerForwardReference.h>

Detailed Description

template<typename 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.

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 () noexcept
 

Private Attributes

T * m_Pointer
 

Constructor & Destructor Documentation

template<typename T>
itk::SmartPointerForwardReference< T >::SmartPointerForwardReference ( )
inline

Constructor

Definition at line 52 of file itkSmartPointerForwardReference.h.

References itk::SmartPointerForwardReference< T >::m_Pointer.

Const constructor

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

Construct from a WeakPointer

template<typename T>
itk::SmartPointerForwardReference< T >::SmartPointerForwardReference ( T *  p)

Constructor to pointer p

Destructor

Member Function Documentation

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

Access function to pointer.

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

Return pointer to object.

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

Overload operator ->

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

Comparison of pointers. Less than comparison.

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

Comparison of pointers. Less than or equal to comparison.

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

Overload operator assignment.

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

Overload operator assignment.

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

Overload operator assignment.

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

Comparison of pointers. Greater than comparison.

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

Comparison of pointers. Greater than or equal to comparison.

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

Function to print object pointed to

template<typename T>
void itk::SmartPointerForwardReference< T >::Register ( )
private
template<typename T>
void itk::SmartPointerForwardReference< T >::UnRegister ( )
privatenoexcept

Member Data Documentation

template<typename T>
T* itk::SmartPointerForwardReference< T >::m_Pointer
private

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

Definition at line 102 of file itkSmartPointerForwardReference.h.

Referenced by itk::SmartPointerForwardReference< T >::SmartPointerForwardReference().


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