12 #ifndef ROOT_TListOfEnums
13 #define ROOT_TListOfEnums
32 class TListOfEnums :
public THashList
37 friend class TProtoClass;
45 ULong64_t fLastLoadMarker;
47 TListOfEnums(
const TListOfEnums&) =
delete;
48 TListOfEnums& operator=(
const TListOfEnums&) =
delete;
50 void MapObject(TObject *obj);
51 void UnmapObject(TObject *obj);
55 void Unload(TEnum *e);
56 void SetClass(TClass* cl) { fClass = cl; }
59 typedef TDictionary::DeclId_t DeclId_t;
62 TClass *GetClass()
const {
return fClass;}
63 TExMap *GetIds() {
return fIds;}
64 TEnum *FindUnloaded(
const char* name) {
return (TEnum*)fUnloaded->FindObject(name);}
65 TEnum *Get(DeclId_t
id,
const char *name);
68 TListOfEnums(TClass *cl = 0);
69 ~TListOfEnums()
override;
71 TEnum *Find(DeclId_t
id)
const;
72 virtual TEnum *GetObject(
const char*)
const;
74 void Clear(Option_t *option)
override;
75 void Delete(Option_t *option=
"")
override;
77 Bool_t IsLoaded()
const {
return fIsLoaded; }
78 void AddFirst(TObject *obj)
override;
79 void AddFirst(TObject *obj, Option_t *opt)
override;
80 void AddLast(TObject *obj)
override;
81 void AddLast(TObject *obj, Option_t *opt)
override;
82 void AddAt(TObject *obj, Int_t idx)
override;
83 void AddAfter(
const TObject *after, TObject *obj)
override;
84 void AddAfter(TObjLink *after, TObject *obj)
override;
85 void AddBefore(
const TObject *before, TObject *obj)
override;
86 void AddBefore(TObjLink *before, TObject *obj)
override;
88 void RecursiveRemove(TObject *obj)
override;
89 TObject *Remove(TObject *obj)
override;
90 TObject *Remove(TObjLink *lnk)
override;
92 ClassDefOverride(TListOfEnums,2);
95 #endif // ROOT_TListOfEnums