43 const char *declFileName,
Int_t declFileLine,
47 : fAction(action),
fClass(0), fClassName(fullClassname),
48 fDeclFileName(declFileName), fDeclFileLine(declFileLine),
49 fDictionary(dictionary), fInfo(info),
50 fImplFileName(0), fImplFileLine(0),
53 fMerge(0),fResetAfterMerge(0),fNew(0),fNewArray(0),fDelete(0),fDeleteArray(0),fDestructor(0), fDirAutoAdd(0), fStreamer(0),
54 fStreamerFunc(0), fConvStreamerFunc(0), fCollectionProxy(0), fSizeof(sizof), fPragmaBits(pragmabits),
55 fCollectionProxyInfo(0), fCollectionStreamerInfo(0)
63 const char *declFileName,
Int_t declFileLine,
67 : fAction(action),
fClass(0), fClassName(fullClassname),
68 fDeclFileName(declFileName), fDeclFileLine(declFileLine),
69 fDictionary(dictionary), fInfo(info),
70 fImplFileName(0), fImplFileLine(0),
73 fMerge(0),fResetAfterMerge(0),fNew(0),fNewArray(0),fDelete(0),fDeleteArray(0),fDestructor(0), fDirAutoAdd(0), fStreamer(0),
74 fStreamerFunc(0), fConvStreamerFunc(0), fCollectionProxy(0), fSizeof(sizof), fPragmaBits(pragmabits),
75 fCollectionProxyInfo(0), fCollectionStreamerInfo(0)
83 class TForNamespace {};
86 const char *declFileName,
Int_t declFileLine,
89 : fAction(action),
fClass(0), fClassName(fullClassname),
90 fDeclFileName(declFileName), fDeclFileLine(declFileLine),
91 fDictionary(dictionary), fInfo(typeid(TForNamespace)),
92 fImplFileName(0), fImplFileLine(0),
95 fMerge(0),fResetAfterMerge(0),fNew(0),fNewArray(0),fDelete(0),fDeleteArray(0),fDestructor(0), fDirAutoAdd(0), fStreamer(0),
96 fStreamerFunc(0), fConvStreamerFunc(0), fCollectionProxy(0), fSizeof(0), fPragmaBits(pragmabits),
97 fCollectionProxyInfo(0), fCollectionStreamerInfo(0)
199 ::Fatal(
"TClass::TClass",
"ROOT system not initialized");
255 if ( vect.empty() ) {
271 std::vector<Internal::TSchemaHelper>::iterator it;
272 for( it = vect.begin(); it != vect.end(); ++it ) {
285 if( ProcessReadRules ) {
294 ::Warning(
"TGenericClassInfo",
"The rule for class: \"%s\": version, \"%s\" and data members: \"%s\" has been skipped because %s.",
void SetStreamerFunc(ClassStreamerFunc_t)
virtual const char * GetTitle() const
Returns title of object.
Bool_t AddRule(TSchemaRule *rule, EConsistencyCheck checkConsistency=kCheckAll, TString *errmsg=0)
The consistency check always fails if the TClass object was not set! if checkConsistency is: kNoCheck...
TClass *(* DictFuncPtr_t)()
DelArrFunc_t fDeleteArray
Detail::TCollectionProxyInfo * fCollectionProxyInfo
void SetReadRawFunctionPointer(ReadRawFuncPtr_t ptr)
Set the pointer to the function to be run for the rule (if it is a raw read rule).
const Internal::TInitBehavior & GetAction() const
const std::vector< ROOT::Internal::TSchemaHelper > & GetReadRawRules() const
void SetDelete(DelFunc_t deleteFunc)
void Fatal(const char *location, const char *msgfmt,...)
void SetDeclFile(const char *name, int line)
void SetDelete(ROOT::DelFunc_t deleteFunc)
Install a new wrapper around 'delete'.
TVirtualIsAProxy * GetIsA() const
void SetConvStreamerFunc(ClassConvStreamerFunc_t)
void SetConvStreamerFunc(ClassConvStreamerFunc_t strm)
Set a wrapper/accessor function around this class custom conversion streamer.
R__EXTERN TVirtualMutex * gInterpreterMutex
const type_info & GetInfo() const
void CreateRuleSet(std::vector< ROOT::Internal::TSchemaHelper > &vect, Bool_t ProcessReadRules)
Attach the schema evolution information to TClassObject.
void SetDeleteArray(ROOT::DelArrFunc_t deleteArrayFunc)
Install a new wrapper around 'delete []'.
Detail::TCollectionProxyInfo * GetCollectionStreamerInfo() const
DirAutoAdd_t GetDirectoryAutoAdd() const
void *(* NewArrFunc_t)(Long_t size, void *arena)
Short_t AdoptCollectionProxy(TVirtualCollectionProxy *)
Short_t SetVersion(Short_t version)
Bool_t SetVersion(const TString &version)
Set the version string - returns kFALSE if the format is incorrect.
ClassConvStreamerFunc_t fConvStreamerFunc
void AdoptStreamer(TClassStreamer *strm)
Adopt a TClassStreamer object.
const TInitBehavior * DefineBehavior(void *, void *)
void SetClassSize(Int_t sizof)
void(* DirAutoAdd_t)(void *, TDirectory *)
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.
void SetMerge(MergeFunc_t)
void SetTargetClass(const TString &classname)
Set the target class of this rule (i.e. the in memory class).
const char * Data() const
void SetAttributes(const TString &attributes)
Set the attributes code of this rule.
DelArrFunc_t GetDeleteArray() const
ResetAfterMergeFunc_t fResetAfterMerge
The TNamed class is the base class for all named ROOT classes.
Long64_t(* MergeFunc_t)(void *, TCollection *, TFileMergeInfo *)
UChar_t mod R__LOCKGUARD2(gSrvAuthenticateMutex)
static Bool_t Initialized()
Return kTRUE if the TROOT object has been initialized.
void SetStreamerFunc(ClassStreamerFunc_t strm)
Set a wrapper/accessor function around this class custom streamer.
const char * fDeclFileName
void(* ResetAfterMergeFunc_t)(void *, TFileMergeInfo *)
void SetReadRules(const std::vector< ROOT::Internal::TSchemaHelper > &rules)
void SetDirectoryAutoAdd(DirAutoAdd_t dirAutoAdd)
void(* ReadFuncPtr_t)(char *, TVirtualObject *)
TClass * fClass
pointer to the foreign object
TClass * IsA(const void *obj)
const char * fImplFileName
const std::vector< ROOT::Internal::TSchemaHelper > & GetReadRules() const
TCollection * GetListOfClasses() const
Short_t SetStreamer(ClassStreamerFunc_t)
Int_t SetDeclFile(const char *file, Int_t line)
void SetSource(const TString &source)
Set the list of source members.
const char * GetDeclFileName() const
void SetSourceClass(const TString &classname)
Set the source class of this rule (i.e. the onfile class).
Short_t AdoptStreamer(TClassStreamer *)
void SetInclude(const TString &include)
Set the comma separated list of header files to include to be able to compile this rule...
std::vector< ROOT::Internal::TSchemaHelper > fReadRawRules
R__EXTERN TROOT * gROOTLocal
const Internal::TInitBehavior * fAction
void SetNew(ROOT::NewFunc_t newFunc)
Install a new wrapper around 'new'.
void ResetClassVersion(TClass *, const char *, Short_t)
Global function to update the version number.
void SetDestructor(ROOT::DesFunc_t destructorFunc)
Install a new wrapper around the destructor.
Int_t SetImplFile(const char *file, Int_t line)
void SetTarget(const TString &target)
Set the target member of this rule (i.e. the in memory data member).
TClassStreamer * fStreamer
void AdoptCollectionStreamerInfo(Detail::TCollectionProxyInfo *)
void SetDirectoryAutoAdd(ROOT::DirAutoAdd_t dirAutoAddFunc)
Install a new wrapper around the directory auto add function.
void SetCode(const TString &code)
Set the source code of this rule.
Detail::TCollectionProxyInfo * fCollectionStreamerInfo
ClassStreamerFunc_t fStreamerFunc
Detail::TCollectionProxyInfo * GetCollectionProxyInfo() const
virtual const char * GetName() const
Returns name of object.
The ROOT global object gROOT contains a list of all defined classes.
Bool_t SetChecksum(const TString &checksum)
Set the checksum string - returns kFALSE if the format is incorrect.
void Warning(const char *location, const char *msgfmt,...)
const char * GetImplFileName()
void SetDestructor(DesFunc_t destructorFunc)
void SetCollectionProxy(const ROOT::Detail::TCollectionProxyInfo &)
Create the collection proxy object (and the streamer object) from using the information in the TColle...
virtual void Unregister(const char *classname) const =0
void(* DesFunc_t)(void *)
std::vector< ROOT::Internal::TSchemaHelper > fReadRules
Int_t GetDeclFileLine() const
void(* ReadRawFuncPtr_t)(char *, TBuffer &)
void *(* NewFunc_t)(void *)
const char * GetClassName() const
void SetReadFunctionPointer(ReadFuncPtr_t ptr)
Set the pointer to the function to be run for the rule (if it is a read rule).
TVirtualCollectionProxy * fCollectionProxy
DelFunc_t GetDelete() const
void(* ClassStreamerFunc_t)(TBuffer &, void *)
void(* DelArrFunc_t)(void *)
double func(double *x, double *p)
void SetDeleteArray(DelArrFunc_t deleteArrayFunc)
void SetEmbed(Bool_t embed)
Set whether this rule should be save in the ROOT file (if true)
virtual UInt_t GetUniqueID() const
Return the unique object id.
void Init(Int_t pragmabits)
void SetNew(NewFunc_t newFunc)
NewArrFunc_t GetNewArray() const
void(* ClassConvStreamerFunc_t)(TBuffer &, void *, const TClass *)
void SetNewArray(NewArrFunc_t newArrayFunc)
void AddImplFile(const char *filename, int line)
void SetResetAfterMerge(ResetAfterMergeFunc_t)
DictFuncPtr_t fDictionary
const ROOT::Detail::TSchemaRuleSet * GetSchemaRules() const
Return the set of the schema rules if any.
void SetMerge(ROOT::MergeFunc_t mergeFunc)
Install a new wrapper around 'Merge'.
DesFunc_t GetDestructor() const
void SetResetAfterMerge(ROOT::ResetAfterMergeFunc_t resetFunc)
Install a new wrapper around 'ResetAfterMerge'.
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.e.
virtual void Register(const char *cname, Version_t id, const type_info &info, DictFuncPtr_t dict, Int_t pragmabits) const =0
void SetRuleType(RuleType_t type)
Set the type of the rule.
void SetNewArray(ROOT::NewArrFunc_t newArrayFunc)
Install a new wrapper around 'new []'.
void AdoptCollectionProxyInfo(Detail::TCollectionProxyInfo *)
virtual TClass * CreateClass(const char *cname, Version_t id, const type_info &info, TVirtualIsAProxy *isa, const char *dfil, const char *ifil, Int_t dl, Int_t il) const =0
void CopyCollectionProxy(const TVirtualCollectionProxy &)
Copy the argument.
void(* DelFunc_t)(void *)
void SetReadRawRules(const std::vector< ROOT::Internal::TSchemaHelper > &rules)