18#ifndef ROOT_TGenericClassInfo
19#define ROOT_TGenericClassInfo
24#include <unordered_map>
38 class TCollectionProxyInfo;
41 class TGenericClassInfo {
46 const Internal::TInitBehavior *fAction;
48 const char *fClassName;
49 const char *fDeclFileName;
52 const std::type_info &fInfo;
53 const char *fImplFileName;
73 std::vector<ROOT::Internal::TSchemaHelper>
fReadRules;
81 const std::type_info &
info,
const Internal::TInitBehavior *
action,
87 const std::type_info &
info,
const Internal::TInitBehavior *
action,
93 const Internal::TInitBehavior *
action,
99 const Internal::TInitBehavior &GetAction()
const;
101 const char *GetClassName()
const;
104 const char *GetDeclFileName()
const;
105 Int_t GetDeclFileLine()
const;
110 const char *GetImplFileName();
111 Int_t GetImplFileLine();
112 const std::type_info &GetInfo()
const;
116 const std::vector<ROOT::Internal::TSchemaHelper> &
GetReadRawRules()
const;
117 const std::vector<ROOT::Internal::TSchemaHelper> &
GetReadRules()
const;
118 Int_t GetVersion()
const;
132 void SetDirectoryAutoAdd(DirAutoAdd_t
dirAutoAdd);
135 void SetMerge(MergeFunc_t);
136 void SetResetAfterMerge(ResetAfterMergeFunc_t);
137 void SetNew(NewFunc_t
newFunc);
149 TGenericClassInfo(
const TGenericClassInfo &) =
delete;
150 TGenericClassInfo&
operator=(
const TGenericClassInfo &) =
delete;
bool Bool_t
Boolean (0=false, 1=true) (bool)
int Int_t
Signed integer 4 bytes (int)
short Short_t
Signed Short integer 2 bytes (short)
TClass *(* DictFuncPtr_t)()
void(* ClassStreamerFunc_t)(TBuffer &, void *)
void(* ClassConvStreamerFunc_t)(TBuffer &, void *, const TClass *)
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Binding & operator=(OUT(*fun)(void))
TClass * IsA() const override
TClass instances represent classes, structs and namespaces in the ROOT type system.
Defines a common interface to inspect/change the contents of an object that represents a collection.
std::string GetDemangledTypeName(const std::type_info &t)
void(* DirAutoAdd_t)(void *, TDirectory *)
void(* ResetAfterMergeFunc_t)(void *, TFileMergeInfo *)
void(* DesFunc_t)(void *)
void(* DelFunc_t)(void *)
void *(* NewArrFunc_t)(Long_t size, void *arena)
void(* DelArrFunc_t)(void *)
void *(* NewFunc_t)(void *)
Long64_t(* MergeFunc_t)(void *, TCollection *, TFileMergeInfo *)
void Init(TClassEdit::TInterpreterLookupHelper *helper)