#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;
}


ROOT page - Class index - Class Hierarchy - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.