ROOT logo
#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;
}
 TContainer.cxx:1
 TContainer.cxx:2
 TContainer.cxx:3
 TContainer.cxx:4
 TContainer.cxx:5
 TContainer.cxx:6
 TContainer.cxx:7
 TContainer.cxx:8
 TContainer.cxx:9
 TContainer.cxx:10
 TContainer.cxx:11
 TContainer.cxx:12
 TContainer.cxx:13
 TContainer.cxx:14
 TContainer.cxx:15
 TContainer.cxx:16
 TContainer.cxx:17
 TContainer.cxx:18
 TContainer.cxx:19
 TContainer.cxx:20
 TContainer.cxx:21
 TContainer.cxx:22
 TContainer.cxx:23
 TContainer.cxx:24
 TContainer.cxx:25
 TContainer.cxx:26
 TContainer.cxx:27
 TContainer.cxx:28
 TContainer.cxx:29
 TContainer.cxx:30
 TContainer.cxx:31
 TContainer.cxx:32
 TContainer.cxx:33
 TContainer.cxx:34
 TContainer.cxx:35
 TContainer.cxx:36
 TContainer.cxx:37
 TContainer.cxx:38
 TContainer.cxx:39
 TContainer.cxx:40
 TContainer.cxx:41
 TContainer.cxx:42
 TContainer.cxx:43
 TContainer.cxx:44
 TContainer.cxx:45
 TContainer.cxx:46
 TContainer.cxx:47
 TContainer.cxx:48
 TContainer.cxx:49
 TContainer.cxx:50
 TContainer.cxx:51
 TContainer.cxx:52
 TContainer.cxx:53
 TContainer.cxx:54
 TContainer.cxx:55
 TContainer.cxx:56
 TContainer.cxx:57
 TContainer.cxx:58