#include "TContainer.h" ClassImp(TContainer) TContainer::TContainer():TObject() { mTrash = new TList(); mSize = MAXTRASHSIZE; } TContainer::~TContainer() { empty(); delete mTrash; } void TContainer::empty() { int i,n; mTrash->Delete(); mTrash->Clear(); return; } void TContainer::purge() { int i,n; if(mTrash->GetSize()<mSize) return; n = mTrash->GetSize(); for(i=n-1;i>=mSize/2;i--) { TObject *o = mTrash->At(i); remove(o); } return; } void TContainer::remove(char* name) { TObject *o = mTrash->FindObject(name); if(o) remove(o); } void TContainer::remove(TObject* o) { if(o) { mTrash->Remove(o); delete o; } return; } void TContainer::add(TObject* o) { purge(); if(o) mTrash->AddFirst(o); return; } TObject* TContainer::get(char* name) { TObject *o = mTrash->FindObject(name); return o; }