ITK  4.13.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.

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.


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