138 while ((a = (
TPair *)next()))
155 while ((a = (
TPair *)next()))
172 while ((a = (
TPair *)next())) {
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);
383 TObject::Streamer(b);
388 while ((a = (
TPair*) next())) {
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);
455 if (fKey) b->
Add(fKey);
458 if (fKey) fKey->Browse(b);
547 if (a)
return a->
Key();
565 const TMapIter &iter(dynamic_cast<const TMapIter &>(aIter));
void Add(TObject *obj, const char *name=0, Int_t check=-1)
Add object with name to browser.
Int_t Capacity() const
Return number of slots in the hashtable.
virtual Int_t Write(const char *name=0, Int_t option=0, Int_t bufsize=0)
Write this object to the current directory.
TPair * RemoveEntry(TObject *key)
Remove (key,value) pair with key from the map.
void CallRecursiveRemoveIfNeeded(TObject &obj)
call RecursiveRemove for obj if gROOT is valid and obj.TestBit(kMustCleanup) is true.
virtual void SetOwner(Bool_t enable=kTRUE)
Set whether this collection is the owner (enable==true) of its content.
Bool_t IsArgNull(const char *where, const TObject *obj) const
Returns true if object is a null pointer.
virtual ~TPair()
TPair destructor.
Buffer base class used for serializing objects.
void Rehash(Int_t newCapacity, Bool_t checkObjValidity=kTRUE)
Rehash the hashtable.
Float_t AverageCollisions() const
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 Int_t CheckByteCount(UInt_t startpos, UInt_t bcnt, const TClass *clss)=0
virtual void Print(Option_t *option="") const
This method must be overridden when a class wants to print itself.
virtual Int_t Write(const char *name=0, Int_t option=0, Int_t bufsize=0)
Write all objects in this map.
virtual UInt_t WriteVersion(const TClass *cl, Bool_t useBcnt=kFALSE)=0
virtual ~TMap()
TMap dtor.
Iterator abstract base class.
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.
TObject * operator*() const
Return pointer to current object (a TPair) or nullptr.
THashTable implements a hash table to store TObject's.
Bool_t IsOwnerValue() const
void DeleteAll()
Remove all (key,value) pairs from the map AND delete the keys AND values when they are allocated on t...
Float_t AverageCollisions() const
Return the ratio of entries vs occupied slots.
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...
TIterator * MakeIterator(Bool_t dir=kIterForward) const
Create an iterator for TMap.
virtual void SetOwnerValue(Bool_t enable=kTRUE)
Set whether this map is the owner (enable==true) of its values.
Using a TBrowser one can browse all ROOT objects.
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...
write collection with single key
TObject * Remove(TObject *key)
Remove the (key,value) pair with key from the map.
virtual TIterator * MakeIterator(Bool_t dir=kIterForward) const =0
Bool_t DeleteEntry(TObject *key)
Remove (key,value) pair with key from the map.
Collection abstract base class.
R__ALWAYS_INLINE Bool_t IsOnHeap() const
~TMapIter()
Map iterator dtor.
static void IndentLevel()
Functions used by ls() to indent an object hierarchy.
virtual void SetByteCount(UInt_t cntpos, Bool_t packInVersion=kFALSE)=0
void DeleteValues()
Remove all (key,value) pairs from the map AND delete the values when they are allocated on the heap...
void Rehash(Int_t newCapacity, Bool_t checkObjValidity=kTRUE)
Rehash the underlaying THashTable (see THashTable::Rehash()).
static void GarbageCollect(TObject *obj)
Add to the list of things to be cleaned up.
Int_t Collisions(const char *name) const
Returns the number of collisions for an object with a certain name (i.e.
Class used by TMap to store (key,value) pairs.
TObject * FindObject(const char *name) const
Find object using its name.
TMap implements an associative array of (key,value) pairs using a THashTable for efficient retrieval ...
const TCollection * GetCollection() const
void Add(TObject *obj)
Add object to the hash table.
Int_t Collisions(const char *keyname) const
Returns the number of collisions for a key with a certain name (i.e.
TIterator & operator=(const TIterator &rhs)
Overridden assignment operator.
Mother of all ROOT objects.
void Delete(Option_t *option="")
Remove all objects from the table AND delete all heap based objects.
TObject * FindObject(const char *keyname) const
Check if a (key,value) pair exists with keyname as name of the key.
Bool_t operator!=(const TIterator &aIter) const
This operator compares two TIterator objects.
TObject * Next()
Returns the next key from a map.
you should not use this method at all Int_t Int_t Double_t Double_t Double_t Int_t Double_t Double_t Double_t Double_t b
TObject * Next()
Return next object in hashtable. Returns 0 when no more objects in table.
virtual void Browse(TBrowser *b)
Browse the pair.
TObject * GetValue(const char *keyname) const
Returns a pointer to the value associated with keyname as name of the key.
virtual void Print(Option_t *option="") const
Default print for collections, calls Print(option, 1).
virtual Int_t GetSize() const
Return the capacity of the collection, i.e.
void Reset()
Reset the map iterator.
virtual void PrintCollectionEntry(TObject *entry, Option_t *option, Int_t recurse) const
Print the collection entry.
void Clear(Option_t *option="")
Remove all (key,value) pairs from the map.
virtual Version_t ReadVersion(UInt_t *start=0, UInt_t *bcnt=0, const TClass *cl=0)=0
TObject * Remove(TObject *obj)
Remove object from the hashtable.