138 while ((
a = (
TPair *)next()))
139 if (
a->Key() &&
a->Key()->IsOnHeap())
155 while ((
a = (
TPair *)next()))
156 if (
a->Value() &&
a->Value()->IsOnHeap())
172 while ((
a = (
TPair *)next())) {
173 if (
a->Key() &&
a->Key()->IsOnHeap())
175 if (
a->Value() &&
a->Value()->IsOnHeap())
196 if (
IsOwner() &&
a->Key() &&
a->Key()->IsOnHeap())
227 if (
IsArgNull(
"FindObject", key))
return 0;
238 if (
a)
return a->Value();
247 if (
IsArgNull(
"GetValue", key))
return 0;
250 if (
a)
return a->Value();
276 coll->
Print(option, recurse);
371 TObject::Streamer(
b);
375 for (
Int_t i = 0; i < nobjects; i++) {
378 if (obj)
Add(obj, value);
380 b.CheckByteCount(R__s, R__c,TMap::IsA());
382 R__c =
b.WriteVersion(TMap::IsA(),
kTRUE);
383 TObject::Streamer(
b);
388 while ((
a = (
TPair*) next())) {
392 b.SetByteCount(R__c,
kTRUE);
409 option &= ~kSingleKey;
413 while ((
a = (
TPair*) next())) {
415 nbytes +=
a->Key()->Write(
name, option, bsize);
417 nbytes +=
a->Value()->Write(
name, option, bsize);
433 return ((
const TMap*)
this)->Write(
name,option,bsize);
547 if (
a)
return a->Key();
Using a TBrowser one can browse all ROOT objects.
Buffer base class used for serializing objects.
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 SetOwner(Bool_t enable=kTRUE)
Set whether this collection is the owner (enable==true) of its content.
static void GarbageCollect(TObject *obj)
Add to the list of things to be cleaned up.
virtual Int_t GetSize() const
Return the capacity of the collection, i.e.
TObject * Next()
Return next object in hashtable. Returns 0 when no more objects in table.
const TCollection * GetCollection() const
THashTable implements a hash table to store TObject's.
Float_t AverageCollisions() const
TObject * Remove(TObject *obj)
Remove object from the hashtable.
void Add(TObject *obj)
Add object to the hash table.
void Rehash(Int_t newCapacity, Bool_t checkObjValidity=kTRUE)
Rehash the hashtable.
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.
Iterator abstract base class.
~TMapIter()
Map iterator dtor.
TIterator & operator=(const TIterator &rhs)
Overridden assignment operator.
void Reset()
Reset the map iterator.
TObject * operator*() const
Return pointer to current object (a TPair) or nullptr.
TObject * Next()
Returns the next key from a map.
Bool_t operator!=(const TIterator &aIter) const
This operator compares two TIterator objects.
TMap implements an associative array of (key,value) pairs using a THashTable for efficient retrieval ...
void DeleteAll()
Remove all (key,value) pairs from the map AND delete the keys AND values when they are allocated on t...
TIterator * MakeIterator(Bool_t dir=kIterForward) const
Create an iterator for TMap.
TPair * RemoveEntry(TObject *key)
Remove (key,value) pair with key from the map.
virtual ~TMap()
TMap dtor.
virtual void PrintCollectionEntry(TObject *entry, Option_t *option, Int_t recurse) const
Print the collection entry.
Int_t Collisions(const char *keyname) const
Returns the number of collisions for a key with a certain name (i.e.
void Add(TObject *obj)
This function may not be used (but we need to provide it since it is a pure virtual in TCollection).
virtual void SetOwnerKeyValue(Bool_t ownkeys=kTRUE, Bool_t ownvals=kTRUE)
Set ownership for keys and values.
void Delete(Option_t *option="")
Remove all (key,value) pairs from the map AND delete the keys when they are allocated on the heap.
Float_t AverageCollisions() const
Return the ratio of entries vs occupied slots.
void DeleteValues()
Remove all (key,value) pairs from the map AND delete the values when they are allocated on the heap.
Bool_t DeleteEntry(TObject *key)
Remove (key,value) pair with key from the map.
virtual Int_t Write(const char *name=0, Int_t option=0, Int_t bufsize=0)
Write all objects in this map.
Bool_t IsOwnerValue() const
virtual void SetOwnerValue(Bool_t enable=kTRUE)
Set whether this map is the owner (enable==true) of its values.
Int_t Capacity() const
Return number of slots in the hashtable.
TObject * GetValue(const char *keyname) const
Returns a pointer to the value associated with keyname as name of the key.
TObject * FindObject(const char *keyname) const
Check if a (key,value) pair exists with keyname as name of the key.
TObject * Remove(TObject *key)
Remove the (key,value) pair with key from the map.
void Rehash(Int_t newCapacity, Bool_t checkObjValidity=kTRUE)
Rehash the underlaying THashTable (see THashTable::Rehash()).
void Clear(Option_t *option="")
Remove all (key,value) pairs from the map.
Mother of all ROOT objects.
virtual Int_t Write(const char *name=0, Int_t option=0, Int_t bufsize=0)
Write this object to the current directory.
@ kSingleKey
write collection with single key
virtual void Browse(TBrowser *b)
Browse object. May be overridden for another default action.
void MayNotUse(const char *method) const
Use this method to signal that a method (defined in a base class) may not be called in a derived clas...
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.
virtual void Print(Option_t *option="") const
This method must be overridden when a class wants to print itself.
Class used by TMap to store (key,value) pairs.
virtual void Browse(TBrowser *b)
Browse the pair.
virtual ~TPair()
TPair destructor.
static void IndentLevel()
Functions used by ls() to indent an object hierarchy.
void CallRecursiveRemoveIfNeeded(TObject &obj)
call RecursiveRemove for obj if gROOT is valid and obj.TestBit(kMustCleanup) is true.