121class TObjLink :
public std::enable_shared_from_this<TObjLink> {
179#if (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 40600
180#pragma GCC diagnostic push
181#pragma GCC diagnostic ignored "-Weffc++"
223 void Reset()
override;
240 return NewLink(obj, prev ? prev->shared_from_this() :
nullptr);
243 return NewOptLink(obj, opt, prev ? prev->shared_from_this() :
nullptr);
247#if (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 40600
248#pragma GCC diagnostic pop
#define ClassDefOverride(name, id)
const Bool_t kIterForward
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t r
bool operator==(TObjOptLink *l, const std::shared_ptr< TObjLink > &r)
const Bool_t kSortAscending
const Bool_t kSortDescending
Collection abstract base class.
Iterator abstract base class.
TObject * operator*() const override
Return current object or nullptr.
Option_t * GetOption() const override
Returns the object option stored in the list.
std::ptrdiff_t difference_type
void Reset() override
Reset list iterator.
std::shared_ptr< TObjLink > TObjLinkPtr_t
const TCollection * GetCollection() const override
TObject * Next() override
Return next object in the list. Returns 0 when no more objects in list.
TIterator & operator=(const TIterator &rhs) override
Overridden assignment operator.
void SetOption(Option_t *option)
Sets the object option stored in the list.
Bool_t operator!=(const TIterator &aIter) const override
This operator compares two TIterator objects.
std::bidirectional_iterator_tag iterator_category
Bool_t LnkCompare(const TObjLinkPtr_t &l1, const TObjLinkPtr_t &l2)
Compares the objects stored in the TObjLink objects.
void AddAfter(const TObject *after, TObject *obj) override
Insert object after object after in the list.
TObject * After(const TObject *obj) const override
Returns the object after object obj.
TObjLinkPtr_t NewOptLink(TObject *obj, Option_t *opt, const TObjLinkPtr_t &prev=nullptr)
Return a new TObjOptLink (a TObjLink that also stores the option).
void Clear(Option_t *option="") override
Remove all objects from the list.
TObject ** GetObjectRef(const TObject *obj) const override
Return address of pointer to obj.
virtual TObjLink * LastLink() const
TList & operator=(const TList &)=delete
TList(const TList &)=delete
virtual ~TList()
Delete the list.
std::weak_ptr< TObjLink > TObjLinkWeakPtr_t
Bool_t fAscending
cache to speedup sequential calling of Before() and After() functions
void AddAt(TObject *obj, Int_t idx) override
Insert object at position idx in the list.
TObject * Before(const TObject *obj) const override
Returns the object before object obj.
TObject * FindObject(const char *name) const override
Find an object in this list using its name.
void RecursiveRemove(TObject *obj) override
Remove object from this collection and recursively remove the object from all other objects (and coll...
TObjLink * FindLink(const TObject *obj, Int_t &idx) const
Returns the TObjLink object that contains object obj.
void Add(TObject *obj) override
TObject * Remove(TObject *obj) override
Remove object from the list.
void AddLast(TObject *obj) override
Add object at the end of the list.
TObject * Last() const override
Return the last object in the list. Returns 0 when list is empty.
std::shared_ptr< TObjLink > TObjLinkPtr_t
TObject * Remove(const TObjLinkPtr_t &lnk)
TObject * First() const override
Return the first object in the list. Returns 0 when list is empty.
TObjLinkPtr_t fLast
pointer to first entry in linked list
void InsertAfter(const TObjLinkPtr_t &newlink, const TObjLinkPtr_t &prev)
Insert a new link in the chain.
TIterator * MakeIterator(Bool_t dir=kIterForward) const override
Return a list iterator.
void AddBefore(const TObject *before, TObject *obj) override
Insert object before object before in the list.
TObjLink * LinkAt(Int_t idx) const
sorting order (when calling Sort() or for TSortedList)
virtual TObjLink * FirstLink() const
TObjLinkPtr_t NewLink(TObject *obj, const TObjLinkPtr_t &prev=nullptr)
Return a new TObjLink.
void Delete(Option_t *option="") override
Remove all objects from the list AND delete all heap based objects.
virtual void Add(TObject *obj, Option_t *opt)
TObjLinkWeakPtr_t fCache
pointer to last entry in linked list
TObject * At(Int_t idx) const override
Returns the object at position idx. Returns 0 if idx is out of range.
void RemoveLast() override
Remove the last object of the list.
TObjLinkPtr_t * DoSort(TObjLinkPtr_t *head, Int_t n)
Sort linked list.
void AddFirst(TObject *obj) override
Add object at the beginning of the list.
virtual void Sort(Bool_t order=kSortAscending)
Sort linked list.
Wrapper around a TObject so it can be stored in a TList.
virtual void SetOption(Option_t *)
void SetObject(TObject *obj)
TObject ** GetObjectRef()
std::shared_ptr< TObjLink > TObjLinkPtr_t
virtual Option_t * GetAddOption() const
TObject * GetObject() const
TObjLink(const TObjLink &)=delete
virtual Option_t * GetOption() const
std::weak_ptr< TObjLink > TObjLinkWeakPtr_t
TObjLink & operator=(const TObjLink &)=delete
void SetOption(Option_t *option) override
TObjOptLink(TObject *obj, Option_t *opt)
Option_t * GetOption() const override
Option_t * GetAddOption() const override
Mother of all ROOT objects.
virtual Option_t * GetOption() const
Sequenceable collection abstract base class.
const char * Data() const