00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef ROOT_THashList
00013 #define ROOT_THashList
00014
00015
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00028
00029 #ifndef ROOT_TList
00030 #include "TList.h"
00031 #endif
00032
00033 class THashTable;
00034
00035
00036 class THashList : public TList {
00037
00038 protected:
00039 THashTable *fTable;
00040
00041 public:
00042 THashList(Int_t capacity=TCollection::kInitHashTableCapacity, Int_t rehash=0);
00043 THashList(TObject *parent, Int_t capacity=TCollection::kInitHashTableCapacity, Int_t rehash=0);
00044 virtual ~THashList();
00045 Float_t AverageCollisions() const;
00046 void Clear(Option_t *option="");
00047 void Delete(Option_t *option="");
00048
00049 TObject *FindObject(const char *name) const;
00050 TObject *FindObject(const TObject *obj) const;
00051
00052 void AddFirst(TObject *obj);
00053 void AddFirst(TObject *obj, Option_t *opt);
00054 void AddLast(TObject *obj);
00055 void AddLast(TObject *obj, Option_t *opt);
00056 void AddAt(TObject *obj, Int_t idx);
00057 void AddAfter(TObject *after, TObject *obj);
00058 void AddAfter(TObjLink *after, TObject *obj);
00059 void AddBefore(TObject *before, TObject *obj);
00060 void AddBefore(TObjLink *before, TObject *obj);
00061 void RecursiveRemove(TObject *obj);
00062 void Rehash(Int_t newCapacity);
00063 TObject *Remove(TObject *obj);
00064 TObject *Remove(TObjLink *lnk);
00065
00066 ClassDef(THashList,0)
00067 };
00068
00069 #endif