104#if (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 40600
105#pragma GCC diagnostic push
106#pragma GCC diagnostic ignored "-Weffc++"
143 void Reset()
override;
151#if (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 40600
152#pragma GCC diagnostic pop
159 return (at < fLowerBound || at-fLowerBound >=
fSize)
#define ClassDefOverride(name, id)
const Bool_t kIterForward
An array of clone (identical) objects.
Collection abstract base class.
Iterator abstract base class.
Iterator of object array.
std::bidirectional_iterator_tag iterator_category
std::ptrdiff_t difference_type
TIterator & operator=(const TIterator &rhs) override
Overridden assignment operator.
Bool_t operator!=(const TIterator &aIter) const override
This operator compares two TIterator objects.
TObject * operator*() const override
Return current object or nullptr.
TObject * Next() override
Return next object in array. Returns 0 when no more objects in array.
const TCollection * GetCollection() const override
void Reset() override
Reset array iterator.
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 GetEntriesFast() const
Int_t IndexOf(const TObject *obj) const override
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 AddAt(TObject *obj, Int_t idx) override
Add object at position ids.
TObject * Last() const override
Return the object in the last filled slot. Returns 0 if no entries.
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.
void Clear(Option_t *option="") override
Remove all objects from the array.
virtual void AddAtAndExpand(TObject *obj, Int_t idx)
Add object at position idx.
void AddAfter(const TObject *after, TObject *obj) override
Add object in the slot after object after.
TIterator * MakeIterator(Bool_t dir=kIterForward) const override
Returns an array iterator.
virtual void Compress()
Remove empty slots from array.
Int_t GetEntries() const override
Return the number of objects in array (i.e.
Bool_t BoundsOk(const char *where, Int_t at) const
void Delete(Option_t *option="") override
Remove all objects from the array AND delete all heap based objects.
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 * At(Int_t idx) const override
void AddLast(TObject *obj) override
Add object in the next empty slot in the array.
TObject * UncheckedAt(Int_t i) const
TObject * First() const override
Return the object in the first slot.
Bool_t IsEmpty() const override
Int_t fLowerBound
Array contents.
TObject * Remove(TObject *obj) override
Remove object from array.
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.
TObject * RemoveAt(Int_t idx) override
Remove object at index idx.
TObject * FindObject(const char *name) const override
Find an object in this collection using its name.
virtual void Randomize(Int_t ntimes=1)
Randomize objects inside the array, i.e.
TObject * After(const TObject *obj) const override
Return the object after obj. Returns 0 if obj is last object.
TObject * Before(const TObject *obj) const override
Return the object before obj. Returns 0 if obj is first object.
virtual void RemoveRange(Int_t idx1, Int_t idx2)
Remove objects from index idx1 to idx2 included.
Int_t GetLast() const override
Return index of last object in array.
void AddFirst(TObject *obj) override
Add object in the first slot of the array.
void RecursiveRemove(TObject *obj) override
Remove object from this collection and recursively remove the object from all other objects (and coll...
void AddBefore(const TObject *before, TObject *obj) override
Add object in the slot before object before.
void Add(TObject *obj) override
Mother of all ROOT objects.
Sequenceable collection abstract base class.