12#ifndef ROOT_TVirtualStreamerInfo
13#define ROOT_TVirtualStreamerInfo
31#pragma warning( push )
32#pragma warning( disable : 4596 )
42namespace ROOT {
namespace Detail {
class TCollectionProxyInfo; } }
168 virtual void *
New(
void *obj =
nullptr) = 0;
210#pragma warning( pop )
#define ClassDefOverride(name, id)
winID h TVirtualViewer3D TVirtualGLPainter p
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h offset
TClass instances represent classes, structs and namespaces in the ROOT type system.
A ROOT file is a suite of consecutive data records (TKey instances) with a well defined format.
Abstract base class for accessing the data-members of a class.
The TNamed class is the base class for all named ROOT classes.
R__ALWAYS_INLINE Bool_t TestBit(UInt_t f) const
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.
Abstract Interface class describing Streamer information for one class.
virtual TVirtualStreamerInfo * GenerateInfoForPair(const std::string &pairclassname, bool silent, size_t hint_pair_offset, size_t hint_pair_size)=0
Generate the TClass and TStreamerInfo for the requested pair.
static Bool_t GetStreamMemberWise()
Return whether the TStreamerInfos will save the collections in "member-wise" order whenever possible.
virtual void DeleteArray(void *p, Bool_t dtorOnly=kFALSE)=0
Int_t IsRecovered() const
Bool_t IsOptimized() const
virtual void Clear(Option_t *="") override=0
Set name and title to empty strings ("").
Bool_t fIsBuilt
true if the StreamerInfo has been optimized
virtual void CallShowMembers(const void *obj, TMemberInspector &insp, Bool_t isTransient) const =0
virtual void SetClassVersion(Int_t vers)=0
virtual TClassStreamer * GenEmulatedClassStreamer(const char *class_name, Bool_t silent)=0
virtual Int_t GetOffset(Int_t id) const =0
virtual void ForceWriteInfo(TFile *file, Bool_t force=kFALSE)=0
virtual TStreamerElement * GetStreamerElement(const char *datamember, Int_t &offset) const =0
Bool_t IsCompiled() const
static void SetFactory(TVirtualStreamerInfo *factory)
static function: Set the StreamerInfo factory
virtual TVirtualStreamerInfo * NewInfo(TClass *cl)=0
virtual void SetCheckSum(UInt_t checksum)=0
virtual Int_t GenerateHeaderFile(const char *dirname, const TList *subClasses=nullptr, const TList *extrainfos=nullptr)=0
virtual TClass * GetActualClass(const void *obj) const =0
virtual void BuildEmulated(TFile *file)=0
virtual UInt_t GetCheckSum() const =0
static Bool_t fgStreamMemberWise
virtual Int_t GetOffset(const char *) const =0
TVirtualStreamerInfo()
Default constructor.
std::atomic< Bool_t > fIsCompiled
true if the StreamerInfo has been 'built' (i.e. has all the StreamerElements it should have)
static const char * GetElementCounterStart(const char *dmTitle)
Given a comment/title declaring an array counter, for example:
virtual void Build(Bool_t isTransient=kFALSE)=0
static TVirtualStreamerInfo * fgInfoFactory
virtual void BuildCheck(TFile *file=nullptr, Bool_t load=kTRUE)=0
virtual Bool_t BuildFor(const TClass *cl)=0
@ kNeedObjectForVirtualBaseClass
virtual TVirtualCollectionProxy * GenExplicitProxy(const ::ROOT::Detail::TCollectionProxyInfo &info, TClass *cl)=0
static Bool_t fgCanDelete
true if the StreamerInfo has been compiled (i.e. fully built, ready to use for streaming).
static Bool_t SetStreamMemberWise(Bool_t enable=kTRUE)
Set whether the TStreamerInfos will save the collections in "member-wise" order whenever possible.
virtual void * NewArray(Long_t nElements, void *ary=nullptr)=0
virtual TVirtualStreamerInfo * GenerateInfoForPair(const std::string &firstname, const std::string &secondname, bool silent, size_t hint_pair_offset, size_t hint_pair_size)=0
virtual TVirtualCollectionProxy * GenEmulatedProxy(const char *class_name, Bool_t silent)=0
virtual void SetClass(TClass *cl)=0
virtual TStreamerElement * GetElement(Int_t id) const =0
static Bool_t CanOptimize()
static function returning true if optimization can be on
static TStreamerBasicType * GetElementCounter(const char *countName, TClass *cl)
Get pointer to a TStreamerBasicType in TClass *cl static function.
virtual TStreamerElement * GetElem(Int_t id) const =0
virtual TObjArray * GetElements() const =0
static void SetCanDelete(Bool_t opt=kTRUE)
This is a static function.
static Bool_t CanDelete()
static function returning true if ReadBuffer can delete object
virtual Int_t GetNumber() const =0
virtual Int_t GetSize() const =0
virtual void BuildOld()=0
virtual void TagFile(TFile *fFile)=0
static TVirtualStreamerInfo * Factory()
Static function returning a pointer to a new TVirtualStreamerInfo object.
TVirtualStreamerInfo & operator=(const TVirtualStreamerInfo &)
assignment operator
virtual Int_t GetElementOffset(Int_t id) const =0
virtual void * New(void *obj=nullptr)=0
virtual Version_t GetOldVersion() const =0
virtual Int_t GetOnFileClassVersion() const =0
virtual void Destructor(void *p, Bool_t dtorOnly=kFALSE)=0
virtual Bool_t CompareContent(TClass *cl, TVirtualStreamerInfo *info, Bool_t warn, Bool_t complete, TFile *file)=0
virtual Int_t GetClassVersion() const =0
virtual void Update(const TClass *oldClass, TClass *newClass)=0
virtual ~TVirtualStreamerInfo()
Destructor.
virtual void ls(Option_t *="") const override=0
List TNamed name and title.
virtual TClass * GetClass() const =0
static void Optimize(Bool_t opt=kTRUE)
This is a static function.
virtual TClassStreamer * GenExplicitClassStreamer(const ::ROOT::Detail::TCollectionProxyInfo &info, TClass *cl)=0
This file contains a specialised ROOT message handler to test for diagnostic in unit tests.