12 #ifndef ROOT_TListOfDataMembers
13 #define ROOT_TListOfDataMembers
25 #ifndef ROOT_THastList
29 #ifndef ROOT_TDictionary
57 template<
class DataMemberList>
59 fClass(0),fIds(0),fUnloaded(0),
60 fIsLoaded(
kTRUE), fLastLoadMarker(0)
62 for (
auto * dataMember : dmlist)
104 #endif // ROOT_TListOfDataMembers
void RecursiveRemove(TObject *obj)
Remove object from this collection and recursively remove the object from all other objects (and coll...
A collection of TDataMember objects designed for fast access given a DeclId_t and for keep track of T...
void AddAt(TObject *obj, Int_t idx)
Insert object at location idx in the list.
TClass * GetClass() const
All ROOT classes may have RTTI (run time type identification) support added.
TObject * FindObject(const char *name) const
Find object using its name.
THashList * fUnloaded
Map from DeclId_t to TDataMember*.
TListOfDataMembers & operator=(const TListOfDataMembers &)
ULong64_t fLastLoadMarker
Mark whether Load was executed.
virtual void Clear(Option_t *option)
Remove all objects from the list.
void Load()
Load all the DataMembers known to the interpreter for the scope 'fClass' into this collection...
void AddLast(TObject *obj)
Add object at the end of the list.
void AddBefore(const TObject *before, TObject *obj)
Insert object before object before in the list.
TDictionary * Find(DeclId_t id) const
Return (after creating it if necessary) the TDataMember describing the data member corresponding to t...
void UnmapObject(TObject *obj)
Remove a pair from the map of data members and their ids.
THashList implements a hybrid collection class consisting of a hash table and a list to store TObject...
void AddAfter(const TObject *after, TObject *obj)
Insert object after object after in the list.
void SetClass(TClass *cl)
~TListOfDataMembers()
Destructor.
TExMap * fIds
Context of this list. Not owned.
This class defines an abstract interface that must be implemented by all classes that contain diction...
void Update(TDictionary *member)
Move the member or data member to the expect set of list.
The ROOT global object gROOT contains a list of all defined classes.
void MapObject(TObject *obj)
Add a pair to the map of data members and their ids.
TListOfDataMembers(const TListOfDataMembers &)
Represent interpreter state when we last did a full load.
Wrapper around a TObject so it can be stored in a TList.
TDictionary::DeclId_t DeclId_t
unsigned long long ULong64_t
ClassDef(TListOfDataMembers, 2)
virtual TObject * FindObject(const char *name) const
Specialize FindObject to do search for the a data member just by name or create it if its not already...
virtual void Delete(Option_t *option="")
Delete all TDataMember object files.
Mother of all ROOT objects.
void Unload()
Mark 'all func' as being unloaded.
virtual void Add(TObject *obj)
TListOfDataMembers(DataMemberList &dmlist)
void AddFirst(TObject *obj)
Add object at the beginning of the list.
TObject * Remove(TObject *obj)
Remove object from the list.
Bool_t fIsLoaded
Holder of TDataMember for unloaded DataMembers.
This class stores a (key,value) pair using an external hash.
TDictionary * Get(DeclId_t id)
Return (after creating it if necessary) the TDataMember describing the data member corresponding to t...