12 #ifndef ROOT_TVirtualStreamerInfo
13 #define ROOT_TVirtualStreamerInfo
39 namespace ROOT {
namespace Detail {
class TCollectionProxyInfo; } }
124 virtual void Build() = 0;
154 virtual void ls(
Option_t *option=
"")
const = 0;
156 virtual void *
New(
void *
obj = 0) = 0;
virtual void SetClass(TClass *cl)=0
virtual void * New(void *obj=0)=0
static Bool_t CanDelete()
static function returning true if ReadBuffer can delete object
virtual TClassStreamer * GenEmulatedClassStreamer(const char *class_name, Bool_t silent)=0
static Bool_t GetStreamMemberWise()
Return whether the TStreamerInfos will save the collections in "member-wise" order whenever possible...
virtual Int_t GenerateHeaderFile(const char *dirname, const TList *subClasses=0, const TList *extrainfos=0)=0
virtual Bool_t CompareContent(TClass *cl, TVirtualStreamerInfo *info, Bool_t warn, Bool_t complete, TFile *file)=0
virtual TClass * GetClass() const =0
virtual TVirtualCollectionProxy * GenExplicitProxy(const ::ROOT::Detail::TCollectionProxyInfo &info, TClass *cl)=0
virtual void SetClassVersion(Int_t vers)=0
A ROOT file is a suite of consecutive data records (TKey instances) with a well defined format...
TVirtualStreamerInfo & operator=(const TVirtualStreamerInfo &)
assignment operator
virtual TVirtualStreamerInfo * NewInfo(TClass *cl)=0
virtual void TagFile(TFile *fFile)=0
virtual Int_t GetSize() const =0
static const char * GetElementCounterStart(const char *dmTitle)
Given a comment/title declaring an array counter, for example: //[fArraySize] array of size fArraySiz...
static TVirtualStreamerInfo * fgInfoFactory
Abstract base class for accessing the data-members of a class.
virtual void Clear(Option_t *)=0
Set name and title to empty strings ("").
virtual void ForceWriteInfo(TFile *file, Bool_t force=kFALSE)=0
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.
virtual TStreamerElement * GetElement(Int_t id) const =0
virtual void SetCheckSum(UInt_t checksum)=0
virtual Int_t GetClassVersion() const =0
#define ClassDef(name, id)
The TNamed class is the base class for all named ROOT classes.
Int_t IsRecovered() const
Bool_t IsCompiled() const
virtual Int_t GetOffset(const char *) const =0
virtual TVirtualCollectionProxy * GenEmulatedProxy(const char *class_name, Bool_t silent)=0
virtual void BuildOld()=0
virtual ~TVirtualStreamerInfo()
Destructor.
static void SetCanDelete(Bool_t opt=kTRUE)
This is a static function.
virtual TClass * GetActualClass(const void *obj) const =0
virtual void * NewArray(Long_t nElements, void *ary=0)=0
virtual void BuildCheck(TFile *file=0)=0
virtual Bool_t BuildFor(const TClass *cl)=0
static void Optimize(Bool_t opt=kTRUE)
This is a static function.
virtual TStreamerElement * GetStreamerElement(const char *datamember, Int_t &offset) const =0
static Bool_t SetStreamMemberWise(Bool_t enable=kTRUE)
Set whether the TStreamerInfos will save the collections in "member-wise" order whenever possible...
virtual TClassStreamer * GenExplicitClassStreamer(const ::ROOT::Detail::TCollectionProxyInfo &info, TClass *cl)=0
Bool_t TestBit(UInt_t f) const
static Bool_t fgCanDelete
true if the StreamerInfo has been compiled (i.e. fully built, ready to use for streaming).
The ROOT global object gROOT contains a list of all defined classes.
Bool_t IsOptimized() const
static Bool_t CanOptimize()
static function returning true if optimization can be on
Bool_t fIsBuilt
true if the StreamerInfo has been optimized
virtual void Destructor(void *p, Bool_t dtorOnly=kFALSE)=0
std::atomic< Bool_t > fIsCompiled
true if the StreamerInfo has been 'built' (i.e. has all the StreamerElements it should have) ...
virtual TObjArray * GetElements() const =0
virtual Int_t GetNumber() const =0
virtual Version_t GetOldVersion() const =0
virtual void Update(const TClass *oldClass, TClass *newClass)=0
static TVirtualStreamerInfo * Factory()
Static function returning a pointer to a new TVirtualStreamerInfo object.
virtual TStreamerElement * GetElem(Int_t id) const =0
virtual Int_t GetOnFileClassVersion() const =0
virtual void DeleteArray(void *p, Bool_t dtorOnly=kFALSE)=0
virtual void ls(Option_t *option="") const =0
List TNamed name and title.
virtual void BuildEmulated(TFile *file)=0
static TStreamerBasicType * GetElementCounter(const char *countName, TClass *cl)
Get pointer to a TStreamerBasicType in TClass *cl static function.
static void SetFactory(TVirtualStreamerInfo *factory)
static function: Set the StreamerInfo factory
static Bool_t fgStreamMemberWise
virtual void CallShowMembers(const void *obj, TMemberInspector &insp, Bool_t isTransient) const =0
Abstract Interface class describing Streamer information for one class.
virtual Int_t GetElementOffset(Int_t id) const =0
virtual UInt_t GetCheckSum() const =0