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

#include <itkWeakPointer.h>

+ Inheritance diagram for itk::WeakPointer< TObjectType >:

Detailed Description

template<typename TObjectType>
class itk::WeakPointer< TObjectType >

Implements a weak reference to an object.

WeakPointer implements a weak reference to an object. A natural interface to the class is defined by operator -> (and *) among others. WeakPointer is really nothing more than a standard pointer. It is used to call attention to the fact that it does not adjust the reference count of an object like SmartPointer does. WeakPointer is used internally to Insight to manage (break) reference counting loops. At some point, an object may keep track of how many objects hold weak references to itself. In all cases, however, an outstanding weak reference will not keep an object from destructing.

Definition at line 44 of file itkWeakPointer.h.

Public Types

typedef TObjectType ObjectType
 

Public Member Functions

ObjectTypeGetPointer () const
 
bool IsNotNull () const
 
bool IsNull () const
 
 operator ObjectType * () const
 
template<typename R >
bool operator!= (R r) const
 
ObjectTypeoperator-> () const
 
bool operator< (const WeakPointer &r) const
 
bool operator<= (const WeakPointer &r) const
 
WeakPointeroperator= (const WeakPointer &r)
 
WeakPointeroperator= (ObjectType *r)
 
template<typename R >
bool operator== (R r) const
 
bool operator> (const WeakPointer &r) const
 
bool operator>= (const WeakPointer &r) const
 
 WeakPointer ()
 
 WeakPointer (const WeakPointer< ObjectType > &p)
 
 WeakPointer (ObjectType *p)
 
 ~WeakPointer ()
 
ObjectTypePrint (std::ostream &os) const
 

Private Attributes

ObjectTypem_Pointer
 

Member Typedef Documentation

template<typename TObjectType>
typedef TObjectType itk::WeakPointer< TObjectType >::ObjectType

Extract information from template parameter.

Definition at line 48 of file itkWeakPointer.h.

Constructor & Destructor Documentation

template<typename TObjectType>
itk::WeakPointer< TObjectType >::WeakPointer ( )
inline

Constructor.

Definition at line 51 of file itkWeakPointer.h.

template<typename TObjectType>
itk::WeakPointer< TObjectType >::WeakPointer ( const WeakPointer< ObjectType > &  p)
inline

Copy constructor.

Definition at line 55 of file itkWeakPointer.h.

template<typename TObjectType>
itk::WeakPointer< TObjectType >::WeakPointer ( ObjectType p)
inline

Constructor to pointer p.

Definition at line 58 of file itkWeakPointer.h.

template<typename TObjectType>
itk::WeakPointer< TObjectType >::~WeakPointer ( )
inline

Destructor.

Definition at line 61 of file itkWeakPointer.h.

Member Function Documentation

template<typename TObjectType>
ObjectType* itk::WeakPointer< TObjectType >::GetPointer ( ) const
inline
template<typename TObjectType>
bool itk::WeakPointer< TObjectType >::IsNotNull ( ) const
inline

Test if the pointer is not NULL.

Definition at line 90 of file itkWeakPointer.h.

template<typename TObjectType>
bool itk::WeakPointer< TObjectType >::IsNull ( ) const
inline

Test if the pointer is NULL.

Definition at line 94 of file itkWeakPointer.h.

Referenced by itk::WeakPointer< OptimizerType >::Print().

template<typename TObjectType>
itk::WeakPointer< TObjectType >::operator ObjectType * ( ) const
inline

Return pointer to object.

Definition at line 69 of file itkWeakPointer.h.

template<typename TObjectType>
template<typename R >
bool itk::WeakPointer< TObjectType >::operator!= ( r) const
inline

Definition at line 80 of file itkWeakPointer.h.

template<typename TObjectType>
ObjectType* itk::WeakPointer< TObjectType >::operator-> ( ) const
inline

Overload operator ->.

Definition at line 65 of file itkWeakPointer.h.

template<typename TObjectType>
bool itk::WeakPointer< TObjectType >::operator< ( const WeakPointer< TObjectType > &  r) const
inline

Comparison of pointers. Less than comparison.

Definition at line 98 of file itkWeakPointer.h.

template<typename TObjectType>
bool itk::WeakPointer< TObjectType >::operator<= ( const WeakPointer< TObjectType > &  r) const
inline

Comparison of pointers. Less than or equal to comparison.

Definition at line 106 of file itkWeakPointer.h.

template<typename TObjectType>
WeakPointer& itk::WeakPointer< TObjectType >::operator= ( const WeakPointer< TObjectType > &  r)
inline

Overload operator assignment.

Definition at line 115 of file itkWeakPointer.h.

Referenced by itk::WeakPointer< OptimizerType >::operator=().

template<typename TObjectType>
WeakPointer& itk::WeakPointer< TObjectType >::operator= ( ObjectType r)
inline

Overload operator assignment.

Definition at line 119 of file itkWeakPointer.h.

template<typename TObjectType>
template<typename R >
bool itk::WeakPointer< TObjectType >::operator== ( r) const
inline

Template comparison operators.

Definition at line 74 of file itkWeakPointer.h.

template<typename TObjectType>
bool itk::WeakPointer< TObjectType >::operator> ( const WeakPointer< TObjectType > &  r) const
inline

Comparison of pointers. Greater than comparison.

Definition at line 102 of file itkWeakPointer.h.

template<typename TObjectType>
bool itk::WeakPointer< TObjectType >::operator>= ( const WeakPointer< TObjectType > &  r) const
inline

Comparison of pointers. Greater than or equal to comparison.

Definition at line 110 of file itkWeakPointer.h.

template<typename TObjectType>
ObjectType* itk::WeakPointer< TObjectType >::Print ( std::ostream &  os) const
inline

Function to print object pointed to.

Definition at line 126 of file itkWeakPointer.h.

Member Data Documentation

template<typename TObjectType>
ObjectType* itk::WeakPointer< TObjectType >::m_Pointer
private

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