29#if (__GNUC__ >= 3) && !defined(__INTEL_COMPILER)
32#pragma GCC system_header
110#if (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 40600
111#pragma GCC diagnostic push
112#pragma GCC diagnostic ignored "-Weffc++"
124 public std::iterator<std::bidirectional_iterator_tag,
125 TObject*, std::ptrdiff_t,
126 const TObject**, const TObject*&> {
153#if (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 40600
154#pragma GCC diagnostic pop
161 return (at < fLowerBound || at-fLowerBound >=
fSize)
#define ClassDef(name, id)
const Bool_t kIterForward
An array of clone (identical) objects.
Collection abstract base class.
Iterator abstract base class.
Iterator of object array.
Bool_t operator!=(const TIterator &aIter) const
This operator compares two TIterator objects.
void Reset()
Reset array iterator.
TIterator & operator=(const TIterator &rhs)
Overridden assignment operator.
TObject * operator*() const
Return current object or nullptr.
TObject * Next()
Return next object in array. Returns 0 when no more objects in array.
const TCollection * GetCollection() const
virtual Int_t AddAtFree(TObject *obj)
Return the position of the new object.
TObjArray & operator=(const TObjArray &)
Assignment operator. Note, unsets the kIsOwner flag.
Int_t IndexOf(const TObject *obj) const
Int_t GetEntriesFast() const
virtual void Expand(Int_t newSize)
Expand or shrink the array to newSize elements.
Int_t GetEntriesUnsafe() const
Return the number of objects in array (i.e.
virtual TObject *& operator[](Int_t i)
Return the object at position i.
TObject ** GetObjectRef() const
virtual ~TObjArray()
Delete an array.
void Init(Int_t s, Int_t lowerBound)
Initialize a TObjArray.
virtual void Sort(Int_t upto=kMaxInt)
If objects in array are sortable (i.e.
virtual void AddLast(TObject *obj)
Add object in the next empty slot in the array.
virtual void AddAtAndExpand(TObject *obj, Int_t idx)
Add object at position idx.
virtual void AddAfter(const TObject *after, TObject *obj)
Add object in the slot after object after.
TObject * Last() const
Return the object in the last filled slot. Returns 0 if no entries.
virtual void Compress()
Remove empty slots from array.
Bool_t BoundsOk(const char *where, Int_t at) const
Int_t GetEntries() const
Return the number of objects in array (i.e.
virtual void Clear(Option_t *option="")
Remove all objects from the array.
Bool_t OutOfBoundsError(const char *where, Int_t i) const
Generate an out-of-bounds error. Always returns false.
virtual Int_t BinarySearch(TObject *obj, Int_t upto=kMaxInt)
Find object using a binary search.
TObject * After(const TObject *obj) const
Return the object after obj. Returns 0 if obj is last object.
TObject * UncheckedAt(Int_t i) const
TObject * First() const
Return the object in the first slot.
virtual void Delete(Option_t *option="")
Remove all objects from the array AND delete all heap based objects.
virtual void AddBefore(const TObject *before, TObject *obj)
Add object in the slot before object before.
virtual TObject * FindObject(const char *name) const
Find an object in this collection using its name.
Int_t fLowerBound
Array contents.
Int_t GetAbsLast() const
Return absolute index to last object in array.
void SetLast(Int_t last)
Set index of last object in array, effectively truncating the array.
TIterator * MakeIterator(Bool_t dir=kIterForward) const
Returns an array iterator.
virtual void Randomize(Int_t ntimes=1)
Randomize objects inside the array, i.e.
virtual void RecursiveRemove(TObject *obj)
Remove object from this collection and recursively remove the object from all other objects (and coll...
Int_t GetLast() const
Return index of last object in array.
TObject * Before(const TObject *obj) const
Return the object before obj. Returns 0 if obj is first object.
virtual TObject * Remove(TObject *obj)
Remove object from array.
virtual void AddFirst(TObject *obj)
Add object in the first slot of the array.
virtual void RemoveRange(Int_t idx1, Int_t idx2)
Remove objects from index idx1 to idx2 included.
TObjArray(Int_t s=TCollection::kInitCapacity, Int_t lowerBound=0)
Create an object array.
virtual void AddAt(TObject *obj, Int_t idx)
Add object at position ids.
virtual TObject * RemoveAt(Int_t idx)
Remove object at index idx.
TObject * At(Int_t idx) const
Mother of all ROOT objects.
Sequenceable collection abstract base class.
static constexpr double s