12#ifndef ROOT_TOrdCollection
13#define ROOT_TOrdCollection
122 void Reset()
override;
#define ClassDefOverride(name, id)
const Bool_t kIterForward
Collection abstract base class.
Iterator abstract base class.
Mother of all ROOT objects.
Iterator of ordered collection.
TIterator & operator=(const TIterator &rhs) override
Overridden assignment operator.
TObject * operator*() const override
Return current object or nullptr.
void Reset() override
Reset collection iterator.
const TOrdCollection * fCol
std::ptrdiff_t difference_type
TObject * Next() override
Return next object in collection.
const TCollection * GetCollection() const override
std::bidirectional_iterator_tag iterator_category
Bool_t operator!=(const TIterator &aIter) const override
This operator compares two TIterator objects.
void AddFirst(TObject *obj) override
Insert object at beginning of collection.
TObject * After(const TObject *obj) const override
Return the object after object obj.
TObject * First() const override
Return the first object in the collection.
Bool_t LowWaterMark() const
TOrdCollection(const TOrdCollection &)=delete
TOrdCollection & operator=(const TOrdCollection &)=delete
void PutAt(TObject *obj, Int_t idx)
Put object at index idx. Overwrites what was at idx before.
void AddBefore(const TObject *before, TObject *obj) override
Insert object before object before in the collection.
void AddLast(TObject *obj) override
Add object at the end of the collection.
void Clear(Option_t *option="") override
Remove all objects from the collection.
void AddAfter(const TObject *after, TObject *obj) override
Insert object after object after in the collection.
~TOrdCollection()
Delete the collection.
Int_t PhysIndex(Int_t idx) const
void Sort()
If objects in collection are sortable (i.e.
Int_t IndexOf(const TObject *obj) const override
Return index of object in collection.
TObject * Last() const override
Return the last object in the collection.
Int_t LogIndex(Int_t idx) const
TObject * Remove(TObject *obj) override
Remove object from collection.
TObject * Before(const TObject *obj) const override
Returns the object before object obj.
TOrdCollectionIter Iterator_t
void AddAt(TObject *obj, Int_t idx) override
Insert object at position idx in the collection.
TObject * RemoveAt(Int_t idx) override
Remove object at index idx.
void Init(Int_t capacity)
Initialize ordered collection.
void Delete(Option_t *option="") override
Remove all objects from the collection AND delete all heap based objects.
Bool_t IllegalIndex(const char *method, Int_t idx) const
Return true when index out of bounds and print error.
TObject * At(Int_t idx) const override
Returns the object at position idx. Returns 0 if idx is out of range.
TObject ** GetObjectRef(const TObject *obj) const override
return address of pointer obj
void MoveGapTo(Int_t newGapStart)
Move gap to new position.
TIterator * MakeIterator(Bool_t dir=kIterForward) const override
Return an ordered collection iterator.
Int_t BinarySearch(TObject *obj)
Find object using a binary search.
void SetCapacity(Int_t newCapacity)
Set/change ordered collection capacity.
Sequenceable collection abstract base class.