12 #ifndef ROOT_THashTable 13 #define ROOT_THashTable virtual ULong_t Hash() const
Return hash value for this object.
UInt_t Hash(const TString &s)
virtual void AddAll(const TCollection *col)
Add all objects from collection col to this collection.
void AddBefore(const TObject *before, TObject *obj)
Add object to the hash table.
TObject ** GetObjectRef(const TObject *obj) const
Return address of pointer to obj.
Int_t GetRehashLevel() const
void Rehash(Int_t newCapacity, Bool_t checkObjValidity=kTRUE)
Rehash the hashtable.
Float_t AverageCollisions() const
const TList * GetListForObject(const char *name) const
Return the TList corresponding to object's name based hash value.
TObject * RemoveSlow(TObject *obj)
Remove object from the hashtable without using the hash value.
THashTable & operator=(const THashTable &)
const THashTable * fTable
Iterator abstract base class.
UInt_t Hash(ECaseCompare cmp=kExact) const
Return hash value.
THashTable(const THashTable &)
friend class THashTableIter
THashTable implements a hash table to store TObject's.
#define ClassDef(name, id)
void Clear(Option_t *option="")
Remove all objects from the table.
void SetRehashLevel(Int_t rehash)
const Bool_t kIterForward
Bool_t operator!=(const TDatime &d1, const TDatime &d2)
ULong_t CheckedHash()
Checked and record whether for this class has a consistent Hash/RecursiveRemove setup (*) and then re...
TTime operator*(const TTime &t1, const TTime &t2)
Collection abstract base class.
virtual ~THashTable()
Delete a hashtable.
Int_t GetHashValue(const char *str) const
void Reset(Detail::TBranchProxy *x)
TIterator * MakeIterator(Bool_t dir=kIterForward) const
Returns a hash table iterator.
Int_t Collisions(const char *name) const
Returns the number of collisions for an object with a certain name (i.e.
void Print(Option_t *option, Int_t recurse) const
Print the collection header and its elements.
TObject * FindObject(const char *name) const
Find object using its name.
Int_t GetHashValue(TString &s) const
const TCollection * GetCollection() const
void Add(TObject *obj)
Add object to the hash table.
static constexpr double s
Mother of all ROOT objects.
void Delete(Option_t *option="")
Remove all objects from the table AND delete all heap based objects.
Int_t GetCheckedHashValue(TObject *obj) const
virtual void Print(Option_t *option="") const
Default print for collections, calls Print(option, 1).
Int_t GetHashValue(const TObject *obj) const
TObject * Remove(TObject *obj)
Remove object from the hashtable.