63 while ((obj = next()))
74 va_start(ap,
va_(obj1));
78 while ((obj = va_arg(ap,
TObject *)))
93 Error(
"AssertClass",
"class == 0");
97 for (
int i = 0; (obj = next()); i++)
99 Error(
"AssertClass",
"element %d is not an instance of class %s (%s)",
117 while ((obj = next())) b->
Add(obj);
129 if (newname && strlen(newname)) new_collection->
SetName(newname);
130 return new_collection;
140 if (
this == obj)
return 0;
152 while ((
object = next())) {
153 object->
Draw(option);
165 while ((
object = next())) {
180 while ((obj = next()))
181 if (!strcmp(name, obj->
GetName()))
return obj;
205 while ((ob = next()))
206 if (ob->
IsEqual(obj))
return ob;
226 Error(
"GrowBy",
"delta < 0");
248 std::cout <<
"OBJ: " << IsA()->GetName() <<
"\t" <<
GetName() <<
"\t" <<
GetTitle() <<
" : " 255 if (option) star = (
char*)strchr(option,
'*');
258 while ((
object = next())) {
261 if (s != option && s.
Index(re) ==
kNPOS)
continue;
273 for (
auto obj : *
this) success &= obj->Notify();
291 printf(
"Collection name='%s', class='%s', size=%d\n",
312 coll->
Print(option, recurse);
315 entry->
Print(option);
363 while ((
object = next())) {
386 if (!wildcard) wildcard =
"";
388 Int_t nch = strlen(wildcard);
393 while ((
object = next())) {
395 if (nch == 0 || s == wildcard || s.
Index(re) !=
kNPOS) {
423 while ((
object = next())) {
449 while ((
object = next())) {
462 while ((obj = next()))
469 void TCollection::Streamer(
TBuffer &
b)
478 TObject::Streamer(b);
482 for (
Int_t i = 0; i < nobjects; i++) {
489 TObject::Streamer(b);
496 while ((obj = next())) {
516 option &= ~kSingleKey;
520 while ((obj = next())) {
521 nbytes += obj->
Write(name, option, bsize);
537 return ((
const TCollection*)
this)->Write(name,option,bsize);
661 return TIter(static_cast<TIterator*>(
nullptr));
void Add(TObject *obj, const char *name=0, Int_t check=-1)
Add object with name to browser.
virtual const char * GetName() const
Returns name of object.
virtual Int_t Write(const char *name=0, Int_t option=0, Int_t bufsize=0)
Write this object to the current directory.
virtual TObject * Remove(TObject *obj)=0
static Int_t fgGarbageStack
object has not been deleted
static Int_t DecreaseDirLevel()
Decrease the indentation level for ls().
const TCollection * GetCollection() const
Bool_t MatchB(const TString &s, const TString &mods="", Int_t start=0, Int_t nMaxMatch=10)
virtual const char * GetCollectionEntryName(TObject *entry) const
For given collection entry return the string that is used to identify the object and, potentially, perform wildcard/regexp filtering on.
Int_t Compare(const TObject *obj) const
Compare two TCollection objects.
TIter & Begin()
Pointing to the first element of the container.
Bool_t TestBit(UInt_t f) const
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 void Draw(Option_t *option="")
Draw all objects in this collection.
Buffer base class used for serializing objects.
Regular expression class.
This class implements a mutex interface.
virtual Int_t CheckByteCount(UInt_t startpos, UInt_t bcnt, const TClass *clss)=0
Ssiz_t Index(const char *pat, Ssiz_t i=0, ECaseCompare cmp=kExact) const
TVirtualMutex * gCollectionMutex
virtual void Browse(TBrowser *b)
Browse object. May be overridden for another default action.
Short_t Range(Short_t lb, Short_t ub, Short_t x)
virtual void Draw(Option_t *option="")
Default Draw method for all objects.
static TCollection * fgCurrentCollection
virtual void Print(Option_t *option="") const
This method must be overridden when a class wants to print itself.
virtual UInt_t WriteVersion(const TClass *cl, Bool_t useBcnt=kFALSE)=0
virtual TObject * Clone(const char *newname="") const
Make a clone of an collection using the Streamer facility.
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.
if object in a list can be deleted
virtual void RecursiveRemove(TObject *obj)
Recursively remove this object from a list.
virtual const char * ClassName() const
Returns name of class to which the object belongs.
void AddVector(TObject *obj1,...)
Add all arguments to the collection.
virtual void PrintCollectionEntry(TObject *entry, Option_t *option, Int_t recurse) const
Print the collection entry.
virtual Bool_t IsEqual(const TObject *obj) const
Default equal comparison (objects are equal if they have the same address in memory).
Using a TBrowser one can browse all ROOT objects.
TIter & operator=(const TIter &rhs)
Assigning an TIter to another.
virtual void RecursiveRemove(TObject *obj)
Remove object from this collection and recursively remove the object from all other objects (and coll...
virtual Int_t GrowBy(Int_t delta) const
Increase the collection's capacity by delta slots.
static TCollection * GetCurrentCollection()
Return the globally accessible collection.
virtual TIterator * MakeIterator(Bool_t dir=kIterForward) const =0
virtual Bool_t InheritsFrom(const char *classname) const
Returns kTRUE if object inherits from class "classname".
Collection abstract base class.
virtual void Paint(Option_t *option="")
Paint all objects in this collection.
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
static void IndentLevel()
Functions used by ls() to indent an object hierarchy.
The ROOT global object gROOT contains a list of all defined classes.
virtual void SetByteCount(UInt_t cntpos, Bool_t packInVersion=kFALSE)=0
static void StartGarbageCollection()
Set up for garbage collection.
This class registers all instances of TObject and its derived classes in a hash table.
write collection with single key
virtual Bool_t Notify()
'Notify' all objects in this collection.
void SetName(const char *name)
void SetCurrentCollection()
Set this collection to be the globally accesible collection.
virtual void Dump() const
Dump all objects in this collection.
static Bool_t fgEmptyingGarbage
static TIter End()
Pointing to the element after the last - to a nullptr value in our case.
#define R__LOCKGUARD2(mutex)
static void GarbageCollect(TObject *obj)
Add to the list of things to be cleaned up.
void Add(THist< DIMENSIONS, PRECISION_TO, STAT_TO... > &to, const THist< DIMENSIONS, PRECISION_FROM, STAT_FROM... > &from)
Add two histograms.
virtual void ls(Option_t *option="") const
List (ls) all objects in this collection.
void Add(TObject *obj)
Add an object to the object table.
static TObjectTable * fgGarbageCollection
virtual void Dump() const
Dump contents of object on stdout.
void Browse(TBrowser *b)
Browse this collection (called by TBrowser).
virtual void Add(TObject *obj)=0
int CompareTo(const char *cs, ECaseCompare cmp=kExact) const
Compare a string to char *cs2.
static void EmptyGarbageCollection()
Do the garbage collection.
Mother of all ROOT objects.
virtual TObject * Clone(const char *newname="") const
Make a clone of an object using the Streamer facility.
static Int_t IncreaseDirLevel()
Increase the indentation level for ls().
virtual const char * GetTitle() const
Returns title of object.
typedef void((*Func_t)())
virtual void PrintCollectionHeader(Option_t *option) const
Print the collection header.
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
virtual TObject * FindObject(const char *name) const
Find an object in this collection using its name.
Bool_t AssertClass(TClass *cl) const
Make sure all objects in this collection inherit from class cl.
virtual void Print(Option_t *option="") const
Default print for collections, calls Print(option, 1).
virtual const char * GetName() const
Returns name of object.
virtual Int_t GetSize() const
void Delete(Option_t *opt="")
Delete all objects stored in the TObjectTable.
TObject * operator()(const char *name) const
Find an object in this collection by name.
#define R__FOR_EACH(type, proc)
virtual Int_t Write(const char *name=0, Int_t option=0, Int_t bufsize=0)
Write all objects in this collection.
virtual const char * GetName() const
Return name of this collection.
virtual Version_t ReadVersion(UInt_t *start=0, UInt_t *bcnt=0, const TClass *cl=0)=0
const char * Data() const