35      if (!
name || status != 0)
 
 
   85   TGenericClassInfo::TGenericClassInfo(
const char *
fullClassname,
 
   93        fImplFileName(nullptr), fImplFileLine(0),
 
   96        fMerge(nullptr),fResetAfterMerge(nullptr),fNew(nullptr),fNewArray(nullptr),fDelete(nullptr),fDeleteArray(nullptr),fDestructor(nullptr), fDirAutoAdd(nullptr), fStreamer(nullptr),
 
  107                                        const std::type_info &
info, 
const Internal::TInitBehavior  *
action,
 
  113        fImplFileName(nullptr), fImplFileLine(0),
 
  116        fMerge(nullptr),fResetAfterMerge(nullptr),fNew(nullptr),fNewArray(nullptr),fDelete(nullptr),fDeleteArray(nullptr),fDestructor(nullptr), fDirAutoAdd(nullptr), fStreamer(nullptr),
 
  126   class TForNamespace {}; 
 
  130                                        const Internal::TInitBehavior  *
action,
 
  135        fImplFileName(nullptr), fImplFileLine(0),
 
  138        fMerge(nullptr),fResetAfterMerge(nullptr),fNew(nullptr),fNewArray(nullptr),fDelete(nullptr),fDeleteArray(nullptr),fDestructor(nullptr), fDirAutoAdd(nullptr), fStreamer(nullptr),
 
  139        fStreamerFunc(nullptr), fConvStreamerFunc(nullptr), fCollectionProxy(nullptr), fSizeof(0), 
fPragmaBits(
pragmabits),
 
  202      if (!fAction) 
return;
 
  203      GetAction().Register(fClassName,
 
  210   TGenericClassInfo::~TGenericClassInfo()
 
  226         GetAction().Unregister(GetClassName(), 
fClass);
 
  229   const Internal::TInitBehavior &TGenericClassInfo::GetAction()
 const 
  236   TClass *TGenericClassInfo::GetClass()
 
  247         ::Fatal(
"TClass::TClass", 
"ROOT system not initialized");
 
  255         fClass = GetAction().CreateClass(GetClassName(),
 
  264            fClass->fHasCustomStreamerMember = 
true;
 
  267         fClass->SetNewArray(fNewArray);
 
  268         fClass->SetDelete(fDelete);
 
  269         fClass->SetDeleteArray(fDeleteArray);
 
  270         fClass->SetDestructor(fDestructor);
 
  271         fClass->SetDirectoryAutoAdd(fDirAutoAdd);
 
  272         fClass->SetStreamerFunc(fStreamerFunc);
 
  273         fClass->SetConvStreamerFunc(fConvStreamerFunc);
 
  275         fClass->SetResetAfterMerge(fResetAfterMerge);
 
  276         fClass->AdoptStreamer(fStreamer); fStreamer = 
nullptr;
 
  279         if (!
fClass->IsZombie()) {
 
  280            if (fCollectionProxy) 
fClass->CopyCollectionProxy(*fCollectionProxy);
 
  285         fClass->SetClassSize(fSizeof);
 
  300   void TGenericClassInfo::CreateRuleSet( std::vector<Internal::TSchemaHelper>& 
vect,
 
  303      if ( 
vect.empty() ) {
 
  319      std::vector<Internal::TSchemaHelper>::iterator it;
 
  321         rule = 
new TSchemaRule();
 
  322         rule->SetTarget( it->fTarget );
 
  324         rule->SetSourceClass( it->fSourceClass );
 
  325         rule->SetSource( it->fSource );
 
  326         rule->SetCode( it->fCode );
 
  327         rule->SetVersion( it->fVersion );
 
  328         rule->SetChecksum( it->fChecksum );
 
  329         rule->SetEmbed( it->fEmbed );
 
  330         rule->SetInclude( it->fInclude );
 
  331         rule->SetAttributes( it->fAttributes );
 
  342            ::Warning( 
"TGenericClassInfo", 
"The rule for class: \"%s\": version, \"%s\" and data members: \"%s\" has been skipped because %s.",
 
  343                        GetClassName(), it->fVersion.c_str(), it->fTarget.c_str(), 
errmsg.Data() );
 
  349   const char *TGenericClassInfo::GetClassName()
 const 
  357   Detail::TCollectionProxyInfo *TGenericClassInfo::GetCollectionProxyInfo()
 const 
  364   Detail::TCollectionProxyInfo *TGenericClassInfo::GetCollectionStreamerInfo()
 const 
  371   const std::type_info &TGenericClassInfo::GetInfo()
 const 
  378   const std::vector<Internal::TSchemaHelper>& TGenericClassInfo::GetReadRawRules()
 const 
  386   const std::vector<Internal::TSchemaHelper>& TGenericClassInfo::GetReadRules()
 const 
  392   void TGenericClassInfo::SetFromTemplate()
 
  400   Int_t TGenericClassInfo::SetImplFile(
const char *file, 
Int_t line)
 
  404      fImplFileName = file;
 
  405      fImplFileLine = 
line;
 
  410   Int_t TGenericClassInfo::SetDeclFile(
const char *file, 
Int_t line)
 
  414      fDeclFileName = file;
 
  415      fDeclFileLine = 
line;
 
  434   void TGenericClassInfo::AdoptCollectionProxyInfo(TCollectionProxyInfo *
info)
 
  443   void TGenericClassInfo::AdoptCollectionStreamerInfo(TCollectionProxyInfo *
info)
 
  457      delete fStreamer; fStreamer = 
nullptr;
 
  471      delete fCollectionProxy; fCollectionProxy = 
nullptr;
 
  473      if (
fClass && fCollectionProxy && !
fClass->IsZombie()) {
 
  474         fClass->CopyCollectionProxy(*fCollectionProxy);
 
  479   void TGenericClassInfo::SetReadRawRules( 
const std::vector<Internal::TSchemaHelper>& 
rules )
 
  486   void TGenericClassInfo::SetReadRules( 
const std::vector<Internal::TSchemaHelper>& 
rules )
 
  496      delete fStreamer; fStreamer = 
nullptr;
 
  521   const char *TGenericClassInfo::GetDeclFileName()
 const 
  525      return fDeclFileName;
 
  528   Int_t TGenericClassInfo::GetDeclFileLine()
 const 
  532      return fDeclFileLine;
 
  535   const char *TGenericClassInfo::GetImplFileName()
 
  540      return fImplFileName;
 
  543   Int_t TGenericClassInfo::GetImplFileLine()
 
  548      return fImplFileLine;
 
  551   Int_t TGenericClassInfo::GetVersion()
 const 
  558   TClass *TGenericClassInfo::IsA(
const void *obj)
 
  612   void TGenericClassInfo::SetDirectoryAutoAdd(
DirAutoAdd_t func)
 
  632      fResetAfterMerge = func;
 
  633      if (
fClass) 
fClass->SetResetAfterMerge(fResetAfterMerge);
 
  636   NewFunc_t TGenericClassInfo::GetNew()
 const 
  650   DelFunc_t TGenericClassInfo::GetDelete()
 const 
  664   DesFunc_t TGenericClassInfo::GetDestructor()
 const 
  671   DirAutoAdd_t  TGenericClassInfo::GetDirectoryAutoAdd()
 const 
TClass *(* DictFuncPtr_t)()
 
std::atomic< TClass * > atomic_TClass_ptr
 
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.
 
void Warning(const char *location, const char *msgfmt,...)
Use this function in warning situations.
 
void Fatal(const char *location, const char *msgfmt,...)
Use this function in case of a fatal error. It will abort the program.
 
R__EXTERN TVirtualMutex * gInterpreterMutex
 
R__EXTERN TVirtualMutex * gROOTMutex
 
#define R__LOCKGUARD(mutex)
 
static void SetInstance(::ROOT::TGenericClassInfo &R__instance, NewFunc_t, NewArrFunc_t, DelFunc_t, DelArrFunc_t, DesFunc_t)
 
static void SetName(const std::string &name, std::string &nameMember)
 
static void SetfgIsA(atomic_TClass_ptr &isA, TClass *(*dictfun)())
 
const_iterator begin() const
 
const_iterator end() const
 
void(* ReadFuncPtr_t)(char *, TVirtualObject *)
 
void(* ReadRawFuncPtr_t)(char *, TBuffer &)
 
@ kHasCustomStreamerMember
 
TClass instances represent classes, structs and namespaces in the ROOT type system.
 
The TNamed class is the base class for all named ROOT classes.
 
TCollection * GetListOfClasses() const
 
static Bool_t Initialized()
Return kTRUE if the TROOT object has been initialized.
 
Defines a common interface to inspect/change the contents of an object that represents a collection.
 
static constexpr Version_t Class_Version()
 
R__EXTERN TROOT * gROOTLocal
 
const TInitBehavior * DefineBehavior(void *, void *)
 
std::string GetDemangledTypeName(const std::type_info &t)
 
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...
 
void(* DirAutoAdd_t)(void *, TDirectory *)
 
void(* ResetAfterMergeFunc_t)(void *, TFileMergeInfo *)
 
void(* DesFunc_t)(void *)
 
void(* DelFunc_t)(void *)
 
TNamed * RegisterClassTemplate(const char *name, const char *file, Int_t line)
Global function to register the implementation file and line of a class template (i....
 
void *(* NewArrFunc_t)(Long_t size, void *arena)
 
void ResetClassVersion(TClass *, const char *, Short_t)
Global function to update the version number.
 
void(* DelArrFunc_t)(void *)
 
void *(* NewFunc_t)(void *)
 
Long64_t(* MergeFunc_t)(void *, TCollection *, TFileMergeInfo *)
 
void RemoveClassAlternate(ROOT::TClassAlt *)
 
void Init(TClassEdit::TInterpreterLookupHelper *helper)
 
char * DemangleName(const char *mangled_name, int &errorCode)
 
void GetNormalizedName(std::string &norm_name, std::string_view name)
Return the normalized name.