377#if defined(R__SOLARIS) && defined(R__GNU)
392 auto cl = TClass::GetClass<Tmpl>();
399 auto cl = (obj) ? TClass::GetClass<Tmpl>() :
nullptr;
407 auto cl = (
objptr) ? TClass::GetClass<T>() :
nullptr;
unsigned long long ULong64_t
#define ClassDefOverride(name, id)
TBuffer & operator>>(TBuffer &buf, Bool_t &b)
TBuffer & operator<<(TBuffer &buf, Bool_t b)
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
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
Option_t Option_t TPoint TPoint const char mode
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 Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type
char *(* ReAllocCharFun_t)(char *, size_t, size_t)
Buffer base class used for serializing objects.
virtual void WriteCharStar(char *s)=0
virtual void WriteFastArray(const ULong_t *l, Long64_t n)=0
virtual Int_t ReadStaticArrayDouble32(Double_t *d, TStreamerElement *ele=nullptr)=0
virtual void WriteStdString(const std::string *s)=0
virtual void WriteClass(const TClass *cl)=0
virtual void ReadWithNbits(Float_t *ptr, Int_t nbits)=0
virtual void ReadWithFactor(Float_t *ptr, Double_t factor, Double_t minvalue)=0
virtual Int_t ReadStaticArray(UShort_t *h)=0
virtual void WriteFastArray(const UChar_t *c, Long64_t n)=0
virtual Version_t ReadVersion(UInt_t *start=nullptr, UInt_t *bcnt=nullptr, const TClass *cl=nullptr)=0
virtual Int_t ApplySequenceVecPtr(const TStreamerInfoActions::TActionSequence &sequence, void *start_collection, void *end_collection)=0
virtual void WriteArray(const Short_t *h, Int_t n)=0
virtual void ForceWriteInfoClones(TClonesArray *a)=0
virtual void ReadWithFactor(Double_t *ptr, Double_t factor, Double_t minvalue)=0
virtual void WriteArray(const Float_t *f, Int_t n)=0
std::vector< TVirtualArray * > CacheList_t
virtual Version_t ReadVersionForMemberWise(const TClass *cl=nullptr)=0
void SetWriteMode()
Set buffer in write mode.
virtual void ReadFastArrayWithFactor(Double_t *ptr, Int_t n, Double_t factor, Double_t minvalue)=0
virtual void WriteStdString(std::string &s)
virtual void WriteDouble32(Double_t *d, TStreamerElement *ele=nullptr)=0
virtual void ReadDouble32(Double_t *d, TStreamerElement *ele=nullptr)=0
virtual void WriteString(const char *s)=0
Bool_t ByteSwapBuffer(Long64_t n, EDataType type)
Byte-swap N primitive-elements in the buffer.
virtual void GetMappedObject(UInt_t tag, void *&ptr, TClass *&ClassPtr) const =0
virtual void WriteFastArrayString(const Char_t *c, Long64_t n)=0
virtual void ReadTString(TString &s)=0
virtual void ReadBool(Bool_t &b)=0
virtual UInt_t GetTRefExecId()=0
virtual void WriteULong(ULong_t l)=0
virtual void ReadFastArray(UShort_t *h, Int_t n)=0
virtual TVirtualStreamerInfo * GetInfo()=0
virtual void ClassBegin(const TClass *, Version_t=-1)=0
virtual void WriteArray(const UShort_t *h, Int_t n)=0
CacheList_t fCacheStack
Realloc function to be used when extending the buffer.
virtual void ReadShort(Short_t &s)=0
virtual TProcessID * ReadProcessID(UShort_t pidf)=0
Return the current Process-ID.
virtual Int_t ReadStaticArray(Int_t *i)=0
virtual UInt_t WriteVersionMemberWise(const TClass *cl, Bool_t useBcnt=kFALSE)=0
virtual Int_t ReadStaticArray(UInt_t *i)=0
virtual UShort_t WriteProcessID(TProcessID *pid)=0
Always return 0 (current processID).
virtual Int_t ReadArray(Int_t *&i)=0
virtual void SetByteCount(UInt_t cntpos, Bool_t packInVersion=kFALSE)=0
virtual void ReadInt(Int_t &i)=0
virtual TObject * ReadObject(const TClass *cl)=0
virtual void StreamObject(TObject *obj)=0
virtual void ReadDouble(Double_t &d)=0
virtual void ReadFastArray(ULong64_t *l, Int_t n)=0
virtual Int_t ApplySequence(const TStreamerInfoActions::TActionSequence &sequence, void *start_collection, void *end_collection)=0
virtual void SkipObjectAny()=0
virtual void ReadFastArray(Long_t *l, Int_t n)=0
virtual void ReadFastArray(void **startp, const TClass *cl, Int_t n=1, Bool_t isPreAlloc=kFALSE, TMemberStreamer *s=nullptr, const TClass *onFileClass=nullptr)=0
virtual void WriteArray(const Double_t *d, Int_t n)=0
virtual void WriteDouble(Double_t d)=0
void SetParent(TObject *parent)
Set parent owning this buffer.
virtual Version_t ReadVersionNoCheckSum(UInt_t *start=nullptr, UInt_t *bcnt=nullptr)=0
virtual Int_t ReadArray(Float_t *&f)=0
virtual void WriteUChar(UChar_t c)=0
virtual void ReadLong64(Long64_t &l)=0
TObject * GetParent() const
Return pointer to parent of this buffer.
virtual Int_t ReadArray(Short_t *&h)=0
virtual TClass * ReadClass(const TClass *cl=nullptr, UInt_t *objTag=nullptr)=0
virtual void WriteLong(Long_t l)=0
virtual Int_t ReadStaticArray(Char_t *c)=0
char * GetCurrent() const
virtual Int_t ReadClones(TClonesArray *a, Int_t nobjects, Version_t objvers)=0
void Expand(Int_t newsize, Bool_t copy=kTRUE)
Expand (or shrink) the I/O buffer to newsize bytes.
virtual Int_t ReadArray(UChar_t *&c)=0
virtual void SetBufferDisplacement(Int_t skipped)=0
virtual void WriteUInt(UInt_t i)=0
virtual Int_t GetBufferDisplacement() const =0
virtual void ReadFastArray(Double_t *d, Int_t n)=0
virtual void ReadFastArrayString(Char_t *c, Int_t n)=0
virtual void WriteFloat16(Float_t *f, TStreamerElement *ele=nullptr)=0
virtual void * ReadObjectAny(const TClass *cast)=0
virtual void ReadFloat(Float_t &f)=0
virtual void WriteArrayFloat16(const Float_t *f, Int_t n, TStreamerElement *ele=nullptr)=0
virtual UShort_t GetPidOffset() const =0
virtual void ReadFastArray(Long64_t *l, Int_t n)=0
virtual void ReadChar(Char_t &c)=0
virtual void SetReadParam(Int_t mapsize)=0
virtual Int_t ReadArrayFloat16(Float_t *&f, TStreamerElement *ele=nullptr)=0
Int_t Write(const char *name, Int_t opt, Int_t bufs) override
Write this object to the current directory.
virtual void WriteArray(const ULong64_t *l, Int_t n)=0
virtual Int_t ReadStaticArray(Long_t *l)=0
virtual void WriteFastArray(const Double_t *d, Long64_t n)=0
virtual Int_t ReadStaticArray(Float_t *f)=0
virtual void ReadFastArray(Int_t *i, Int_t n)=0
virtual Int_t ReadArray(Double_t *&d)=0
virtual void ReadFastArray(UChar_t *c, Int_t n)=0
@ kCannotHandleMemberWiseStreaming
virtual void WriteFastArray(const Short_t *h, Long64_t n)=0
virtual Int_t WriteClones(TClonesArray *a, Int_t nobjects)=0
virtual Int_t WriteObjectAny(const void *obj, const TClass *ptrClass, Bool_t cacheReuse=kTRUE)=0
void SetBuffer(void *buf, UInt_t bufsiz=0, Bool_t adopt=kTRUE, ReAllocCharFun_t reallocfunc=nullptr)
Sets a new buffer in an existing TBuffer object.
virtual void SetStreamerElementNumber(TStreamerElement *elem, Int_t comp_type)=0
virtual void ReadFastArray(Float_t *f, Int_t n)=0
virtual void WriteShort(Short_t s)=0
virtual void WriteFastArray(const ULong64_t *l, Long64_t n)=0
virtual void PushDataCache(TVirtualArray *)
Push a new data cache area onto the list of area to be used for temporarily store 'missing' data memb...
virtual void ReadCharP(Char_t *c)=0
virtual void ReadFastArrayDouble32(Double_t *d, Int_t n, TStreamerElement *ele=nullptr)=0
void SetReAllocFunc(ReAllocCharFun_t reallocfunc=nullptr)
Set which memory reallocation method to use.
virtual void WriteArray(const Bool_t *b, Int_t n)=0
virtual TVirtualArray * PopDataCache()
Pop and Return the 'current' data cache area from the list of area to be used for temporarily store '...
virtual Int_t ReadArray(Bool_t *&b)=0
virtual void ReadStdString(std::string &s)
virtual Int_t ReadStaticArray(Short_t *h)=0
virtual void ClassEnd(const TClass *)=0
virtual void WriteLong64(Long64_t l)=0
virtual Int_t CheckByteCount(UInt_t startpos, UInt_t bcnt, const TClass *clss)=0
void AutoExpand(Int_t size_needed)
Automatically calculate a new size and expand the buffer to fit at least size_needed.
virtual void WriteChar(Char_t c)=0
virtual Int_t CheckByteCount(UInt_t startpos, UInt_t bcnt, const char *classname)=0
virtual void ReadFastArray(Bool_t *b, Int_t n)=0
virtual TVirtualArray * PeekDataCache() const
Return the 'current' data cache area from the list of area to be used for temporarily store 'missing'...
virtual Int_t ReadStaticArray(ULong64_t *l)=0
virtual Int_t ReadClassBuffer(const TClass *cl, void *pointer, const TClass *onfile_class=nullptr)=0
virtual void WriteBool(Bool_t b)=0
virtual void ReadFastArray(Short_t *h, Int_t n)=0
virtual Int_t ReadArray(Long_t *&l)=0
virtual void WriteArray(const Long_t *l, Int_t n)=0
virtual Int_t ReadClassBuffer(const TClass *cl, void *pointer, Int_t version, UInt_t start, UInt_t count, const TClass *onfile_class=nullptr)=0
virtual void WriteUShort(UShort_t s)=0
virtual void WriteArray(const Char_t *c, Int_t n)=0
virtual void WriteULong64(ULong64_t l)=0
Int_t Read(const char *name) override
Read contents of object with specified name from the current directory.
virtual void WriteArray(const Int_t *i, Int_t n)=0
virtual void WriteFastArray(const UInt_t *i, Long64_t n)=0
virtual Int_t ReadStaticArrayFloat16(Float_t *f, TStreamerElement *ele=nullptr)=0
virtual void WriteFastArray(const Long_t *l, Long64_t n)=0
virtual Int_t ApplySequence(const TStreamerInfoActions::TActionSequence &sequence, void *object)=0
virtual void WriteFastArray(const Int_t *i, Long64_t n)=0
virtual void IncrementLevel(TVirtualStreamerInfo *info)=0
virtual void MapObject(const void *obj, const TClass *cl, UInt_t offset=1)=0
virtual void SetWriteParam(Int_t mapsize)=0
virtual void ClassMember(const char *, const char *=nullptr, Int_t=-1, Int_t=-1)=0
virtual void ReadULong64(ULong64_t &l)=0
virtual void ReadFastArrayWithNbits(Float_t *ptr, Int_t n, Int_t nbits)=0
virtual void StreamObject(void *obj, const char *className, const TClass *onFileClass=nullptr)=0
virtual void ReadFastArray(UInt_t *i, Int_t n)=0
virtual Int_t GetVersionOwner() const =0
virtual Int_t ReadStaticArray(UChar_t *c)=0
virtual Int_t WriteFastArray(void **startp, const TClass *cl, Long64_t n=1, Bool_t isPreAlloc=kFALSE, TMemberStreamer *s=nullptr)=0
virtual ~TBuffer()
Delete an I/O buffer object.
virtual void ReadULong(ULong_t &l)=0
virtual void ReadLong(Long_t &l)=0
virtual void DecrementLevel(TVirtualStreamerInfo *)=0
static TClass * GetClass(const std::type_info &typeinfo)
Forward to TROOT::GetClass().
virtual Int_t ReadStaticArray(Double_t *d)=0
virtual void WriteFastArray(const Float_t *f, Long64_t n)=0
virtual Int_t ReadArray(UShort_t *&h)=0
virtual Int_t ReadArrayDouble32(Double_t *&d, TStreamerElement *ele=nullptr)=0
virtual Int_t ReadArray(UInt_t *&i)=0
virtual void WriteFastArray(const UShort_t *h, Long64_t n)=0
virtual void WriteArray(const Long64_t *l, Int_t n)=0
virtual void ResetMap()=0
void SetBufferOffset(Int_t offset=0)
virtual void ReadFloat16(Float_t *f, TStreamerElement *ele=nullptr)=0
void operator=(const TBuffer &)=delete
virtual void SetPidOffset(UShort_t offset)=0
TBuffer(const TBuffer &)=delete
ReAllocCharFun_t GetReAllocFunc() const
Return the reallocation method currently used.
ReAllocCharFun_t fReAllocFunc
virtual Int_t ReadStaticArray(Bool_t *b)=0
virtual void WriteObject(const TObject *obj, Bool_t cacheReuse)=0
virtual void WriteFastArrayFloat16(const Float_t *f, Long64_t n, TStreamerElement *ele=nullptr)=0
virtual void WriteFastArray(const Bool_t *b, Long64_t n)=0
virtual void ReadFastArrayWithNbits(Double_t *ptr, Int_t n, Int_t nbits)=0
virtual Int_t ReadArray(Long64_t *&l)=0
virtual Int_t ReadStaticArray(Long64_t *l)=0
virtual void StreamObject(void *obj, const TClass *cl, const TClass *onFileClass=nullptr)=0
virtual void WriteFastArray(const Char_t *c, Long64_t n)=0
virtual Int_t GetMapCount() const =0
void SetReadMode()
Set buffer in read mode.
virtual TProcessID * GetLastProcessID(TRefTable *reftable) const =0
virtual void ReadFastArrayWithFactor(Float_t *ptr, Int_t n, Double_t factor, Double_t minvalue)=0
virtual UInt_t WriteVersion(const TClass *cl, Bool_t useBcnt=kFALSE)=0
Int_t GetBufferVersion() const
virtual void ReadUChar(UChar_t &c)=0
virtual Int_t ReadArray(ULong64_t *&l)=0
virtual void WriteInt(Int_t i)=0
virtual void ReadUInt(UInt_t &i)=0
virtual void ForceWriteInfo(TVirtualStreamerInfo *info, Bool_t force)=0
virtual void ReadFastArray(Char_t *c, Int_t n)=0
virtual Bool_t CheckObject(const void *obj, const TClass *ptrClass)=0
virtual void WriteBuf(const void *buf, Int_t max)=0
virtual void ReadStdString(std::string *s)=0
virtual void WriteCharP(const Char_t *c)=0
virtual Int_t ReadStaticArray(ULong_t *l)=0
virtual void SetBufferDisplacement()=0
virtual void WriteFastArrayDouble32(const Double_t *d, Long64_t n, TStreamerElement *ele=nullptr)=0
virtual Bool_t CheckObject(const TObject *obj)=0
virtual void ReadFastArrayFloat16(Float_t *f, Int_t n, TStreamerElement *ele=nullptr)=0
virtual void WriteFastArray(void *start, const TClass *cl, Long64_t n=1, TMemberStreamer *s=nullptr)=0
virtual Int_t ReadArray(ULong_t *&l)=0
virtual Int_t WriteClassBuffer(const TClass *cl, void *pointer)=0
virtual void ReadWithNbits(Double_t *ptr, Int_t nbits)=0
virtual void ReadFastArray(void *start, const TClass *cl, Int_t n=1, TMemberStreamer *s=nullptr, const TClass *onFileClass=nullptr)=0
virtual void ReadCharStar(char *&s)=0
virtual void WriteArrayDouble32(const Double_t *d, Int_t n, TStreamerElement *ele=nullptr)=0
virtual char * ReadString(char *s, Int_t max)=0
virtual void ReadUShort(UShort_t &s)=0
virtual void WriteArray(const UChar_t *c, Int_t n)=0
virtual void WriteFloat(Float_t f)=0
virtual void TagStreamerInfo(TVirtualStreamerInfo *info)=0
virtual void ReadFastArray(ULong_t *l, Int_t n)=0
virtual void WriteArray(const UInt_t *i, Int_t n)=0
Int_t Write(const char *name, Int_t opt, Int_t bufs) const override
Write this object to the current directory.
virtual void WriteFastArray(const Long64_t *l, Long64_t n)=0
virtual void SkipVersion(const TClass *cl=nullptr)=0
virtual void WriteTString(const TString &s)=0
virtual Int_t ReadBuf(void *buf, Int_t max)=0
virtual void MapObject(const TObject *obj, UInt_t offset=1)=0
virtual void WriteArray(const ULong_t *l, Int_t n)=0
virtual Int_t ReadClassEmulated(const TClass *cl, void *object, const TClass *onfile_class=nullptr)=0
virtual Int_t ReadArray(Char_t *&c)=0
virtual void StreamObject(void *obj, const std::type_info &typeinfo, const TClass *onFileClass=nullptr)=0
TClass instances represent classes, structs and namespaces in the ROOT type system.
An array of clone (identical) objects.
Mother of all ROOT objects.
virtual Int_t Write(const char *name=nullptr, Int_t option=0, Int_t bufsize=0)
Write this object to the current directory.
virtual Int_t Read(const char *name)
Read contents of object with specified name from the current directory.
A TProcessID identifies a ROOT job in a unique way in time and space.
A TRefTable maintains the association between a referenced object and the parent object supporting th...
Describe one element (data member) to be Streamed.
Wrapper around an object and giving indirect access to its content even if the object is not of a cla...
Abstract Interface class describing Streamer information for one class.