46      Warning(
"THashTable", 
"capacity (%d) < 0", capacity);
 
   48   } 
else if (capacity == 0)
 
   57   if (rehashlevel < 2) rehashlevel = 0;
 
  171   for (
int i = 0; i < 
fSize; i++) {
 
  207   if (
IsArgNull(
"Collisions", obj)) 
return 0;
 
  224   for (
int i = 0; i < 
fSize; i++)
 
  253   if (
IsArgNull(
"FindObject", obj)) 
return 0;
 
  284   if (
IsArgNull(
"GetListForObject", obj)) 
return 0;
 
  298   if (
IsArgNull(
"GetObjectRef", obj)) 
return 0;
 
  330   if (strstr(option,
"details")==
nullptr) {
 
  342         printf(
"Slot #%d:\n",cursor);
 
  377      while ((obj = next()))
 
  381      while ((obj = next()))
 
  392            "During the rehash of %p one or more element was added or removed. The initalize size was %d and now it is %d",
 
  447   for (
int i = 0; i < 
fSize; i++) {
 
  556         if (slot == -1) 
return 0;
 
  578      if (fCursor < fTable->Capacity())
 
#define R__COLLECTION_READ_LOCKGUARD(mutex)
 
const Bool_t kIterForward
 
#define R__COLLECTION_WRITE_LOCKGUARD(mutex)
 
R__EXTERN TObjectTable * gObjectTable
 
Collection abstract base class.
 
virtual TIterator * MakeIterator(Bool_t dir=kIterForward) const =0
 
Bool_t IsArgNull(const char *where, const TObject *obj) const
Returns true if object is a null pointer.
 
virtual void Print(Option_t *option="") const
Default print for collections, calls Print(option, 1).
 
virtual void AddAll(const TCollection *col)
Add all objects from collection col to this collection.
 
virtual Int_t GetEntries() const
 
virtual void PrintCollectionHeader(Option_t *option) const
Print the collection header.
 
virtual void SetOwner(Bool_t enable=kTRUE)
Set whether this collection is the owner (enable==true) of its content.
 
virtual Int_t GetSize() const
Return the capacity of the collection, i.e.
 
const THashTable * fTable
 
Bool_t operator!=(const TIterator &aIter) const
This operator compares two TIterator objects.
 
~THashTableIter()
Delete hashtable iterator.
 
void Reset()
Reset the hashtable iterator.
 
Int_t NextSlot()
Returns index of next slot in table containing list to be iterated.
 
TObject * Next()
Return next object in hashtable. Returns 0 when no more objects in table.
 
TObject * operator*() const
Return pointer to current object or nullptr.
 
TIterator & operator=(const TIterator &rhs)
Overridden assignment operator.
 
THashTable implements a hash table to store TObject's.
 
Float_t AverageCollisions() const
 
TObject * Remove(TObject *obj)
Remove object from the hashtable.
 
Int_t GetSize() const
Return the capacity of the collection, i.e.
 
virtual void AddAll(const TCollection *col)
Add all objects from collection col to this collection.
 
friend class THashTableIter
 
const TList * GetListForObject(const char *name) const
Return the TList corresponding to object's name based hash value.
 
TObject ** GetObjectRef(const TObject *obj) const
Return address of pointer to obj.
 
void AddImpl(Int_t slot, TObject *object)
Helper function doing the actual add to the table give a slot and object.
 
void Add(TObject *obj)
Add object to the hash table.
 
void Rehash(Int_t newCapacity, Bool_t checkObjValidity=kTRUE)
Rehash the hashtable.
 
TObject * RemoveSlow(TObject *obj)
Remove object from the hashtable without using the hash value.
 
void AddBefore(const TObject *before, TObject *obj)
Add object to the hash table.
 
void Print(Option_t *option, Int_t recurse) const
Print the collection header and its elements.
 
THashTable(const THashTable &)
 
TIterator * MakeIterator(Bool_t dir=kIterForward) const
Returns a hash table iterator.
 
TObject * FindObject(const char *name) const
Find object using its name.
 
void Delete(Option_t *option="")
Remove all objects from the table AND delete all heap based objects.
 
Int_t Collisions(const char *name) const
Returns the number of collisions for an object with a certain name (i.e.
 
virtual ~THashTable()
Delete a hashtable.
 
Int_t GetCheckedHashValue(TObject *obj) const
 
Int_t GetHashValue(const TObject *obj) const
 
void Clear(Option_t *option="")
Remove all objects from the table.
 
Iterator abstract base class.
 
TObject * Next()
Return next object in the list. Returns 0 when no more objects in list.
 
const TCollection * GetCollection() const
 
virtual void Add(TObject *obj)
 
virtual TObject * Remove(TObject *obj)
Remove object from the list.
 
virtual TObject ** GetObjectRef(const TObject *obj) const
Return address of pointer to obj.
 
virtual TObject * FindObject(const char *name) const
Find an object in this list using its name.
 
virtual void AddBefore(const TObject *before, TObject *obj)
Insert object before object before in the list.
 
virtual void Delete(Option_t *option="")
Remove all objects from the list AND delete all heap based objects.
 
virtual void Clear(Option_t *option="")
Remove all objects from the list.
 
Bool_t PtrIsValid(TObject *obj)
 
Mother of all ROOT objects.
 
virtual void Warning(const char *method, const char *msgfmt,...) const
Issue warning message.
 
static Bool_t GetObjectStat()
Get status of object stat flag.
 
virtual void Fatal(const char *method, const char *msgfmt,...) const
Issue fatal error message.
 
static Int_t IncreaseDirLevel()
Increase the indentation level for ls().
 
static void IndentLevel()
Functions used by ls() to indent an object hierarchy.
 
static Int_t DecreaseDirLevel()
Decrease the indentation level for ls().
 
Long_t NextPrime(Long_t x)
TMath Base functions.
 
R__EXTERN TVirtualRWMutex * gCoreMutex
 
Short_t Max(Short_t a, Short_t b)