#include "bbtkObject.h" #include "bbtkMessageManager.h" namespace bbtk { //======================================================================= Object::ObjectListType Object::mgObjectList; //======================================================================= //======================================================================= Object::Object() { } //======================================================================= //======================================================================= Object::~Object() { } //======================================================================= //======================================================================= void Object::InsertInObjectList(Pointer p) { bbtkDebugMessage("object",9,"##> Object::InsertInObjectList(\"" <GetObjectName()<<"\" ["< w(p); mgObjectList.insert(w); } //======================================================================= //======================================================================= void Object::RemoveFromObjectList(WeakPointer p) { bbtkDebugMessage("object",9,"##> Object::RemoveFromObjectList()" <use_count() == 0) { u++; } else { Object::Pointer p(i->lock()); if (p->GetObjectName().find(name) != std::string::npos ) { std::cout << n << "/" << mgObjectList.size() << " "; PrintObjectInfo(p); m += p->GetObjectSize(); n++; } } } std::cout << "------------------------------------------------------"<1) { std::cout<<"* Note : "<use_count() == 0) continue; Object::Pointer p(i->lock()); if (p->GetObjectName().find(name) != std::string::npos ) { std::cout << n << "/" << mgObjectList.size() << " "; PrintObjectInfo(p); } } } //======================================================================= */ //======================================================================= void Object::PrintObjectInfo(const Object::Pointer& p) { std::cout << "* [" << p << "] \t" << p.use_count()-1 << " r \t" << p->GetObjectRecursiveSize() << " (" << p->GetObjectSize() << ") b \t" << p->GetObjectName() << std::endl; std::cout << p->GetObjectInfo(); } //======================================================================= //======================================================================= /// Objects deleter void Object::Deleter::operator() (Object* p) { std::string name = p->GetObjectName(); void* adr = (void*)p; bbtkDebugMessage("object",1,"##> Object::Deleter : deleting \"" <Delete(p); bbtkDebugMessage("object",2,"<## Object::Deleter : \""<0) { std::cout << std::endl; std::cout << "**************************** WARNING *************************" <