Logo ROOT   6.14/05
Reference Guide
Go to the documentation of this file.
1 // @(#)root/cont
2 // Author: Bianca-Cristina Cristescu February 2014
4 /*************************************************************************
5  * Copyright (C) 1995-2013, Rene Brun and Fons Rademakers. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
12 #ifndef ROOT_TListOfEnumsWithLock
13 #define ROOT_TListOfEnumsWithLock
15 //////////////////////////////////////////////////////////////////////////
16 // //
17 // TListOfEnumsWithLock //
18 // //
19 // A collection of TEnum objects designed for fast access given a //
20 // DeclId_t and for keep track of TEnum that were described //
21 // unloaded enum. //
22 // //
23 //////////////////////////////////////////////////////////////////////////
25 #include "TListOfEnums.h"
27 class TExMap;
28 class TEnum;
31 {
32 private:
38 public:
41  ~TListOfEnumsWithLock() override;
43  TEnum *GetObject(const char*) const override;
45  void Clear(Option_t *option) override;
46  void Delete(Option_t *option="") override;
48  TObject *FindObject(const TObject* obj) const override;
49  TObject *FindObject(const char *name) const override;
50  TIterator *MakeIterator(Bool_t dir = kIterForward) const override;
52  TObject *At(Int_t idx) const override;
53  TObject *After(const TObject *obj) const override;
54  TObject *Before(const TObject *obj) const override;
55  TObject *First() const override;
56  TObjLink *FirstLink() const override;
57  TObject **GetObjectRef(const TObject *obj) const override;
58  TObject *Last() const override;
59  TObjLink *LastLink() const override;
61  Int_t GetLast() const override;
62  Int_t IndexOf(const TObject *obj) const override;
64  Int_t GetSize() const override;
66  void AddFirst(TObject *obj) override;
67  void AddFirst(TObject *obj, Option_t *opt) override;
68  void AddLast(TObject *obj) override;
69  void AddLast(TObject *obj, Option_t *opt) override;
70  void AddAt(TObject *obj, Int_t idx) override;
71  void AddAfter(const TObject *after, TObject *obj) override;
72  void AddAfter(TObjLink *after, TObject *obj) override;
73  void AddBefore(const TObject *before, TObject *obj) override;
74  void AddBefore(TObjLink *before, TObject *obj) override;
76  void RecursiveRemove(TObject *obj) override;
77  TObject *Remove(TObject *obj) override;
78  TObject *Remove(TObjLink *lnk) override;
80  ClassDefOverride(TListOfEnumsWithLock,2); // List of TDataMembers for a class
81 };
84 //////////////////////////////////////////////////////////////////////////
85 // //
86 // TListOfEnumsWithLockIter //
87 // //
88 // Iterator of TListOfEnumsWithLock. //
89 // //
90 //////////////////////////////////////////////////////////////////////////
92 {
93  public:
96  using TListIter::operator=;
98  TObject *Next();
101 };
103 #endif // ROOT_TListOfEnumsWithLock
The TEnum class implements the enum type.
Definition: TEnum.h:31
TDictionary::DeclId_t DeclId_t
const char Option_t
Definition: RtypesCore.h:62
void AddAfter(const TObject *after, TObject *obj) override
Insert object after object after in the list.
TObject * FindObject(const TObject *obj) const override
Find object using its hash value (returned by its Hash() member).
void AddFirst(TObject *obj) override
Add object at the beginning of the list.
TObject * Last() const override
Return the last object in the list. Returns 0 when list is empty.
Int_t IndexOf(const TObject *obj) const override
Return index of object in collection.
int Int_t
Definition: RtypesCore.h:41
bool Bool_t
Definition: RtypesCore.h:59
TObject * Before(const TObject *obj) const override
Returns the object before object obj.
const void * DeclId_t
Definition: TDictionary.h:205
void Clear(Option_t *option) override
Remove all objects from the list.
~TListOfEnumsWithLock() override
Iterator abstract base class.
Definition: TIterator.h:30
Iterator of linked list.
Definition: TList.h:197
TListOfEnumsWithLock(const TListOfEnumsWithLock &)=delete
#define ClassDef(name, id)
Definition: Rtypes.h:320
ClassDefOverride(TListOfEnumsWithLock, 2)
TEnum * GetObject(const char *) const override
Return an object from the list of enums if and only if is has already been loaded in the list...
const Bool_t kIterForward
Definition: TCollection.h:40
TListOfEnumsWithLock & operator=(const TListOfEnumsWithLock &)=delete
TObjLink * LastLink() const override
void AddBefore(const TObject *before, TObject *obj) override
Insert object before object before in the list.
void AddLast(TObject *obj) override
Add object at the end of the list.
Iterator for TListOfEnumsWithLock.
Int_t GetLast() const override
Returns index of last object in collection.
TObjLink * FirstLink() const override
TObject * After(const TObject *obj) const override
Returns the object after object obj.
The ROOT global object gROOT contains a list of all defined classes.
Definition: TClass.h:75
void RecursiveRemove(TObject *obj) override
Remove object from this collection and recursively remove the object from all other objects (and coll...
A collection of TEnum objects designed for fast access given a DeclId_t and for keep track of TEnum t...
TObject * First() const override
Return the first object in the list. Returns 0 when list is empty.
Mother of all ROOT objects.
Definition: TObject.h:37
Int_t GetSize() const override
Return the capacity of the collection, i.e.
TObject ** GetObjectRef(const TObject *obj) const override
Return address of pointer to obj.
A collection of TEnum objects designed for fast access given a DeclId_t and for keep track of TEnum t...
Definition: TListOfEnums.h:32
auto * l
Definition: textangle.C:4
void AddAt(TObject *obj, Int_t idx) override
Insert object at location idx in the list.
TIterator * MakeIterator(Bool_t dir=kIterForward) const override
Return a list iterator.
TObject * Remove(TObject *obj) override
Remove object from the list.
void Delete(Option_t *option="") override
Delete all TDataMember object files.
char name[80]
Definition: TGX11.cxx:109
This class stores a (key,value) pair using an external hash.
Definition: TExMap.h:33
TObject * At(Int_t idx) const override
Returns the object at position idx. Returns 0 if idx is out of range.