18#ifndef ROOT_TGenericClassInfo
19#define ROOT_TGenericClassInfo
37 class TCollectionProxyInfo;
40 class TGenericClassInfo {
45 const Internal::TInitBehavior *fAction;
47 const char *fClassName;
48 const char *fDeclFileName;
51 const std::type_info &fInfo;
52 const char *fImplFileName;
70 Detail::TCollectionProxyInfo *fCollectionProxyInfo;
71 Detail::TCollectionProxyInfo *fCollectionStreamerInfo;
72 std::vector<ROOT::Internal::TSchemaHelper> fReadRules;
73 std::vector<ROOT::Internal::TSchemaHelper> fReadRawRules;
76 TGenericClassInfo(
const char *fullClassname,
77 const char *declFileName,
Int_t declFileLine,
78 const std::type_info &info,
const Internal::TInitBehavior *action,
82 TGenericClassInfo(
const char *fullClassname,
Int_t version,
83 const char *declFileName,
Int_t declFileLine,
84 const std::type_info &info,
const Internal::TInitBehavior *action,
88 TGenericClassInfo(
const char *fullClassname,
Int_t version,
89 const char *declFileName,
Int_t declFileLine,
90 const Internal::TInitBehavior *action,
96 const Internal::TInitBehavior &GetAction()
const;
98 const char *GetClassName()
const;
99 Detail::TCollectionProxyInfo *GetCollectionProxyInfo()
const;
100 Detail::TCollectionProxyInfo *GetCollectionStreamerInfo()
const;
101 const char *GetDeclFileName()
const;
102 Int_t GetDeclFileLine()
const;
107 const char *GetImplFileName();
108 Int_t GetImplFileLine();
109 const std::type_info &GetInfo()
const;
113 const std::vector<ROOT::Internal::TSchemaHelper> &GetReadRawRules()
const;
114 const std::vector<ROOT::Internal::TSchemaHelper> &GetReadRules()
const;
115 Int_t GetVersion()
const;
121 void AdoptCollectionProxyInfo(Detail::TCollectionProxyInfo*);
122 void AdoptCollectionStreamerInfo(Detail::TCollectionProxyInfo*);
126 void SetDestructor(
DesFunc_t destructorFunc);
128 void SetFromTemplate();
134 void SetReadRawRules(
const std::vector<ROOT::Internal::TSchemaHelper>& rules );
135 void SetReadRules(
const std::vector<ROOT::Internal::TSchemaHelper>& rules );
143 void CreateRuleSet( std::vector<ROOT::Internal::TSchemaHelper>& vect,
Bool_t ProcessReadRules );
144 TGenericClassInfo(
const TGenericClassInfo &) =
delete;
145 TGenericClassInfo&
operator=(
const TGenericClassInfo &) =
delete;
TClass *(* DictFuncPtr_t)()
void(* ClassStreamerFunc_t)(TBuffer &, void *)
void(* ClassConvStreamerFunc_t)(TBuffer &, void *, const TClass *)
Binding & operator=(OUT(*fun)(void))
TClass * IsA() const override
TClass instances represent classes, structs and namespaces in the ROOT type system.
std::string GetDemangledTypeName(const std::type_info &t)
This file contains a specialised ROOT message handler to test for diagnostic in unit tests.
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)