Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
mitk::ReferenceCountWatcher Class Reference

Keeps track of the reference count of an object even if it is destroyed. More...

#include <mitkReferenceCountWatcher.h>

Inheritance diagram for mitk::ReferenceCountWatcher:
Collaboration diagram for mitk::ReferenceCountWatcher:

Public Types

typedef itk::SimpleMemberCommand< ReferenceCountWatcherCommandType
 
typedef ReferenceCountWatcher Self
 
typedef itk::Object Superclass
 
typedef itk::SmartPointer< SelfPointer
 
typedef itk::SmartPointer< const SelfConstPointer
 

Public Member Functions

virtual std::vector< std::string > GetClassHierarchy () const
 
virtual const char * GetClassName () const
 
 ReferenceCountWatcher (itk::Object *o, const char *comment="")
 Constructor requiring object to be watched and allowing an optional comment. More...
 
 ~ReferenceCountWatcher ()
 Destructor: remove observer. More...
 
int GetReferenceCount () const override
 Return the reference count of the watched object or 0 if it has been destroyed. More...
 
virtual const char * GetComment () const
 Return the optional string comment. More...
 

Static Public Member Functions

static const char * GetStaticNameOfClass ()
 

Protected Member Functions

void DeleteObserver ()
 Callback called on itk::DeleteEvent() of wathched object. More...
 

Protected Attributes

itk::Object * m_Object
 Object to be watched. More...
 
std::string m_Comment
 Optional comment, e.g. for debugging output. More...
 
bool m_Deleted
 If true, m_Object is no longer valid and the returned reference count will be 0. More...
 
CommandType::Pointer m_DeleteCommand
 itk::Command to get a notification when the object is deleted. More...
 
unsigned long m_ObserverTag
 

Detailed Description

Keeps track of the reference count of an object even if it is destroyed.

Example usage:

//## SomeFilter* filter = GetSomeFilter();
//## ReferenceCountWatcher::Pointer filterWatcher;
//## filterWatcher = new ReferenceCountWatcher(filter, "name of filter");
//## filterWatcher->GetReferenceCount();
//##

Definition at line 35 of file mitkReferenceCountWatcher.h.

Member Typedef Documentation

Definition at line 38 of file mitkReferenceCountWatcher.h.

Definition at line 40 of file mitkReferenceCountWatcher.h.

Constructor & Destructor Documentation

mitk::ReferenceCountWatcher::ReferenceCountWatcher ( itk::Object *  o,
const char *  comment = "" 
)
inline

Constructor requiring object to be watched and allowing an optional comment.

Definition at line 65 of file mitkReferenceCountWatcher.h.

References DeleteObserver(), m_ObserverTag, and mitk::New().

mitk::ReferenceCountWatcher::~ReferenceCountWatcher ( )
inline

Destructor: remove observer.

Definition at line 76 of file mitkReferenceCountWatcher.h.

References m_ObserverTag.

Member Function Documentation

void mitk::ReferenceCountWatcher::DeleteObserver ( )
inlineprotected

Callback called on itk::DeleteEvent() of wathched object.

Definition at line 102 of file mitkReferenceCountWatcher.h.

Referenced by ReferenceCountWatcher().

virtual std::vector<std::string> mitk::ReferenceCountWatcher::GetClassHierarchy ( ) const
inlinevirtual

Definition at line 40 of file mitkReferenceCountWatcher.h.

virtual const char* mitk::ReferenceCountWatcher::GetClassName ( ) const
virtual
virtual const char* mitk::ReferenceCountWatcher::GetComment ( ) const
virtual

Return the optional string comment.

int mitk::ReferenceCountWatcher::GetReferenceCount ( ) const
inlineoverride

Return the reference count of the watched object or 0 if it has been destroyed.

Definition at line 86 of file mitkReferenceCountWatcher.h.

static const char* mitk::ReferenceCountWatcher::GetStaticNameOfClass ( )
inlinestatic

Definition at line 40 of file mitkReferenceCountWatcher.h.

Member Data Documentation

std::string mitk::ReferenceCountWatcher::m_Comment
protected

Optional comment, e.g. for debugging output.

Definition at line 49 of file mitkReferenceCountWatcher.h.

CommandType::Pointer mitk::ReferenceCountWatcher::m_DeleteCommand
protected

itk::Command to get a notification when the object is deleted.

Definition at line 59 of file mitkReferenceCountWatcher.h.

bool mitk::ReferenceCountWatcher::m_Deleted
protected

If true, m_Object is no longer valid and the returned reference count will be 0.

Definition at line 54 of file mitkReferenceCountWatcher.h.

itk::Object* mitk::ReferenceCountWatcher::m_Object
protected

Object to be watched.

Definition at line 40 of file mitkReferenceCountWatcher.h.

unsigned long mitk::ReferenceCountWatcher::m_ObserverTag
protected

Definition at line 103 of file mitkReferenceCountWatcher.h.

Referenced by ReferenceCountWatcher(), and ~ReferenceCountWatcher().


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