269 virtual void StreamObject(
void *obj,
const std::type_info &typeinfo,
const TClass* onFileClass =
nullptr) = 0;
270 virtual void StreamObject(
void *obj,
const char *className,
const TClass* onFileClass =
nullptr) = 0;
377#if defined(R__SOLARIS) && defined(R__GNU)
unsigned short UShort_t
Unsigned Short integer 2 bytes (unsigned short).
int Int_t
Signed integer 4 bytes (int).
short Version_t
Class version identifier (short).
unsigned char UChar_t
Unsigned Character 1 byte (unsigned char).
char Char_t
Character 1 byte (char).
unsigned int UInt_t
Unsigned integer 4 bytes (unsigned int).
unsigned long ULong_t
Unsigned long integer 4 bytes (unsigned long). Size depends on architecture.
long Long_t
Signed long integer 4 bytes (long). Size depends on architecture.
bool Bool_t
Boolean (0=false, 1=true) (bool).
short Short_t
Signed Short integer 2 bytes (short).
double Double_t
Double 8 bytes.
long long Long64_t
Portable signed long integer 8 bytes.
unsigned long long ULong64_t
Portable unsigned long integer 8 bytes.
float Float_t
Float 4 bytes (float).
#define ClassDefOverride(name, id)
TBuffer & operator>>(TBuffer &buf, Bool_t &b)
TBuffer & operator<<(TBuffer &buf, Bool_t b)
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
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
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
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
void SetBuffer(void *buf, UInt_t bufsize=0, Bool_t adopt=kTRUE, ReAllocCharFun_t reallocfunc=nullptr)
Sets a new buffer in an existing TBuffer object.
virtual void DecrementLevel(TVirtualStreamerInfo *)=0
Int_t Write(const char *name, Int_t opt, Int_t bufsize) override
Write this object to the current directory.
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
! Realloc function to be used when extending the buffer.
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
Int_t Write(const char *name, Int_t opt, Int_t bufsize) const override
Write this object to the current directory.
virtual void ReadFastArray(ULong_t *l, Int_t n)=0
virtual void WriteArray(const UInt_t *i, Int_t n)=0
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.
static TClass * GetClass(const char *name, Bool_t load=kTRUE, Bool_t silent=kFALSE)
Static method returning pointer to TClass of the specified class name.
An array of clone (identical) objects.
Mother of all ROOT objects.
friend class TClonesArray
virtual Int_t Write(const char *name=nullptr, Int_t option=0, Int_t bufsize=0)
Write this object to the current directory.
TObject()
TObject constructor.
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.