bbtk::Object::Deleter Struct Reference

Default objects deleter : removes object from list on deletion. More...

#include <bbtkObject.h>

Inheritance diagram for bbtk::Object::Deleter:

Inheritance graph
[legend]

List of all members.

Public Member Functions

 Deleter ()
virtual ~Deleter ()
virtual void operator() (Object *p)
 Objects deleter.
virtual int Delete (Object *p)

Public Attributes

WeakPointer mPointer


Detailed Description

Default objects deleter : removes object from list on deletion.

Definition at line 78 of file bbtkObject.h.


Constructor & Destructor Documentation

bbtk::Object::Deleter::Deleter (  )  [inline]

Reimplemented in bbtk::BlackBox::Deleter.

Definition at line 80 of file bbtkObject.h.

00080 : mPointer() {}

virtual bbtk::Object::Deleter::~Deleter (  )  [inline, virtual]

Definition at line 81 of file bbtkObject.h.

00081 {}


Member Function Documentation

virtual int bbtk::Object::Deleter::Delete ( Object p  )  [inline, virtual]

Reimplemented in bbtk::BlackBox::Deleter.

Definition at line 83 of file bbtkObject.h.

Referenced by operator()().

00083 { delete p; return 0; }

Here is the caller graph for this function:

void bbtk::Object::Deleter::operator() ( Object p  )  [virtual]

Objects deleter.

Definition at line 194 of file bbtkObject.cxx.

References bbtkDebugMessage, bbtkWarning, Delete(), bbtk::Object::GetObjectName(), mPointer, and bbtk::Object::RemoveFromObjectList().

00195   {
00196     std::string name = p->GetObjectName();
00197 #ifdef BBTK_COMPILE_DEBUG_MESSAGES
00198     void* adr = (void*)p;
00199     bbtkDebugMessage("object",1,"##> Object::Deleter : deleting \""
00200                      <<name<<"\" ["<<adr<<"]"<<std::endl);
00201 #endif
00202     int remaining = this->Delete(p);
00203     if (remaining == 0)
00204       {
00205         Object::RemoveFromObjectList(mPointer);
00206         bbtkDebugMessage("object",2,"<## Object::Deleter : \""<<name<<"\" ["
00207                          <<adr<<"] deleted"<<std::endl);
00208       }
00209     else
00210       {
00211         bbtkWarning("##### Object::Deleter \""<<name<<"\" failed !!! "
00212                     << remaining << " reference(s) still around..."
00213                     <<std::endl); 
00214       }
00215   }

Here is the call graph for this function:


Member Data Documentation

Definition at line 84 of file bbtkObject.h.

Referenced by operator()().


The documentation for this struct was generated from the following files:

Generated on Thu May 31 14:14:54 2012 for BBTK by  doxygen 1.5.7.1