Logo ROOT  
Reference Guide
TBufferFile Class Reference

The concrete implementation of TBuffer for writing/reading to/from a ROOT file or socket.

Definition at line 46 of file TBufferFile.h.

Public Types

enum  { kStreamedMemberWise = BIT(14) }
 
- Public Types inherited from TBufferIO
enum  { kMapSize = 503 }
 
enum  EStatusBits {
  kNotDecompressed = BIT(15) , kTextBasedStreaming = BIT(18) , kUser1 = BIT(21) , kUser2 = BIT(22) ,
  kUser3 = BIT(23)
}
 
- Public Types inherited from TBuffer
enum  { kInitialSize = 1024 , kMinimalSize = 128 }
 
enum  EMode { kRead = 0 , kWrite = 1 }
 
enum  EStatusBits { kIsOwner = BIT(16) , kCannotHandleMemberWiseStreaming = BIT(17) }
 
- Public Types inherited from TObject
enum  {
  kIsOnHeap = 0x01000000 , kNotDeleted = 0x02000000 , kZombie = 0x04000000 , kInconsistent = 0x08000000 ,
  kBitMask = 0x00ffffff
}
 
enum  { kSingleKey = BIT(0) , kOverwrite = BIT(1) , kWriteDelete = BIT(2) }
 
enum  EDeprecatedStatusBits { kObjInCanvas = BIT(3) }
 
enum  EStatusBits {
  kCanDelete = BIT(0) , kMustCleanup = BIT(3) , kIsReferenced = BIT(4) , kHasUUID = BIT(5) ,
  kCannotPick = BIT(6) , kNoContextMenu = BIT(8) , kInvalidObject = BIT(13)
}
 

Public Member Functions

 TBufferFile (TBuffer::EMode mode)
 Create an I/O buffer object. More...
 
 TBufferFile (TBuffer::EMode mode, Int_t bufsiz)
 Create an I/O buffer object. More...
 
 TBufferFile (TBuffer::EMode mode, Int_t bufsiz, void *buf, Bool_t adopt=kTRUE, ReAllocCharFun_t reallocfunc=nullptr)
 Create an I/O buffer object. More...
 
virtual ~TBufferFile ()
 Delete an I/O buffer object. More...
 
Int_t ApplySequence (const TStreamerInfoActions::TActionSequence &sequence, void *object) override
 Read one collection of objects from the buffer using the StreamerInfoLoopAction. More...
 
Int_t ApplySequence (const TStreamerInfoActions::TActionSequence &sequence, void *start_collection, void *end_collection) override
 Read one collection of objects from the buffer using the StreamerInfoLoopAction. More...
 
Int_t ApplySequenceVecPtr (const TStreamerInfoActions::TActionSequence &sequence, void *start_collection, void *end_collection) override
 Read one collection of objects from the buffer using the StreamerInfoLoopAction. More...
 
Int_t CheckByteCount (UInt_t startpos, UInt_t bcnt, const char *classname) override
 Check byte count with current buffer position. More...
 
Int_t CheckByteCount (UInt_t startpos, UInt_t bcnt, const TClass *clss) override
 Check byte count with current buffer position. More...
 
Bool_t CheckObject (const TObject *obj) override
 Check if the specified object is already in the buffer. More...
 
Bool_t CheckObject (const void *obj, const TClass *ptrClass) override
 Check if the specified object of the specified class is already in the buffer. More...
 
void ClassBegin (const TClass *, Version_t=-1) override
 
void ClassEnd (const TClass *) override
 
void ClassMember (const char *, const char *=0, Int_t=-1, Int_t=-1) override
 
void DecrementLevel (TVirtualStreamerInfo *) override
 Decrement level. More...
 
TVirtualStreamerInfoGetInfo () override
 
void IncrementLevel (TVirtualStreamerInfo *info) override
 Increment level. More...
 
Int_t ReadArray (Bool_t *&b) override
 Read array of bools from the I/O buffer. More...
 
Int_t ReadArray (Char_t *&c) override
 Read array of characters from the I/O buffer. More...
 
Int_t ReadArray (Double_t *&d) override
 Read array of doubles from the I/O buffer. More...
 
Int_t ReadArray (Float_t *&f) override
 Read array of floats from the I/O buffer. More...
 
Int_t ReadArray (Int_t *&i) override
 Read array of ints from the I/O buffer. More...
 
Int_t ReadArray (Long64_t *&l) override
 Read array of long longs from the I/O buffer. More...
 
Int_t ReadArray (Long_t *&l) override
 Read array of longs from the I/O buffer. More...
 
Int_t ReadArray (Short_t *&h) override
 Read array of shorts from the I/O buffer. More...
 
Int_t ReadArray (UChar_t *&c) override
 
Int_t ReadArray (UInt_t *&i) override
 
Int_t ReadArray (ULong64_t *&l) override
 
Int_t ReadArray (ULong_t *&l) override
 
Int_t ReadArray (UShort_t *&h) override
 
Int_t ReadArrayDouble32 (Double_t *&d, TStreamerElement *ele=nullptr) override
 Read array of doubles (written as float) from the I/O buffer. More...
 
Int_t ReadArrayFloat16 (Float_t *&f, TStreamerElement *ele=nullptr) override
 Read array of floats (written as truncated float) from the I/O buffer. More...
 
void ReadBool (Bool_t &b) override
 
Int_t ReadBuf (void *buf, Int_t max) override
 Read max bytes from the I/O buffer into buf. More...
 
void ReadChar (Char_t &c) override
 
void ReadCharP (Char_t *c) override
 
void ReadCharStar (char *&s) override
 Read char* from TBuffer. More...
 
TClassReadClass (const TClass *cl=nullptr, UInt_t *objTag=nullptr) override
 Read class definition from I/O buffer. More...
 
Int_t ReadClassBuffer (const TClass *cl, void *pointer, const TClass *onfile_class) override
 Deserialize information from a buffer into an object. More...
 
Int_t ReadClassBuffer (const TClass *cl, void *pointer, Int_t version, UInt_t start, UInt_t count, const TClass *onfile_class) override
 Deserialize information from a buffer into an object. More...
 
Int_t ReadClassEmulated (const TClass *cl, void *object, const TClass *onfile_class) override
 Read emulated class. More...
 
void ReadDouble (Double_t &d) override
 
void ReadDouble32 (Double_t *d, TStreamerElement *ele=nullptr) override
 Read a Double32_t from the buffer, see comments about Double32_t encoding at TBufferFile::WriteDouble32(). More...
 
void ReadFastArray (Bool_t *b, Int_t n) override
 Read array of n bools from the I/O buffer. More...
 
void ReadFastArray (Char_t *c, Int_t n) override
 Read array of n characters from the I/O buffer. More...
 
void ReadFastArray (Double_t *d, Int_t n) override
 Read array of n doubles from the I/O buffer. More...
 
void ReadFastArray (Float_t *f, Int_t n) override
 Read array of n floats from the I/O buffer. More...
 
void ReadFastArray (Int_t *i, Int_t n) override
 Read array of n ints from the I/O buffer. More...
 
void ReadFastArray (Long64_t *l, Int_t n) override
 Read array of n long longs from the I/O buffer. More...
 
void ReadFastArray (Long_t *l, Int_t n) override
 Read array of n longs from the I/O buffer. More...
 
void ReadFastArray (Short_t *h, Int_t n) override
 Read array of n shorts from the I/O buffer. More...
 
void ReadFastArray (UChar_t *c, Int_t n) override
 
void ReadFastArray (UInt_t *i, Int_t n) override
 
void ReadFastArray (ULong64_t *l, Int_t n) override
 
void ReadFastArray (ULong_t *l, Int_t n) override
 
void ReadFastArray (UShort_t *h, Int_t n) override
 
void ReadFastArray (void **startp, const TClass *cl, Int_t n=1, Bool_t isPreAlloc=kFALSE, TMemberStreamer *s=nullptr, const TClass *onFileClass=nullptr) override
 Read an array of 'n' objects from the I/O buffer. More...
 
void ReadFastArray (void *start, const TClass *cl, Int_t n=1, TMemberStreamer *s=nullptr, const TClass *onFileClass=nullptr) override
 Read an array of 'n' objects from the I/O buffer. More...
 
void ReadFastArrayDouble32 (Double_t *d, Int_t n, TStreamerElement *ele=nullptr) override
 Read array of n doubles (written as float) from the I/O buffer. More...
 
void ReadFastArrayFloat16 (Float_t *f, Int_t n, TStreamerElement *ele=nullptr) override
 Read array of n floats (written as truncated float) from the I/O buffer. More...
 
void ReadFastArrayString (Char_t *c, Int_t n) override
 Read array of n characters from the I/O buffer. More...
 
void ReadFastArrayWithFactor (Double_t *ptr, Int_t n, Double_t factor, Double_t minvalue) override
 Read array of n doubles (written as float) from the I/O buffer. More...
 
void ReadFastArrayWithFactor (Float_t *ptr, Int_t n, Double_t factor, Double_t minvalue) override
 Read array of n floats (written as truncated float) from the I/O buffer. More...
 
void ReadFastArrayWithNbits (Double_t *ptr, Int_t n, Int_t nbits) override
 Read array of n doubles (written as float) from the I/O buffer. More...
 
void ReadFastArrayWithNbits (Float_t *ptr, Int_t n, Int_t nbits) override
 Read array of n floats (written as truncated float) from the I/O buffer. More...
 
void ReadFloat (Float_t &f) override
 
void ReadFloat16 (Float_t *f, TStreamerElement *ele=nullptr) override
 Read a Float16_t from the buffer, see comments about Float16_t encoding at TBufferFile::WriteFloat16(). More...
 
void ReadInt (Int_t &i) override
 
void ReadLong (Long_t &l) override
 Read Long from TBuffer. More...
 
void ReadLong64 (Long64_t &l) override
 
TObjectReadObject (const TClass *cl) override
 Read object from I/O buffer. More...
 
voidReadObjectAny (const TClass *cast) override
 Read object from I/O buffer. More...
 
void ReadShort (Short_t &s) override
 
Int_t ReadStaticArray (Bool_t *b) override
 Read array of bools from the I/O buffer. More...
 
Int_t ReadStaticArray (Char_t *c) override
 Read array of characters from the I/O buffer. More...
 
Int_t ReadStaticArray (Double_t *d) override
 Read array of doubles from the I/O buffer. More...
 
Int_t ReadStaticArray (Float_t *f) override
 Read array of floats from the I/O buffer. More...
 
Int_t ReadStaticArray (Int_t *i) override
 Read array of ints from the I/O buffer. More...
 
Int_t ReadStaticArray (Long64_t *l) override
 Read array of long longs from the I/O buffer. More...
 
Int_t ReadStaticArray (Long_t *l) override
 Read array of longs from the I/O buffer. More...
 
Int_t ReadStaticArray (Short_t *h) override
 Read array of shorts from the I/O buffer. More...
 
Int_t ReadStaticArray (UChar_t *c) override
 
Int_t ReadStaticArray (UInt_t *i) override
 
Int_t ReadStaticArray (ULong64_t *l) override
 
Int_t ReadStaticArray (ULong_t *l) override
 
Int_t ReadStaticArray (UShort_t *h) override
 
Int_t ReadStaticArrayDouble32 (Double_t *d, TStreamerElement *ele=nullptr) override
 Read array of doubles (written as float) from the I/O buffer. More...
 
Int_t ReadStaticArrayFloat16 (Float_t *f, TStreamerElement *ele=nullptr) override
 Read array of floats (written as truncated float) from the I/O buffer. More...
 
virtual void ReadStdString (std::string &s)
 
void ReadStdString (std::string *s) override
 Read std::string from TBuffer. More...
 
virtual void ReadStdString (std::string *s)=0
 
char * ReadString (char *s, Int_t max) override
 Read string from I/O buffer. More...
 
void ReadTString (TString &s) override
 Read TString from TBuffer. More...
 
void ReadUChar (UChar_t &c) override
 
void ReadUInt (UInt_t &i) override
 
void ReadULong (ULong_t &l) override
 
void ReadULong64 (ULong64_t &l) override
 
void ReadUShort (UShort_t &s) override
 
Version_t ReadVersion (UInt_t *start=nullptr, UInt_t *bcnt=nullptr, const TClass *cl=nullptr) override
 Read class version from I/O buffer. More...
 
Version_t ReadVersionForMemberWise (const TClass *cl=nullptr) override
 Read class version from I/O buffer. More...
 
Version_t ReadVersionNoCheckSum (UInt_t *start=nullptr, UInt_t *bcnt=nullptr) override
 Read class version from I/O buffer, when the caller knows for sure that there is no checksum written/involved. More...
 
void ReadWithFactor (Double_t *ptr, Double_t factor, Double_t minvalue) override
 Read a Double32_t from the buffer when the factor and minimum value have been specified see comments about Double32_t encoding at TBufferFile::WriteDouble32(). More...
 
void ReadWithFactor (Float_t *ptr, Double_t factor, Double_t minvalue) override
 Read a Float16_t from the buffer when the factor and minimum value have been specified see comments about Double32_t encoding at TBufferFile::WriteDouble32(). More...
 
void ReadWithNbits (Double_t *ptr, Int_t nbits) override
 Read a Double32_t from the buffer when the number of bits is specified (explicitly or not) see comments about Double32_t encoding at TBufferFile::WriteDouble32(). More...
 
void ReadWithNbits (Float_t *ptr, Int_t nbits) override
 Read a Float16_t from the buffer when the number of bits is specified (explicitly or not) see comments about Float16_t encoding at TBufferFile::WriteFloat16(). More...
 
void SetByteCount (UInt_t cntpos, Bool_t packInVersion=kFALSE) override
 Set byte count at position cntpos in the buffer. More...
 
void SetStreamerElementNumber (TStreamerElement *, Int_t) override
 
void SkipObjectAny () override
 Skip any kind of object from buffer. More...
 
void SkipVersion (const TClass *cl=nullptr) override
 Skip class version from I/O buffer. More...
 
void StreamObject (TObject *obj) override
 Stream an object inheriting from TObject using its streamer. More...
 
void StreamObject (void *obj, const char *className, const TClass *onFileClass=nullptr) override
 Stream an object given the name of its actual class. More...
 
void StreamObject (void *obj, const std::type_info &typeinfo, const TClass *onFileClass=nullptr) override
 Stream an object given its C++ typeinfo information. More...
 
void StreamObject (void *obj, const TClass *cl, const TClass *onFileClass=nullptr) override
 Stream an object given a pointer to its actual class. More...
 
void WriteArray (const Bool_t *b, Int_t n) override
 Write array of n bools into the I/O buffer. More...
 
void WriteArray (const Char_t *c, Int_t n) override
 Write array of n characters into the I/O buffer. More...
 
void WriteArray (const Double_t *d, Int_t n) override
 Write array of n doubles into the I/O buffer. More...
 
void WriteArray (const Float_t *f, Int_t n) override
 Write array of n floats into the I/O buffer. More...
 
void WriteArray (const Int_t *i, Int_t n) override
 Write array of n ints into the I/O buffer. More...
 
void WriteArray (const Long64_t *l, Int_t n) override
 Write array of n long longs into the I/O buffer. More...
 
void WriteArray (const Long_t *l, Int_t n) override
 Write array of n longs into the I/O buffer. More...
 
void WriteArray (const Short_t *h, Int_t n) override
 Write array of n shorts into the I/O buffer. More...
 
void WriteArray (const UChar_t *c, Int_t n) override
 
void WriteArray (const UInt_t *i, Int_t n) override
 
void WriteArray (const ULong64_t *l, Int_t n) override
 
void WriteArray (const ULong_t *l, Int_t n) override
 Write array of n unsigned longs into the I/O buffer. More...
 
void WriteArray (const UShort_t *h, Int_t n) override
 
void WriteArrayDouble32 (const Double_t *d, Int_t n, TStreamerElement *ele=nullptr) override
 Write array of n doubles (as float) into the I/O buffer. More...
 
void WriteArrayFloat16 (const Float_t *f, Int_t n, TStreamerElement *ele=nullptr) override
 Write array of n floats (as truncated float) into the I/O buffer. More...
 
void WriteBool (Bool_t b) override
 
void WriteBuf (const void *buf, Int_t max) override
 Write max bytes from buf into the I/O buffer. More...
 
void WriteChar (Char_t c) override
 
void WriteCharP (const Char_t *c) override
 
void WriteCharStar (char *s) override
 Write char* into TBuffer. More...
 
void WriteClass (const TClass *cl) override
 Write class description to I/O buffer. More...
 
Int_t WriteClassBuffer (const TClass *cl, void *pointer) override
 Function called by the Streamer functions to serialize object at p to buffer b. More...
 
void WriteDouble (Double_t d) override
 
void WriteDouble32 (Double_t *d, TStreamerElement *ele=nullptr) override
 Write a Double32_t to the buffer. More...
 
void WriteFastArray (const Bool_t *b, Int_t n) override
 Write array of n bools into the I/O buffer. More...
 
void WriteFastArray (const Char_t *c, Int_t n) override
 Write array of n characters into the I/O buffer. More...
 
void WriteFastArray (const Double_t *d, Int_t n) override
 Write array of n doubles into the I/O buffer. More...
 
void WriteFastArray (const Float_t *f, Int_t n) override
 Write array of n floats into the I/O buffer. More...
 
void WriteFastArray (const Int_t *i, Int_t n) override
 Write array of n ints into the I/O buffer. More...
 
void WriteFastArray (const Long64_t *l, Int_t n) override
 Write array of n long longs into the I/O buffer. More...
 
void WriteFastArray (const Long_t *l, Int_t n) override
 Write array of n longs into the I/O buffer. More...
 
void WriteFastArray (const Short_t *h, Int_t n) override
 Write array of n shorts into the I/O buffer. More...
 
void WriteFastArray (const UChar_t *c, Int_t n) override
 
void WriteFastArray (const UInt_t *i, Int_t n) override
 
void WriteFastArray (const ULong64_t *l, Int_t n) override
 
void WriteFastArray (const ULong_t *l, Int_t n) override
 Write array of n unsigned longs into the I/O buffer. More...
 
void WriteFastArray (const UShort_t *h, Int_t n) override
 
Int_t WriteFastArray (void **startp, const TClass *cl, Int_t n=1, Bool_t isPreAlloc=kFALSE, TMemberStreamer *s=nullptr) override
 Write an array of object starting at the address '*start' and of length 'n' the objects in the array are of class 'cl' 'isPreAlloc' indicates whether the data member is marked with '->' Return: More...
 
void WriteFastArray (void *start, const TClass *cl, Int_t n=1, TMemberStreamer *s=nullptr) override
 Write an array of object starting at the address 'start' and of length 'n' the objects in the array are assumed to be of class 'cl'. More...
 
void WriteFastArrayDouble32 (const Double_t *d, Int_t n, TStreamerElement *ele=nullptr) override
 Write array of n doubles (as float) into the I/O buffer. More...
 
void WriteFastArrayFloat16 (const Float_t *f, Int_t n, TStreamerElement *ele=nullptr) override
 Write array of n floats (as truncated float) into the I/O buffer. More...
 
void WriteFastArrayString (const Char_t *c, Int_t n) override
 Write array of n characters into the I/O buffer. More...
 
void WriteFloat (Float_t f) override
 
void WriteFloat16 (Float_t *f, TStreamerElement *ele=nullptr) override
 Write a Float16_t to the buffer. More...
 
void WriteInt (Int_t i) override
 
void WriteLong (Long_t l) override
 
void WriteLong64 (Long64_t l) override
 
void WriteShort (Short_t s) override
 
void WriteStdString (const std::string *s) override
 Write std::string to TBuffer. More...
 
virtual void WriteStdString (const std::string *s)=0
 
virtual void WriteStdString (std::string &s)
 
void WriteString (const char *s) override
 Write string to I/O buffer. More...
 
void WriteTString (const TString &s) override
 Write TString to TBuffer. More...
 
void WriteUChar (UChar_t c) override
 
void WriteUInt (UInt_t i) override
 
void WriteULong (ULong_t l) override
 
void WriteULong64 (ULong64_t l) override
 
void WriteUShort (UShort_t s) override
 
UInt_t WriteVersion (const TClass *cl, Bool_t useBcnt=kFALSE) override
 Write class version to I/O buffer. More...
 
UInt_t WriteVersionMemberWise (const TClass *cl, Bool_t useBcnt=kFALSE) override
 Write class version to I/O buffer after setting the kStreamedMemberWise bit in the version number. More...
 
- Public Member Functions inherited from TBufferIO
virtual ~TBufferIO ()
 destructor More...
 
Bool_t CheckObject (const TObject *obj) override
 Check if the specified object is already in the buffer. More...
 
Bool_t CheckObject (const void *obj, const TClass *ptrClass) override
 Check if the specified object of the specified class is already in the buffer. More...
 
void ForceWriteInfo (TVirtualStreamerInfo *info, Bool_t force) override
 force writing the TStreamerInfo to the file More...
 
void ForceWriteInfoClones (TClonesArray *a) override
 Make sure TStreamerInfo is not optimized, otherwise it will not be possible to support schema evolution in read mode. More...
 
Int_t GetBufferDisplacement () const override
 
TProcessIDGetLastProcessID (TRefTable *reftable) const override
 Return the last TProcessID in the file. More...
 
Int_t GetMapCount () const override
 
void GetMappedObject (UInt_t tag, void *&ptr, TClass *&ClassPtr) const override
 Retrieve the object stored in the buffer's object map at 'tag' Set ptr and ClassPtr respectively to the address of the object and a pointer to its TClass. More...
 
UShort_t GetPidOffset () const override
 
UInt_t GetTRefExecId () override
 Return the exec id stored in the current TStreamerInfo element. More...
 
Int_t GetVersionOwner () const override
 Return the version number of the owner file. More...
 
void InitMap () override
 Create the fMap container and initialize them with the null object. More...
 
void MapObject (const TObject *obj, UInt_t offset=1) override
 Add object to the fMap container. More...
 
void MapObject (const void *obj, const TClass *cl, UInt_t offset=1) override
 Add object to the fMap container. More...
 
Int_t ReadClones (TClonesArray *a, Int_t nobjects, Version_t objvers) override
 Interface to TStreamerInfo::ReadBufferClones. More...
 
TProcessIDReadProcessID (UShort_t pidf) override
 The TProcessID with number pidf is read from file. More...
 
void Reset () override
 Reset buffer object. Resets map and buffer offset. More...
 
void ResetMap () override
 Delete existing fMap and reset map counter. More...
 
void SetBufferDisplacement () override
 
void SetBufferDisplacement (Int_t skipped) override
 
void SetPidOffset (UShort_t offset) override
 This offset is used when a key (or basket) is transfered from one file to the other. More...
 
void SetReadParam (Int_t mapsize) override
 Set the initial size of the map used to store object and class references during reading. More...
 
void SetWriteParam (Int_t mapsize) override
 Set the initial size of the hashtable used to store object and class references during writing. More...
 
void TagStreamerInfo (TVirtualStreamerInfo *info) override
 Mark the classindex of the current file as using this TStreamerInfo. More...
 
Int_t WriteClones (TClonesArray *a, Int_t nobjects) override
 Interface to TStreamerInfo::WriteBufferClones. More...
 
template<class T >
Int_t WriteObject (const T *objptr, Bool_t cacheReuse=kTRUE)
 
virtual void WriteObject (const TObject *obj, Bool_t cacheReuse)=0
 
void WriteObject (const TObject *obj, Bool_t cacheReuse=kTRUE) override
 Write object to I/O buffer. More...
 
Int_t WriteObjectAny (const void *obj, const TClass *ptrClass, Bool_t cacheReuse=kTRUE) override
 Write object to I/O buffer. More...
 
UShort_t WriteProcessID (TProcessID *pid) override
 Check if the ProcessID pid is already in the file. More...
 
- Public Member Functions inherited from TBuffer
 TBuffer (EMode mode)
 Create an I/O buffer object. More...
 
 TBuffer (EMode mode, Int_t bufsiz)
 Create an I/O buffer object. More...
 
 TBuffer (EMode mode, Int_t bufsiz, void *buf, Bool_t adopt=kTRUE, ReAllocCharFun_t reallocfunc=0)
 Create an I/O buffer object. More...
 
virtual ~TBuffer ()
 Delete an I/O buffer object. More...
 
virtual Int_t ApplySequence (const TStreamerInfoActions::TActionSequence &sequence, void *object)=0
 
virtual Int_t ApplySequence (const TStreamerInfoActions::TActionSequence &sequence, void *start_collection, void *end_collection)=0
 
virtual Int_t ApplySequenceVecPtr (const TStreamerInfoActions::TActionSequence &sequence, void *start_collection, void *end_collection)=0
 
void AutoExpand (Int_t size_needed)
 Automatically calculate a new size and expand the buffer to fit at least size_needed. More...
 
char * Buffer () const
 
Int_t BufferSize () const
 
Bool_t ByteSwapBuffer (Long64_t n, EDataType type)
 Byte-swap N primitive-elements in the buffer. More...
 
virtual Int_t CheckByteCount (UInt_t startpos, UInt_t bcnt, const char *classname)=0
 
virtual Int_t CheckByteCount (UInt_t startpos, UInt_t bcnt, const TClass *clss)=0
 
virtual Bool_t CheckObject (const TObject *obj)=0
 
virtual Bool_t CheckObject (const void *obj, const TClass *ptrClass)=0
 
virtual void ClassBegin (const TClass *, Version_t=-1)=0
 
virtual void ClassEnd (const TClass *)=0
 
virtual void ClassMember (const char *, const char *=0, Int_t=-1, Int_t=-1)=0
 
virtual void DecrementLevel (TVirtualStreamerInfo *)=0
 
void DetachBuffer ()
 
void Expand (Int_t newsize, Bool_t copy=kTRUE)
 Expand (or shrink) the I/O buffer to newsize bytes. More...
 
virtual void ForceWriteInfo (TVirtualStreamerInfo *info, Bool_t force)=0
 
virtual void ForceWriteInfoClones (TClonesArray *a)=0
 
virtual Int_t GetBufferDisplacement () const =0
 
Int_t GetBufferVersion () const
 
char * GetCurrent () const
 
virtual TVirtualStreamerInfoGetInfo ()=0
 
virtual TProcessIDGetLastProcessID (TRefTable *reftable) const =0
 
virtual Int_t GetMapCount () const =0
 
virtual void GetMappedObject (UInt_t tag, void *&ptr, TClass *&ClassPtr) const =0
 
TObjectGetParent () const
 Return pointer to parent of this buffer. More...
 
virtual UShort_t GetPidOffset () const =0
 
ReAllocCharFun_t GetReAllocFunc () const
 Return the reallocation method currently used. More...
 
virtual UInt_t GetTRefExecId ()=0
 
virtual Int_t GetVersionOwner () const =0
 
virtual void IncrementLevel (TVirtualStreamerInfo *info)=0
 
virtual void InitMap ()=0
 
Bool_t IsReading () const
 
Bool_t IsWriting () const
 
Int_t Length () const
 
virtual void MapObject (const TObject *obj, UInt_t offset=1)=0
 
virtual void MapObject (const void *obj, const TClass *cl, UInt_t offset=1)=0
 
virtual TVirtualArrayPeekDataCache () const
 Return the 'current' data cache area from the list of area to be used for temporarily store 'missing' data members. More...
 
virtual TVirtualArrayPopDataCache ()
 Pop and Return the 'current' data cache area from the list of area to be used for temporarily store 'missing' data members. More...
 
virtual void PushDataCache (TVirtualArray *)
 Push a new data cache area onto the list of area to be used for temporarily store 'missing' data members. More...
 
virtual Int_t ReadArray (Bool_t *&b)=0
 
virtual Int_t ReadArray (Char_t *&c)=0
 
virtual Int_t ReadArray (Double_t *&d)=0
 
virtual Int_t ReadArray (Float_t *&f)=0
 
virtual Int_t ReadArray (Int_t *&i)=0
 
virtual Int_t ReadArray (Long64_t *&l)=0
 
virtual Int_t ReadArray (Long_t *&l)=0
 
virtual Int_t ReadArray (Short_t *&h)=0
 
virtual Int_t ReadArray (UChar_t *&c)=0
 
virtual Int_t ReadArray (UInt_t *&i)=0
 
virtual Int_t ReadArray (ULong64_t *&l)=0
 
virtual Int_t ReadArray (ULong_t *&l)=0
 
virtual Int_t ReadArray (UShort_t *&h)=0
 
virtual Int_t ReadArrayDouble32 (Double_t *&d, TStreamerElement *ele=0)=0
 
virtual Int_t ReadArrayFloat16 (Float_t *&f, TStreamerElement *ele=0)=0
 
virtual void ReadBool (Bool_t &b)=0
 
virtual Int_t ReadBuf (void *buf, Int_t max)=0
 
virtual void ReadChar (Char_t &c)=0
 
virtual void ReadCharP (Char_t *c)=0
 
virtual void ReadCharStar (char *&s)=0
 
virtual TClassReadClass (const TClass *cl=0, UInt_t *objTag=0)=0
 
virtual Int_t ReadClassBuffer (const TClass *cl, void *pointer, const TClass *onfile_class=0)=0
 
virtual Int_t ReadClassBuffer (const TClass *cl, void *pointer, Int_t version, UInt_t start, UInt_t count, const TClass *onfile_class=0)=0
 
virtual Int_t ReadClassEmulated (const TClass *cl, void *object, const TClass *onfile_class=0)=0
 
virtual Int_t ReadClones (TClonesArray *a, Int_t nobjects, Version_t objvers)=0
 
virtual void ReadDouble (Double_t &d)=0
 
virtual void ReadDouble32 (Double_t *d, TStreamerElement *ele=0)=0
 
virtual void ReadFastArray (Bool_t *b, Int_t n)=0
 
virtual void ReadFastArray (Char_t *c, Int_t n)=0
 
virtual void ReadFastArray (Double_t *d, Int_t n)=0
 
virtual void ReadFastArray (Float_t *f, Int_t n)=0
 
virtual void ReadFastArray (Int_t *i, Int_t n)=0
 
virtual void ReadFastArray (Long64_t *l, Int_t n)=0
 
virtual void ReadFastArray (Long_t *l, Int_t n)=0
 
virtual void ReadFastArray (Short_t *h, Int_t n)=0
 
virtual void ReadFastArray (UChar_t *c, Int_t n)=0
 
virtual void ReadFastArray (UInt_t *i, Int_t n)=0
 
virtual void ReadFastArray (ULong64_t *l, Int_t n)=0
 
virtual void ReadFastArray (ULong_t *l, Int_t n)=0
 
virtual void ReadFastArray (UShort_t *h, Int_t n)=0
 
virtual void ReadFastArray (void **startp, const TClass *cl, Int_t n=1, Bool_t isPreAlloc=kFALSE, TMemberStreamer *s=0, const TClass *onFileClass=0)=0
 
virtual void ReadFastArray (void *start, const TClass *cl, Int_t n=1, TMemberStreamer *s=0, const TClass *onFileClass=0)=0
 
virtual void ReadFastArrayDouble32 (Double_t *d, Int_t n, TStreamerElement *ele=0)=0
 
virtual void ReadFastArrayFloat16 (Float_t *f, Int_t n, TStreamerElement *ele=0)=0
 
virtual void ReadFastArrayString (Char_t *c, Int_t n)=0
 
virtual void ReadFastArrayWithFactor (Double_t *ptr, Int_t n, Double_t factor, Double_t minvalue)=0
 
virtual void ReadFastArrayWithFactor (Float_t *ptr, Int_t n, Double_t factor, Double_t minvalue)=0
 
virtual void ReadFastArrayWithNbits (Double_t *ptr, Int_t n, Int_t nbits)=0
 
virtual void ReadFastArrayWithNbits (Float_t *ptr, Int_t n, Int_t nbits)=0
 
virtual void ReadFloat (Float_t &f)=0
 
virtual void ReadFloat16 (Float_t *f, TStreamerElement *ele=0)=0
 
virtual void ReadInt (Int_t &i)=0
 
virtual void ReadLong (Long_t &l)=0
 
virtual void ReadLong64 (Long64_t &l)=0
 
virtual TObjectReadObject (const TClass *cl)=0
 
virtual voidReadObjectAny (const TClass *cast)=0
 
virtual TProcessIDReadProcessID (UShort_t pidf)=0
 Return the current Process-ID. More...
 
virtual void ReadShort (Short_t &s)=0
 
virtual Int_t ReadStaticArray (Bool_t *b)=0
 
virtual Int_t ReadStaticArray (Char_t *c)=0
 
virtual Int_t ReadStaticArray (Double_t *d)=0
 
virtual Int_t ReadStaticArray (Float_t *f)=0
 
virtual Int_t ReadStaticArray (Int_t *i)=0
 
virtual Int_t ReadStaticArray (Long64_t *l)=0
 
virtual Int_t ReadStaticArray (Long_t *l)=0
 
virtual Int_t ReadStaticArray (Short_t *h)=0
 
virtual Int_t ReadStaticArray (UChar_t *c)=0
 
virtual Int_t ReadStaticArray (UInt_t *i)=0
 
virtual Int_t ReadStaticArray (ULong64_t *l)=0
 
virtual Int_t ReadStaticArray (ULong_t *l)=0
 
virtual Int_t ReadStaticArray (UShort_t *h)=0
 
virtual Int_t ReadStaticArrayDouble32 (Double_t *d, TStreamerElement *ele=0)=0
 
virtual Int_t ReadStaticArrayFloat16 (Float_t *f, TStreamerElement *ele=0)=0
 
virtual void ReadStdString (std::string &s)
 
virtual void ReadStdString (std::string *s)=0
 
virtual char * ReadString (char *s, Int_t max)=0
 
virtual void ReadTString (TString &s)=0
 
virtual void ReadUChar (UChar_t &c)=0
 
virtual void ReadUInt (UInt_t &i)=0
 
virtual void ReadULong (ULong_t &l)=0
 
virtual void ReadULong64 (ULong64_t &l)=0
 
virtual void ReadUShort (UShort_t &s)=0
 
virtual Version_t ReadVersion (UInt_t *start=0, UInt_t *bcnt=0, const TClass *cl=0)=0
 
virtual Version_t ReadVersionForMemberWise (const TClass *cl=0)=0
 
virtual Version_t ReadVersionNoCheckSum (UInt_t *start=0, UInt_t *bcnt=0)=0
 
virtual void ReadWithFactor (Double_t *ptr, Double_t factor, Double_t minvalue)=0
 
virtual void ReadWithFactor (Float_t *ptr, Double_t factor, Double_t minvalue)=0
 
virtual void ReadWithNbits (Double_t *ptr, Int_t nbits)=0
 
virtual void ReadWithNbits (Float_t *ptr, Int_t nbits)=0
 
virtual void Reset ()=0
 
virtual void ResetMap ()=0
 
void SetBuffer (void *buf, UInt_t bufsiz=0, Bool_t adopt=kTRUE, ReAllocCharFun_t reallocfunc=0)
 Sets a new buffer in an existing TBuffer object. More...
 
virtual void SetBufferDisplacement ()=0
 
virtual void SetBufferDisplacement (Int_t skipped)=0
 
void SetBufferOffset (Int_t offset=0)
 
virtual void SetByteCount (UInt_t cntpos, Bool_t packInVersion=kFALSE)=0
 
void SetParent (TObject *parent)
 Set parent owning this buffer. More...
 
virtual void SetPidOffset (UShort_t offset)=0
 
void SetReadMode ()
 Set buffer in read mode. More...
 
virtual void SetReadParam (Int_t mapsize)=0
 
void SetReAllocFunc (ReAllocCharFun_t reallocfunc=0)
 Set which memory reallocation method to use. More...
 
virtual void SetStreamerElementNumber (TStreamerElement *elem, Int_t comp_type)=0
 
void SetWriteMode ()
 Set buffer in write mode. More...
 
virtual void SetWriteParam (Int_t mapsize)=0
 
virtual void SkipObjectAny ()=0
 
virtual void SkipVersion (const TClass *cl=0)=0
 
virtual void StreamObject (TObject *obj)=0
 
virtual void StreamObject (void *obj, const char *className, const TClass *onFileClass=0)=0
 
virtual void StreamObject (void *obj, const std::type_info &typeinfo, const TClass *onFileClass=0)=0
 
virtual void StreamObject (void *obj, const TClass *cl, const TClass *onFileClass=0)=0
 
virtual void TagStreamerInfo (TVirtualStreamerInfo *info)=0
 
virtual void WriteArray (const Bool_t *b, Int_t n)=0
 
virtual void WriteArray (const Char_t *c, Int_t n)=0
 
virtual void WriteArray (const Double_t *d, Int_t n)=0
 
virtual void WriteArray (const Float_t *f, Int_t n)=0
 
virtual void WriteArray (const Int_t *i, Int_t n)=0
 
virtual void WriteArray (const Long64_t *l, Int_t n)=0
 
virtual void WriteArray (const Long_t *l, Int_t n)=0
 
virtual void WriteArray (const Short_t *h, Int_t n)=0
 
virtual void WriteArray (const UChar_t *c, Int_t n)=0
 
virtual void WriteArray (const UInt_t *i, Int_t n)=0
 
virtual void WriteArray (const ULong64_t *l, Int_t n)=0
 
virtual void WriteArray (const ULong_t *l, Int_t n)=0
 
virtual void WriteArray (const UShort_t *h, Int_t n)=0
 
virtual void WriteArrayDouble32 (const Double_t *d, Int_t n, TStreamerElement *ele=0)=0
 
virtual void WriteArrayFloat16 (const Float_t *f, Int_t n, TStreamerElement *ele=0)=0
 
virtual void WriteBool (Bool_t b)=0
 
virtual void WriteBuf (const void *buf, Int_t max)=0
 
virtual void WriteChar (Char_t c)=0
 
virtual void WriteCharP (const Char_t *c)=0
 
virtual void WriteCharStar (char *s)=0
 
virtual void WriteClass (const TClass *cl)=0
 
virtual Int_t WriteClassBuffer (const TClass *cl, void *pointer)=0
 
virtual Int_t WriteClones (TClonesArray *a, Int_t nobjects)=0
 
virtual void WriteDouble (Double_t d)=0
 
virtual void WriteDouble32 (Double_t *d, TStreamerElement *ele=0)=0
 
virtual void WriteFastArray (const Bool_t *b, Int_t n)=0
 
virtual void WriteFastArray (const Char_t *c, Int_t n)=0
 
virtual void WriteFastArray (const Double_t *d, Int_t n)=0
 
virtual void WriteFastArray (const Float_t *f, Int_t n)=0
 
virtual void WriteFastArray (const Int_t *i, Int_t n)=0
 
virtual void WriteFastArray (const Long64_t *l, Int_t n)=0
 
virtual void WriteFastArray (const Long_t *l, Int_t n)=0
 
virtual void WriteFastArray (const Short_t *h, Int_t n)=0
 
virtual void WriteFastArray (const UChar_t *c, Int_t n)=0
 
virtual void WriteFastArray (const UInt_t *i, Int_t n)=0
 
virtual void WriteFastArray (const ULong64_t *l, Int_t n)=0
 
virtual void WriteFastArray (const ULong_t *l, Int_t n)=0
 
virtual void WriteFastArray (const UShort_t *h, Int_t n)=0
 
virtual Int_t WriteFastArray (void **startp, const TClass *cl, Int_t n=1, Bool_t isPreAlloc=kFALSE, TMemberStreamer *s=0)=0
 
virtual void WriteFastArray (void *start, const TClass *cl, Int_t n=1, TMemberStreamer *s=0)=0
 
virtual void WriteFastArrayDouble32 (const Double_t *d, Int_t n, TStreamerElement *ele=0)=0
 
virtual void WriteFastArrayFloat16 (const Float_t *f, Int_t n, TStreamerElement *ele=0)=0
 
virtual void WriteFastArrayString (const Char_t *c, Int_t n)=0
 
virtual void WriteFloat (Float_t f)=0
 
virtual void WriteFloat16 (Float_t *f, TStreamerElement *ele=0)=0
 
virtual void WriteInt (Int_t i)=0
 
virtual void WriteLong (Long_t l)=0
 
virtual void WriteLong64 (Long64_t l)=0
 
template<class T >
Int_t WriteObject (const T *objptr, Bool_t cacheReuse=kTRUE)
 
virtual void WriteObject (const TObject *obj, Bool_t cacheReuse)=0
 
virtual Int_t WriteObjectAny (const void *obj, const TClass *ptrClass, Bool_t cacheReuse=kTRUE)=0
 
virtual UShort_t WriteProcessID (TProcessID *pid)=0
 Always return 0 (current processID). More...
 
virtual void WriteShort (Short_t s)=0
 
virtual void WriteStdString (const std::string *s)=0
 
virtual void WriteStdString (std::string &s)
 
virtual void WriteString (const char *s)=0
 
virtual void WriteTString (const TString &s)=0
 
virtual void WriteUChar (UChar_t c)=0
 
virtual void WriteUInt (UInt_t i)=0
 
virtual void WriteULong (ULong_t l)=0
 
virtual void WriteULong64 (ULong64_t l)=0
 
virtual void WriteUShort (UShort_t s)=0
 
virtual UInt_t WriteVersion (const TClass *cl, Bool_t useBcnt=kFALSE)=0
 
virtual UInt_t WriteVersionMemberWise (const TClass *cl, Bool_t useBcnt=kFALSE)=0
 
- Public Member Functions inherited from TObject
 TObject ()
 TObject constructor. More...
 
 TObject (const TObject &object)
 TObject copy ctor. More...
 
virtual ~TObject ()
 TObject destructor. More...
 
void AbstractMethod (const char *method) const
 Use this method to implement an "abstract" method that you don't want to leave purely abstract. More...
 
virtual void AppendPad (Option_t *option="")
 Append graphics object to current pad. More...
 
virtual void Browse (TBrowser *b)
 Browse object. May be overridden for another default action. More...
 
ULong_t CheckedHash ()
 Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object. More...
 
virtual const char * ClassName () const
 Returns name of class to which the object belongs. More...
 
virtual void Clear (Option_t *="")
 
virtual TObjectClone (const char *newname="") const
 Make a clone of an object using the Streamer facility. More...
 
virtual Int_t Compare (const TObject *obj) const
 Compare abstract method. More...
 
virtual void Copy (TObject &object) const
 Copy this to obj. More...
 
virtual void Delete (Option_t *option="")
 Delete this object. More...
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 Computes distance from point (px,py) to the object. More...
 
virtual void Draw (Option_t *option="")
 Default Draw method for all objects. More...
 
virtual void DrawClass () const
 Draw class inheritance tree of the class to which this object belongs. More...
 
virtual TObjectDrawClone (Option_t *option="") const
 Draw a clone of this object in the current selected pad for instance with: gROOT->SetSelectedPad(gPad). More...
 
virtual void Dump () const
 Dump contents of object on stdout. More...
 
virtual void Error (const char *method, const char *msgfmt,...) const
 Issue error message. More...
 
virtual void Execute (const char *method, const char *params, Int_t *error=0)
 Execute method on this object with the given parameter string, e.g. More...
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=0)
 Execute method on this object with parameters stored in the TObjArray. More...
 
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 Execute action corresponding to an event at (px,py). More...
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 Issue fatal error message. More...
 
virtual TObjectFindObject (const char *name) const
 Must be redefined in derived classes. More...
 
virtual TObjectFindObject (const TObject *obj) const
 Must be redefined in derived classes. More...
 
virtual Option_tGetDrawOption () const
 Get option used by the graphics system to draw this object. More...
 
virtual const char * GetIconName () const
 Returns mime type name of object. More...
 
virtual const char * GetName () const
 Returns name of object. More...
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 Returns string containing info about the object at position (px,py). More...
 
virtual Option_tGetOption () const
 
virtual const char * GetTitle () const
 Returns title of object. More...
 
virtual UInt_t GetUniqueID () const
 Return the unique object id. More...
 
virtual Bool_t HandleTimer (TTimer *timer)
 Execute action in response of a timer timing out. More...
 
virtual ULong_t Hash () const
 Return hash value for this object. More...
 
Bool_t HasInconsistentHash () const
 Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e. More...
 
virtual void Info (const char *method, const char *msgfmt,...) const
 Issue info message. More...
 
virtual Bool_t InheritsFrom (const char *classname) const
 Returns kTRUE if object inherits from class "classname". More...
 
virtual Bool_t InheritsFrom (const TClass *cl) const
 Returns kTRUE if object inherits from TClass cl. More...
 
virtual void Inspect () const
 Dump contents of this object in a graphics canvas. More...
 
void InvertBit (UInt_t f)
 
virtual Bool_t IsEqual (const TObject *obj) const
 Default equal comparison (objects are equal if they have the same address in memory). More...
 
virtual Bool_t IsFolder () const
 Returns kTRUE in case object contains browsable objects (like containers or lists of other objects). More...
 
R__ALWAYS_INLINE Bool_t IsOnHeap () const
 
virtual Bool_t IsSortable () const
 
R__ALWAYS_INLINE Bool_t IsZombie () const
 
virtual void ls (Option_t *option="") const
 The ls function lists the contents of a class on stdout. More...
 
void MayNotUse (const char *method) const
 Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary). More...
 
virtual Bool_t Notify ()
 This method must be overridden to handle object notification. More...
 
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 Use this method to declare a method obsolete. More...
 
void operator delete (void *ptr)
 Operator delete. More...
 
void operator delete[] (void *ptr)
 Operator delete []. More...
 
voidoperator new (size_t sz)
 
voidoperator new (size_t sz, void *vp)
 
voidoperator new[] (size_t sz)
 
voidoperator new[] (size_t sz, void *vp)
 
TObjectoperator= (const TObject &rhs)
 TObject assignment operator. More...
 
virtual void Paint (Option_t *option="")
 This method must be overridden if a class wants to paint itself. More...
 
virtual void Pop ()
 Pop on object drawn in a pad to the top of the display list. More...
 
virtual void Print (Option_t *option="") const
 This method must be overridden when a class wants to print itself. More...
 
virtual Int_t Read (const char *name)
 Read contents of object with specified name from the current directory. More...
 
virtual void RecursiveRemove (TObject *obj)
 Recursively remove this object from a list. More...
 
void ResetBit (UInt_t f)
 
virtual void SaveAs (const char *filename="", Option_t *option="") const
 Save this object in the file specified by filename. More...
 
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 Save a primitive as a C++ statement(s) on output stream "out". More...
 
void SetBit (UInt_t f)
 
void SetBit (UInt_t f, Bool_t set)
 Set or unset the user status bits as specified in f. More...
 
virtual void SetDrawOption (Option_t *option="")
 Set drawing option for object. More...
 
virtual void SetUniqueID (UInt_t uid)
 Set the unique object id. More...
 
virtual void SysError (const char *method, const char *msgfmt,...) const
 Issue system error message. More...
 
R__ALWAYS_INLINE Bool_t TestBit (UInt_t f) const
 
Int_t TestBits (UInt_t f) const
 
virtual void UseCurrentStyle ()
 Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked. More...
 
virtual void Warning (const char *method, const char *msgfmt,...) const
 Issue warning message. More...
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0)
 Write this object to the current directory. More...
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0) const
 Write this object to the current directory. More...
 

Protected Types

typedef std::vector< TStreamerInfo * > InfoList_t
 
- Protected Types inherited from TBufferIO
enum  { kNullTag = 0 }
 
- Protected Types inherited from TBuffer
typedef std::vector< TVirtualArray * > CacheList_t
 

Protected Member Functions

 TBufferFile ()
 
 TBufferFile (const TBufferFile &)=delete
 not implemented More...
 
Int_t CheckByteCount (UInt_t startpos, UInt_t bcnt, const TClass *clss, const char *classname)
 Check byte count with current buffer position. More...
 
void CheckCount (UInt_t offset) override
 Check if offset is not too large (< kMaxMapCount) when writing. More...
 
UInt_t CheckObject (UInt_t offset, const TClass *cl, Bool_t readClass=kFALSE)
 Check for object in the read map. More...
 
void operator= (const TBufferFile &)=delete
 not implemented More...
 
void WriteObjectClass (const void *actualObjStart, const TClass *actualClass, Bool_t cacheReuse) override
 Write object to I/O buffer. More...
 
- Protected Member Functions inherited from TBufferIO
 TBufferIO ()
 
 TBufferIO (TBuffer::EMode mode)
 constructor More...
 
 TBufferIO (TBuffer::EMode mode, Int_t bufsiz)
 constructor More...
 
 TBufferIO (TBuffer::EMode mode, Int_t bufsiz, void *buf, Bool_t adopt=kTRUE, ReAllocCharFun_t reallocfunc=nullptr)
 constructor More...
 
virtual void CheckCount (UInt_t)
 
Long64_t GetObjectTag (const void *obj)
 Returns tag for specified object from objects map (if exists) Returns 0 if object not included into objects map. More...
 
virtual void WriteObjectClass (const void *actualObjStart, const TClass *actualClass, Bool_t cacheReuse)=0
 
- Protected Member Functions inherited from TBuffer
 TBuffer ()
 
 TBuffer (const TBuffer &)
 
void operator= (const TBuffer &)
 
Int_t Read (const char *name)
 Read contents of object with specified name from the current directory. More...
 
Int_t Write (const char *name, Int_t opt, Int_t bufs)
 Write this object to the current directory. More...
 
Int_t Write (const char *name, Int_t opt, Int_t bufs) const
 Write this object to the current directory. More...
 
- Protected Member Functions inherited from TObject
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 Interface to ErrorHandler (protected). More...
 
void MakeZombie ()
 

Protected Attributes

TStreamerInfofInfo {nullptr}
 Pointer to TStreamerInfo object writing/reading the buffer. More...
 
InfoList_t fInfoStack
 Stack of pointers to the TStreamerInfos. More...
 
- Protected Attributes inherited from TBufferIO
TExMapfClassMap {nullptr}
 Map containing object,class pairs for reading. More...
 
Int_t fDisplacement {0}
 Value to be added to the map offsets. More...
 
TExMapfMap {nullptr}
 Map containing object,offset pairs for reading/writing. More...
 
Int_t fMapCount {0}
 Number of objects or classes in map. More...
 
Int_t fMapSize {0}
 Default size of map. More...
 
UShort_t fPidOffset {0}
 Offset to be added to the pid index in this key/buffer. More...
 
- Protected Attributes inherited from TBuffer
char * fBufCur
 
char * fBuffer
 
char * fBufMax
 
Int_t fBufSize
 
CacheList_t fCacheStack
 Realloc function to be used when extending the buffer. More...
 
Bool_t fMode
 
TObjectfParent
 
ReAllocCharFun_t fReAllocFunc
 
Int_t fVersion
 

Additional Inherited Members

- Static Public Member Functions inherited from TBufferIO
static Int_t GetGlobalReadParam ()
 Get default read map size. More...
 
static Int_t GetGlobalWriteParam ()
 Get default write map size. More...
 
static void SetGlobalReadParam (Int_t mapsize)
 Set the initial size of the map used to store object and class references during reading. More...
 
static void SetGlobalWriteParam (Int_t mapsize)
 Set the initial size of the map used to store object and class references during reading. More...
 
- Static Public Member Functions inherited from TBuffer
static TClassGetClass (const char *className)
 Forward to TROOT::GetClass(). More...
 
static TClassGetClass (const std::type_info &typeinfo)
 Forward to TROOT::GetClass(). More...
 
- Static Public Member Functions inherited from TObject
static Long_t GetDtorOnly ()
 Return destructor only flag. More...
 
static Bool_t GetObjectStat ()
 Get status of object stat flag. More...
 
static void SetDtorOnly (void *obj)
 Set destructor only flag. More...
 
static void SetObjectStat (Bool_t stat)
 Turn on/off tracking of objects in the TObjectTable. More...
 
- Static Protected Member Functions inherited from TBufferIO
static R__ALWAYS_INLINE ULong_t Void_Hash (const void *ptr)
 Return hash value for provided object. More...
 
- Static Protected Attributes inherited from TBufferIO
static Int_t fgMapSize = kMapSize
 Default map size for all TBuffer objects. More...
 

#include <TBufferFile.h>

Inheritance diagram for TBufferFile:
[legend]

Member Typedef Documentation

◆ InfoList_t

typedef std::vector<TStreamerInfo*> TBufferFile::InfoList_t
protected

Definition at line 49 of file TBufferFile.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
kStreamedMemberWise 

Definition at line 68 of file TBufferFile.h.

Constructor & Destructor Documentation

◆ TBufferFile() [1/5]

TBufferFile::TBufferFile ( )
inlineprotected

Definition at line 55 of file TBufferFile.h.

◆ TBufferFile() [2/5]

TBufferFile::TBufferFile ( const TBufferFile )
protecteddelete

not implemented

◆ TBufferFile() [3/5]

TBufferFile::TBufferFile ( TBuffer::EMode  mode)

Create an I/O buffer object.

Mode should be either TBuffer::kRead or TBuffer::kWrite. By default the I/O buffer has a size of TBuffer::kInitialSize (1024) bytes.

Definition at line 77 of file TBufferFile.cxx.

◆ TBufferFile() [4/5]

TBufferFile::TBufferFile ( TBuffer::EMode  mode,
Int_t  bufsiz 
)

Create an I/O buffer object.

Mode should be either TBuffer::kRead or TBuffer::kWrite.

Definition at line 87 of file TBufferFile.cxx.

◆ TBufferFile() [5/5]

TBufferFile::TBufferFile ( TBuffer::EMode  mode,
Int_t  bufsiz,
void buf,
Bool_t  adopt = kTRUE,
ReAllocCharFun_t  reallocfunc = nullptr 
)

Create an I/O buffer object.

Mode should be either TBuffer::kRead or TBuffer::kWrite. By default the I/O buffer has a size of TBuffer::kInitialSize (1024) bytes. An external buffer can be passed to TBuffer via the buf argument. By default this buffer will be adopted unless adopt is false. If the new buffer is not adopted and no memory allocation routine is provided, a Fatal error will be issued if the Buffer attempts to expand.

Definition at line 104 of file TBufferFile.cxx.

◆ ~TBufferFile()

TBufferFile::~TBufferFile ( )
virtual

Delete an I/O buffer object.

Definition at line 113 of file TBufferFile.cxx.

Member Function Documentation

◆ ApplySequence() [1/2]

Int_t TBufferFile::ApplySequence ( const TStreamerInfoActions::TActionSequence sequence,
void obj 
)
overridevirtual

Read one collection of objects from the buffer using the StreamerInfoLoopAction.

The collection needs to be a split TClonesArray or a split vector of pointers.

Implements TBuffer.

Definition at line 3546 of file TBufferFile.cxx.

◆ ApplySequence() [2/2]

Int_t TBufferFile::ApplySequence ( const TStreamerInfoActions::TActionSequence sequence,
void start_collection,
void end_collection 
)
overridevirtual

Read one collection of objects from the buffer using the StreamerInfoLoopAction.

Implements TBuffer.

Definition at line 3606 of file TBufferFile.cxx.

◆ ApplySequenceVecPtr()

Int_t TBufferFile::ApplySequenceVecPtr ( const TStreamerInfoActions::TActionSequence sequence,
void start_collection,
void end_collection 
)
overridevirtual

Read one collection of objects from the buffer using the StreamerInfoLoopAction.

The collection needs to be a split TClonesArray or a split vector of pointers.

Implements TBuffer.

Definition at line 3575 of file TBufferFile.cxx.

◆ CheckByteCount() [1/3]

Int_t TBufferFile::CheckByteCount ( UInt_t  startpos,
UInt_t  bcnt,
const char *  classname 
)
overridevirtual

Check byte count with current buffer position.

They should match. If not print warning and position buffer in correct place determined by the byte count. Startpos is position of first byte where the byte count is written in buffer. Returns 0 if everything is ok, otherwise the bytecount offset (< 0 when read too little, >0 when read too much).

Implements TBuffer.

Definition at line 423 of file TBufferFile.cxx.

◆ CheckByteCount() [2/3]

Int_t TBufferFile::CheckByteCount ( UInt_t  startpos,
UInt_t  bcnt,
const TClass clss 
)
overridevirtual

Check byte count with current buffer position.

They should match. If not print warning and position buffer in correct place determined by the byte count. Startpos is position of first byte where the byte count is written in buffer. Returns 0 if everything is ok, otherwise the bytecount offset (< 0 when read too little, >0 when read too much).

Implements TBuffer.

Definition at line 409 of file TBufferFile.cxx.

◆ CheckByteCount() [3/3]

Int_t TBufferFile::CheckByteCount ( UInt_t  startpos,
UInt_t  bcnt,
const TClass clss,
const char *  classname 
)
protected

Check byte count with current buffer position.

They should match. If not print warning and position buffer in correct place determined by the byte count. Startpos is position of first byte where the byte count is written in buffer. Returns 0 if everything is ok, otherwise the bytecount offset (< 0 when read too little, >0 when read too much).

Definition at line 356 of file TBufferFile.cxx.

◆ CheckCount()

void TBufferFile::CheckCount ( UInt_t  offset)
overrideprotectedvirtual

Check if offset is not too large (< kMaxMapCount) when writing.

Reimplemented from TBufferIO.

Definition at line 3075 of file TBufferFile.cxx.

◆ CheckObject() [1/3]

Bool_t TBufferIO::CheckObject ( const TObject obj)
overridevirtual

Check if the specified object is already in the buffer.

Returns kTRUE if object already in the buffer, kFALSE otherwise (also if obj is 0 or TBuffer not in writing mode).

Reimplemented from TBufferIO.

Definition at line 94 of file TBufferIO.cxx.

◆ CheckObject() [2/3]

Bool_t TBufferIO::CheckObject ( const void obj,
const TClass ptrClass 
)
overridevirtual

Check if the specified object of the specified class is already in the buffer.

Returns kTRUE if object already in the buffer, kFALSE otherwise (also if obj is 0 ).

Reimplemented from TBufferIO.

Definition at line 95 of file TBufferIO.cxx.

◆ CheckObject() [3/3]

UInt_t TBufferFile::CheckObject ( UInt_t  offset,
const TClass cl,
Bool_t  readClass = kFALSE 
)
protected

Check for object in the read map.

If the object is 0 it still has to be read. Try to read it from the buffer starting at location offset. If the object is -1 then it really does not exist and we return 0. If the object exists just return the offset.

Definition at line 3091 of file TBufferFile.cxx.

◆ ClassBegin()

void TBufferFile::ClassBegin ( const TClass ,
Version_t  = -1 
)
inlineoverridevirtual

Implements TBuffer.

Definition at line 93 of file TBufferFile.h.

◆ ClassEnd()

void TBufferFile::ClassEnd ( const TClass )
inlineoverridevirtual

Implements TBuffer.

Definition at line 94 of file TBufferFile.h.

◆ ClassMember()

void TBufferFile::ClassMember ( const char *  ,
const char *  = 0,
Int_t  = -1,
Int_t  = -1 
)
inlineoverridevirtual

Implements TBuffer.

Definition at line 95 of file TBufferFile.h.

◆ DecrementLevel()

void TBufferFile::DecrementLevel ( TVirtualStreamerInfo )
overridevirtual

Decrement level.

Implements TBuffer.

Definition at line 129 of file TBufferFile.cxx.

◆ GetInfo()

TVirtualStreamerInfo * TBufferFile::GetInfo ( )
inlineoverridevirtual

Implements TBuffer.

Definition at line 92 of file TBufferFile.h.

◆ IncrementLevel()

void TBufferFile::IncrementLevel ( TVirtualStreamerInfo info)
overridevirtual

Increment level.

Implements TBuffer.

Definition at line 120 of file TBufferFile.cxx.

◆ operator=()

void TBufferFile::operator= ( const TBufferFile )
protecteddelete

not implemented

◆ ReadArray() [1/13]

Int_t TBufferFile::ReadArray ( Bool_t *&  b)
overridevirtual

Read array of bools from the I/O buffer.

Returns the number of bools read. If argument is a 0 pointer then space will be allocated for the array.

Implements TBuffer.

Definition at line 701 of file TBufferFile.cxx.

◆ ReadArray() [2/13]

Int_t TBufferFile::ReadArray ( Char_t *&  c)
overridevirtual

Read array of characters from the I/O buffer.

Returns the number of characters read. If argument is a 0 pointer then space will be allocated for the array.

Implements TBuffer.

Definition at line 729 of file TBufferFile.cxx.

◆ ReadArray() [3/13]

Int_t TBufferFile::ReadArray ( Double_t *&  d)
overridevirtual

Read array of doubles from the I/O buffer.

Returns the number of doubles read. If argument is a 0 pointer then space will be allocated for the array.

Implements TBuffer.

Definition at line 905 of file TBufferFile.cxx.

◆ ReadArray() [4/13]

Int_t TBufferFile::ReadArray ( Float_t *&  f)
overridevirtual

Read array of floats from the I/O buffer.

Returns the number of floats read. If argument is a 0 pointer then space will be allocated for the array.

Implements TBuffer.

Definition at line 872 of file TBufferFile.cxx.

◆ ReadArray() [5/13]

Int_t TBufferFile::ReadArray ( Int_t *&  ii)
overridevirtual

Read array of ints from the I/O buffer.

Returns the number of ints read. If argument is a 0 pointer then space will be allocated for the array.

Implements TBuffer.

Definition at line 785 of file TBufferFile.cxx.

◆ ReadArray() [6/13]

Int_t TBufferFile::ReadArray ( Long64_t *&  ll)
overridevirtual

Read array of long longs from the I/O buffer.

Returns the number of long longs read. If argument is a 0 pointer then space will be allocated for the array.

Implements TBuffer.

Definition at line 844 of file TBufferFile.cxx.

◆ ReadArray() [7/13]

Int_t TBufferFile::ReadArray ( Long_t *&  ll)
overridevirtual

Read array of longs from the I/O buffer.

Returns the number of longs read. If argument is a 0 pointer then space will be allocated for the array.

Implements TBuffer.

Definition at line 818 of file TBufferFile.cxx.

◆ ReadArray() [8/13]

Int_t TBufferFile::ReadArray ( Short_t *&  h)
overridevirtual

Read array of shorts from the I/O buffer.

Returns the number of shorts read. If argument is a 0 pointer then space will be allocated for the array.

Implements TBuffer.

Definition at line 752 of file TBufferFile.cxx.

◆ ReadArray() [9/13]

Int_t TBufferFile::ReadArray ( UChar_t *&  c)
inlineoverridevirtual

Implements TBuffer.

Definition at line 455 of file TBufferFile.h.

◆ ReadArray() [10/13]

Int_t TBufferFile::ReadArray ( UInt_t *&  i)
inlineoverridevirtual

Implements TBuffer.

Definition at line 461 of file TBufferFile.h.

◆ ReadArray() [11/13]

Int_t TBufferFile::ReadArray ( ULong64_t *&  l)
inlineoverridevirtual

Implements TBuffer.

Definition at line 467 of file TBufferFile.h.

◆ ReadArray() [12/13]

Int_t TBufferFile::ReadArray ( ULong_t *&  l)
inlineoverridevirtual

Implements TBuffer.

Definition at line 464 of file TBufferFile.h.

◆ ReadArray() [13/13]

Int_t TBufferFile::ReadArray ( UShort_t *&  h)
inlineoverridevirtual

Implements TBuffer.

Definition at line 458 of file TBufferFile.h.

◆ ReadArrayDouble32()

Int_t TBufferFile::ReadArrayDouble32 ( Double_t *&  d,
TStreamerElement ele = nullptr 
)
overridevirtual

Read array of doubles (written as float) from the I/O buffer.

Returns the number of doubles read. If argument is a 0 pointer then space will be allocated for the array. see comments about Double32_t encoding at TBufferFile::WriteDouble32

Implements TBuffer.

Definition at line 956 of file TBufferFile.cxx.

◆ ReadArrayFloat16()

Int_t TBufferFile::ReadArrayFloat16 ( Float_t *&  f,
TStreamerElement ele = nullptr 
)
overridevirtual

Read array of floats (written as truncated float) from the I/O buffer.

Returns the number of floats read. If argument is a 0 pointer then space will be allocated for the array. see comments about Float16_t encoding at TBufferFile::WriteFloat16

Implements TBuffer.

Definition at line 934 of file TBufferFile.cxx.

◆ ReadBool()

void TBufferFile::ReadBool ( Bool_t b)
inlineoverridevirtual

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 368 of file TBufferFile.h.

◆ ReadBuf()

Int_t TBufferFile::ReadBuf ( void buf,
Int_t  max 
)
overridevirtual

Read max bytes from the I/O buffer into buf.

The function returns the actual number of bytes read.

Implements TBuffer.

Definition at line 3167 of file TBufferFile.cxx.

◆ ReadChar()

void TBufferFile::ReadChar ( Char_t c)
inlineoverridevirtual

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 374 of file TBufferFile.h.

◆ ReadCharP()

void TBufferFile::ReadCharP ( Char_t c)
inlineoverridevirtual

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 449 of file TBufferFile.h.

◆ ReadCharStar()

void TBufferFile::ReadCharStar ( char *&  s)
overridevirtual

Read char* from TBuffer.

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 285 of file TBufferFile.cxx.

◆ ReadClass()

TClass * TBufferFile::ReadClass ( const TClass clReq = nullptr,
UInt_t objTag = nullptr 
)
overridevirtual

Read class definition from I/O buffer.

Parameters
[in]clReqCan be used to cross check if the actually read object is of the requested class.
[in]objTagSet in case the object is a reference to an already read object.

Implements TBuffer.

Definition at line 2566 of file TBufferFile.cxx.

◆ ReadClassBuffer() [1/2]

Int_t TBufferFile::ReadClassBuffer ( const TClass cl,
void pointer,
const TClass onFileClass 
)
overridevirtual

Deserialize information from a buffer into an object.

Note: This function is called by the xxx::Streamer() functions in rootcint-generated dictionaries.

Implements TBuffer.

Definition at line 3361 of file TBufferFile.cxx.

◆ ReadClassBuffer() [2/2]

Int_t TBufferFile::ReadClassBuffer ( const TClass cl,
void pointer,
Int_t  version,
UInt_t  start,
UInt_t  count,
const TClass onFileClass 
)
overridevirtual

Deserialize information from a buffer into an object.

Note: This function is called by the xxx::Streamer() functions in rootcint-generated dictionaries. This function assumes that the class version and the byte count information have been read.

Parameters
[in]versionThe version number of the class
[in]startThe starting position in the buffer b
[in]countThe number of bytes for this object in the buffer

Implements TBuffer.

Definition at line 3277 of file TBufferFile.cxx.

◆ ReadClassEmulated()

Int_t TBufferFile::ReadClassEmulated ( const TClass cl,
void object,
const TClass onfile_class 
)
overridevirtual

Read emulated class.

Implements TBuffer.

Definition at line 3237 of file TBufferFile.cxx.

◆ ReadDouble()

void TBufferFile::ReadDouble ( Double_t d)
inlineoverridevirtual

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 443 of file TBufferFile.h.

◆ ReadDouble32()

void TBufferFile::ReadDouble32 ( Double_t d,
TStreamerElement ele = nullptr 
)
overridevirtual

Read a Double32_t from the buffer, see comments about Double32_t encoding at TBufferFile::WriteDouble32().

Implements TBuffer.

Definition at line 449 of file TBufferFile.cxx.

◆ ReadFastArray() [1/15]

void TBufferFile::ReadFastArray ( Bool_t b,
Int_t  n 
)
overridevirtual

Read array of n bools from the I/O buffer.

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 1241 of file TBufferFile.cxx.

◆ ReadFastArray() [2/15]

void TBufferFile::ReadFastArray ( Char_t c,
Int_t  n 
)
overridevirtual

Read array of n characters from the I/O buffer.

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 1258 of file TBufferFile.cxx.

◆ ReadFastArray() [3/15]

void TBufferFile::ReadFastArray ( Double_t d,
Int_t  n 
)
overridevirtual

Read array of n doubles from the I/O buffer.

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 1397 of file TBufferFile.cxx.

◆ ReadFastArray() [4/15]

void TBufferFile::ReadFastArray ( Float_t f,
Int_t  n 
)
overridevirtual

Read array of n floats from the I/O buffer.

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 1375 of file TBufferFile.cxx.

◆ ReadFastArray() [5/15]

void TBufferFile::ReadFastArray ( Int_t i,
Int_t  n 
)
overridevirtual

Read array of n ints from the I/O buffer.

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 1320 of file TBufferFile.cxx.

◆ ReadFastArray() [6/15]

void TBufferFile::ReadFastArray ( Long64_t l,
Int_t  n 
)
overridevirtual

Read array of n long longs from the I/O buffer.

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 1358 of file TBufferFile.cxx.

◆ ReadFastArray() [7/15]

void TBufferFile::ReadFastArray ( Long_t l,
Int_t  n 
)
overridevirtual

Read array of n longs from the I/O buffer.

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 1342 of file TBufferFile.cxx.

◆ ReadFastArray() [8/15]

void TBufferFile::ReadFastArray ( Short_t h,
Int_t  n 
)
overridevirtual

Read array of n shorts from the I/O buffer.

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 1298 of file TBufferFile.cxx.

◆ ReadFastArray() [9/15]

void TBufferFile::ReadFastArray ( UChar_t c,
Int_t  n 
)
inlineoverridevirtual

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 487 of file TBufferFile.h.

◆ ReadFastArray() [10/15]

void TBufferFile::ReadFastArray ( UInt_t i,
Int_t  n 
)
inlineoverridevirtual

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 493 of file TBufferFile.h.

◆ ReadFastArray() [11/15]

void TBufferFile::ReadFastArray ( ULong64_t l,
Int_t  n 
)
inlineoverridevirtual

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 499 of file TBufferFile.h.

◆ ReadFastArray() [12/15]

void TBufferFile::ReadFastArray ( ULong_t l,
Int_t  n 
)
inlineoverridevirtual

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 496 of file TBufferFile.h.

◆ ReadFastArray() [13/15]

void TBufferFile::ReadFastArray ( UShort_t h,
Int_t  n 
)
inlineoverridevirtual

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 490 of file TBufferFile.h.

◆ ReadFastArray() [14/15]

void TBufferFile::ReadFastArray ( void **  start,
const TClass cl,
Int_t  n = 1,
Bool_t  isPreAlloc = kFALSE,
TMemberStreamer streamer = nullptr,
const TClass onFileClass = nullptr 
)
overridevirtual

Read an array of 'n' objects from the I/O buffer.

The objects read are stored starting at the address '*start' The objects in the array are assumed to be of class 'cl' or a derived class. 'mode' indicates whether the data member is marked with '->'

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 1619 of file TBufferFile.cxx.

◆ ReadFastArray() [15/15]

void TBufferFile::ReadFastArray ( void start,
const TClass cl,
Int_t  n = 1,
TMemberStreamer streamer = nullptr,
const TClass onFileClass = nullptr 
)
overridevirtual

Read an array of 'n' objects from the I/O buffer.

Stores the objects read starting at the address 'start'. The objects in the array are assume to be of class 'cl'.

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 1596 of file TBufferFile.cxx.

◆ ReadFastArrayDouble32()

void TBufferFile::ReadFastArrayDouble32 ( Double_t d,
Int_t  n,
TStreamerElement ele = nullptr 
)
overridevirtual

Read array of n doubles (written as float) from the I/O buffer.

see comments about Double32_t encoding at TBufferFile::WriteDouble32

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 1497 of file TBufferFile.cxx.

◆ ReadFastArrayFloat16()

void TBufferFile::ReadFastArrayFloat16 ( Float_t f,
Int_t  n,
TStreamerElement ele = nullptr 
)
overridevirtual

Read array of n floats (written as truncated float) from the I/O buffer.

see comments about Float16_t encoding at TBufferFile::WriteFloat16

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 1415 of file TBufferFile.cxx.

◆ ReadFastArrayString()

void TBufferFile::ReadFastArrayString ( Char_t c,
Int_t  n 
)
overridevirtual

Read array of n characters from the I/O buffer.

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 1270 of file TBufferFile.cxx.

◆ ReadFastArrayWithFactor() [1/2]

void TBufferFile::ReadFastArrayWithFactor ( Double_t d,
Int_t  n,
Double_t  factor,
Double_t  minvalue 
)
overridevirtual

Read array of n doubles (written as float) from the I/O buffer.

see comments about Double32_t encoding at TBufferFile::WriteDouble32

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 1545 of file TBufferFile.cxx.

◆ ReadFastArrayWithFactor() [2/2]

void TBufferFile::ReadFastArrayWithFactor ( Float_t ptr,
Int_t  n,
Double_t  factor,
Double_t  minvalue 
)
overridevirtual

Read array of n floats (written as truncated float) from the I/O buffer.

see comments about Float16_t encoding at TBufferFile::WriteFloat16

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 1455 of file TBufferFile.cxx.

◆ ReadFastArrayWithNbits() [1/2]

void TBufferFile::ReadFastArrayWithNbits ( Double_t d,
Int_t  n,
Int_t  nbits 
)
overridevirtual

Read array of n doubles (written as float) from the I/O buffer.

see comments about Double32_t encoding at TBufferFile::WriteDouble32

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 1559 of file TBufferFile.cxx.

◆ ReadFastArrayWithNbits() [2/2]

void TBufferFile::ReadFastArrayWithNbits ( Float_t ptr,
Int_t  n,
Int_t  nbits 
)
overridevirtual

Read array of n floats (written as truncated float) from the I/O buffer.

see comments about Float16_t encoding at TBufferFile::WriteFloat16

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 1469 of file TBufferFile.cxx.

◆ ReadFloat()

void TBufferFile::ReadFloat ( Float_t f)
inlineoverridevirtual

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 437 of file TBufferFile.h.

◆ ReadFloat16()

void TBufferFile::ReadFloat16 ( Float_t f,
TStreamerElement ele = nullptr 
)
overridevirtual

Read a Float16_t from the buffer, see comments about Float16_t encoding at TBufferFile::WriteFloat16().

Implements TBuffer.

Definition at line 433 of file TBufferFile.cxx.

◆ ReadInt()

void TBufferFile::ReadInt ( Int_t i)
inlineoverridevirtual

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 398 of file TBufferFile.h.

◆ ReadLong()

void TBufferFile::ReadLong ( Long_t l)
overridevirtual

Read Long from TBuffer.

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 173 of file TBufferFile.cxx.

◆ ReadLong64()

void TBufferFile::ReadLong64 ( Long64_t l)
inlineoverridevirtual

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 425 of file TBufferFile.h.

◆ ReadObject()

TObject * TBufferFile::ReadObject ( const TClass cl)
overridevirtual

Read object from I/O buffer.

clReq is NOT used.

The value returned is the address of the actual start in memory of the object. Note that if the actual class of the object does not inherit first from TObject, the type of the pointer is NOT 'TObject*'. [More accurately, the class needs to start with the TObject part, for the pointer to be a real TObject*]. We recommend using ReadObjectAny instead of ReadObject

Implements TBuffer.

Definition at line 2321 of file TBufferFile.cxx.

◆ ReadObjectAny()

void * TBufferFile::ReadObjectAny ( const TClass clCast)
overridevirtual

Read object from I/O buffer.

A typical use for this function is:

MyClass *ptr = (MyClass*)b.ReadObjectAny(MyClass::Class());

I.e. clCast should point to a TClass object describing the class pointed to by your pointer. In case of multiple inheritance, the return value might not be the real beginning of the object in memory. You will need to use a dynamic_cast later if you need to retrieve it.

Implements TBuffer.

Definition at line 2349 of file TBufferFile.cxx.

◆ ReadShort()

void TBufferFile::ReadShort ( Short_t s)
inlineoverridevirtual

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 386 of file TBufferFile.h.

◆ ReadStaticArray() [1/13]

Int_t TBufferFile::ReadStaticArray ( Bool_t b)
overridevirtual

Read array of bools from the I/O buffer.

Returns the number of bools read.

Implements TBuffer.

Definition at line 976 of file TBufferFile.cxx.

◆ ReadStaticArray() [2/13]

Int_t TBufferFile::ReadStaticArray ( Char_t c)
overridevirtual

Read array of characters from the I/O buffer.

Returns the number of characters read.

Implements TBuffer.

Definition at line 1003 of file TBufferFile.cxx.

◆ ReadStaticArray() [3/13]

Int_t TBufferFile::ReadStaticArray ( Double_t d)
overridevirtual

Read array of doubles from the I/O buffer.

Returns the number of doubles read.

Implements TBuffer.

Definition at line 1173 of file TBufferFile.cxx.

◆ ReadStaticArray() [4/13]

Int_t TBufferFile::ReadStaticArray ( Float_t f)
overridevirtual

Read array of floats from the I/O buffer.

Returns the number of floats read.

Implements TBuffer.

Definition at line 1141 of file TBufferFile.cxx.

◆ ReadStaticArray() [5/13]

Int_t TBufferFile::ReadStaticArray ( Int_t ii)
overridevirtual

Read array of ints from the I/O buffer.

Returns the number of ints read.

Implements TBuffer.

Definition at line 1057 of file TBufferFile.cxx.

◆ ReadStaticArray() [6/13]

Int_t TBufferFile::ReadStaticArray ( Long64_t ll)
overridevirtual

Read array of long longs from the I/O buffer.

Returns the number of long longs read.

Implements TBuffer.

Definition at line 1114 of file TBufferFile.cxx.

◆ ReadStaticArray() [7/13]

Int_t TBufferFile::ReadStaticArray ( Long_t ll)
overridevirtual

Read array of longs from the I/O buffer.

Returns the number of longs read.

Implements TBuffer.

Definition at line 1089 of file TBufferFile.cxx.

◆ ReadStaticArray() [8/13]

Int_t TBufferFile::ReadStaticArray ( Short_t h)
overridevirtual

Read array of shorts from the I/O buffer.

Returns the number of shorts read.

Implements TBuffer.

Definition at line 1025 of file TBufferFile.cxx.

◆ ReadStaticArray() [9/13]

Int_t TBufferFile::ReadStaticArray ( UChar_t c)
inlineoverridevirtual

Implements TBuffer.

Definition at line 471 of file TBufferFile.h.

◆ ReadStaticArray() [10/13]

Int_t TBufferFile::ReadStaticArray ( UInt_t i)
inlineoverridevirtual

Implements TBuffer.

Definition at line 477 of file TBufferFile.h.

◆ ReadStaticArray() [11/13]

Int_t TBufferFile::ReadStaticArray ( ULong64_t l)
inlineoverridevirtual

Implements TBuffer.

Definition at line 483 of file TBufferFile.h.

◆ ReadStaticArray() [12/13]

Int_t TBufferFile::ReadStaticArray ( ULong_t l)
inlineoverridevirtual

Implements TBuffer.

Definition at line 480 of file TBufferFile.h.

◆ ReadStaticArray() [13/13]

Int_t TBufferFile::ReadStaticArray ( UShort_t h)
inlineoverridevirtual

Implements TBuffer.

Definition at line 474 of file TBufferFile.h.

◆ ReadStaticArrayDouble32()

Int_t TBufferFile::ReadStaticArrayDouble32 ( Double_t d,
TStreamerElement ele = nullptr 
)
overridevirtual

Read array of doubles (written as float) from the I/O buffer.

Returns the number of doubles read. see comments about Double32_t encoding at TBufferFile::WriteDouble32

Implements TBuffer.

Definition at line 1222 of file TBufferFile.cxx.

◆ ReadStaticArrayFloat16()

Int_t TBufferFile::ReadStaticArrayFloat16 ( Float_t f,
TStreamerElement ele = nullptr 
)
overridevirtual

Read array of floats (written as truncated float) from the I/O buffer.

Returns the number of floats read. see comments about Float16_t encoding at TBufferFile::WriteFloat16

Implements TBuffer.

Definition at line 1201 of file TBufferFile.cxx.

◆ ReadStdString() [1/3]

virtual void TBuffer::ReadStdString ( std::string &  s)
inlinevirtual

Reimplemented from TBuffer.

Reimplemented in TBufferSQL.

Definition at line 291 of file TBuffer.h.

◆ ReadStdString() [2/3]

void TBufferFile::ReadStdString ( std::string *  s)
overridevirtual

Read std::string from TBuffer.

Implements TBuffer.

Reimplemented in TBufferSQL, and TBufferSQL.

Definition at line 230 of file TBufferFile.cxx.

◆ ReadStdString() [3/3]

virtual void TBuffer::ReadStdString ( std::string *  s)
virtual

Implements TBuffer.

Reimplemented in TBufferSQL.

◆ ReadString()

char * TBufferFile::ReadString ( char *  s,
Int_t  max 
)
overridevirtual

Read string from I/O buffer.

String is read till 0 character is found or till max-1 characters are read (i.e. string s has max bytes allocated). If max = -1 no check on number of character is made, reading continues till 0 character is found.

Implements TBuffer.

Definition at line 3202 of file TBufferFile.cxx.

◆ ReadTString()

void TBufferFile::ReadTString ( TString s)
overridevirtual

Read TString from TBuffer.

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 186 of file TBufferFile.cxx.

◆ ReadUChar()

void TBufferFile::ReadUChar ( UChar_t c)
inlineoverridevirtual

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 380 of file TBufferFile.h.

◆ ReadUInt()

void TBufferFile::ReadUInt ( UInt_t i)
inlineoverridevirtual

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 404 of file TBufferFile.h.

◆ ReadULong()

void TBufferFile::ReadULong ( ULong_t l)
inlineoverridevirtual

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 418 of file TBufferFile.h.

◆ ReadULong64()

void TBufferFile::ReadULong64 ( ULong64_t l)
inlineoverridevirtual

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 431 of file TBufferFile.h.

◆ ReadUShort()

void TBufferFile::ReadUShort ( UShort_t s)
inlineoverridevirtual

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 392 of file TBufferFile.h.

◆ ReadVersion()

Version_t TBufferFile::ReadVersion ( UInt_t start = nullptr,
UInt_t bcnt = nullptr,
const TClass cl = nullptr 
)
overridevirtual

Read class version from I/O buffer.

Implements TBuffer.

Definition at line 2761 of file TBufferFile.cxx.

◆ ReadVersionForMemberWise()

Version_t TBufferFile::ReadVersionForMemberWise ( const TClass cl = nullptr)
overridevirtual

Read class version from I/O buffer.

To be used when streaming out member-wise streamed collection where we do not care (not save) about the byte count and can safely ignore missing streamerInfo (since they usually indicate empty collections).

Implements TBuffer.

Definition at line 2910 of file TBufferFile.cxx.

◆ ReadVersionNoCheckSum()

Version_t TBufferFile::ReadVersionNoCheckSum ( UInt_t start = nullptr,
UInt_t bcnt = nullptr 
)
overridevirtual

Read class version from I/O buffer, when the caller knows for sure that there is no checksum written/involved.

Implements TBuffer.

Definition at line 2867 of file TBufferFile.cxx.

◆ ReadWithFactor() [1/2]

void TBufferFile::ReadWithFactor ( Double_t ptr,
Double_t  factor,
Double_t  minvalue 
)
overridevirtual

Read a Double32_t from the buffer when the factor and minimum value have been specified see comments about Double32_t encoding at TBufferFile::WriteDouble32().

Implements TBuffer.

Definition at line 506 of file TBufferFile.cxx.

◆ ReadWithFactor() [2/2]

void TBufferFile::ReadWithFactor ( Float_t ptr,
Double_t  factor,
Double_t  minvalue 
)
overridevirtual

Read a Float16_t from the buffer when the factor and minimum value have been specified see comments about Double32_t encoding at TBufferFile::WriteDouble32().

Implements TBuffer.

Definition at line 471 of file TBufferFile.cxx.

◆ ReadWithNbits() [1/2]

void TBufferFile::ReadWithNbits ( Double_t ptr,
Int_t  nbits 
)
overridevirtual

Read a Double32_t from the buffer when the number of bits is specified (explicitly or not) see comments about Double32_t encoding at TBufferFile::WriteDouble32().

Implements TBuffer.

Definition at line 518 of file TBufferFile.cxx.

◆ ReadWithNbits() [2/2]

void TBufferFile::ReadWithNbits ( Float_t ptr,
Int_t  nbits 
)
overridevirtual

Read a Float16_t from the buffer when the number of bits is specified (explicitly or not) see comments about Float16_t encoding at TBufferFile::WriteFloat16().

Implements TBuffer.

Definition at line 483 of file TBufferFile.cxx.

◆ SetByteCount()

void TBufferFile::SetByteCount ( UInt_t  cntpos,
Bool_t  packInVersion = kFALSE 
)
overridevirtual

Set byte count at position cntpos in the buffer.

Generate warning if count larger than kMaxMapCount. The count is excluded its own size.

Implements TBuffer.

Definition at line 319 of file TBufferFile.cxx.

◆ SetStreamerElementNumber()

void TBufferFile::SetStreamerElementNumber ( TStreamerElement ,
Int_t   
)
inlineoverridevirtual

Implements TBuffer.

Definition at line 90 of file TBufferFile.h.

◆ SkipObjectAny()

void TBufferFile::SkipObjectAny ( )
overridevirtual

Skip any kind of object from buffer.

Implements TBuffer.

Definition at line 2329 of file TBufferFile.cxx.

◆ SkipVersion()

void TBufferFile::SkipVersion ( const TClass cl = nullptr)
overridevirtual

Skip class version from I/O buffer.

Implements TBuffer.

Definition at line 2690 of file TBufferFile.cxx.

◆ StreamObject() [1/4]

void TBufferFile::StreamObject ( TObject obj)
overridevirtual

Stream an object inheriting from TObject using its streamer.

Implements TBuffer.

Definition at line 3067 of file TBufferFile.cxx.

◆ StreamObject() [2/4]

void TBufferFile::StreamObject ( void obj,
const char *  className,
const TClass onFileClass = nullptr 
)
overridevirtual

Stream an object given the name of its actual class.

Implements TBuffer.

Definition at line 3049 of file TBufferFile.cxx.

◆ StreamObject() [3/4]

void TBufferFile::StreamObject ( void obj,
const std::type_info &  typeinfo,
const TClass onFileClass = nullptr 
)
overridevirtual

Stream an object given its C++ typeinfo information.

Implements TBuffer.

Definition at line 3039 of file TBufferFile.cxx.

◆ StreamObject() [4/4]

void TBufferFile::StreamObject ( void obj,
const TClass cl,
const TClass onFileClass = nullptr 
)
overridevirtual

Stream an object given a pointer to its actual class.

Implements TBuffer.

Definition at line 3059 of file TBufferFile.cxx.

◆ WriteArray() [1/13]

void TBufferFile::WriteArray ( const Bool_t b,
Int_t  n 
)
overridevirtual

Write array of n bools into the I/O buffer.

Implements TBuffer.

Definition at line 1678 of file TBufferFile.cxx.

◆ WriteArray() [2/13]

void TBufferFile::WriteArray ( const Char_t c,
Int_t  n 
)
overridevirtual

Write array of n characters into the I/O buffer.

Implements TBuffer.

Definition at line 1703 of file TBufferFile.cxx.

◆ WriteArray() [3/13]

void TBufferFile::WriteArray ( const Double_t d,
Int_t  n 
)
overridevirtual

Write array of n doubles into the I/O buffer.

Implements TBuffer.

Definition at line 1876 of file TBufferFile.cxx.

◆ WriteArray() [4/13]

void TBufferFile::WriteArray ( const Float_t f,
Int_t  n 
)
overridevirtual

Write array of n floats into the I/O buffer.

Implements TBuffer.

Definition at line 1846 of file TBufferFile.cxx.

◆ WriteArray() [5/13]

void TBufferFile::WriteArray ( const Int_t i,
Int_t  n 
)
overridevirtual

Write array of n ints into the I/O buffer.

Implements TBuffer.

Definition at line 1753 of file TBufferFile.cxx.

◆ WriteArray() [6/13]

void TBufferFile::WriteArray ( const Long64_t l,
Int_t  n 
)
overridevirtual

Write array of n long longs into the I/O buffer.

Implements TBuffer.

Definition at line 1821 of file TBufferFile.cxx.

◆ WriteArray() [7/13]

void TBufferFile::WriteArray ( const Long_t l,
Int_t  n 
)
overridevirtual

Write array of n longs into the I/O buffer.

Implements TBuffer.

Definition at line 1783 of file TBufferFile.cxx.

◆ WriteArray() [8/13]

void TBufferFile::WriteArray ( const Short_t h,
Int_t  n 
)
overridevirtual

Write array of n shorts into the I/O buffer.

Implements TBuffer.

Definition at line 1723 of file TBufferFile.cxx.

◆ WriteArray() [9/13]

void TBufferFile::WriteArray ( const UChar_t c,
Int_t  n 
)
inlineoverridevirtual

Implements TBuffer.

Definition at line 503 of file TBufferFile.h.

◆ WriteArray() [10/13]

void TBufferFile::WriteArray ( const UInt_t i,
Int_t  n 
)
inlineoverridevirtual

Implements TBuffer.

Definition at line 509 of file TBufferFile.h.

◆ WriteArray() [11/13]

void TBufferFile::WriteArray ( const ULong64_t l,
Int_t  n 
)
inlineoverridevirtual

Implements TBuffer.

Definition at line 512 of file TBufferFile.h.

◆ WriteArray() [12/13]

void TBufferFile::WriteArray ( const ULong_t ll,
Int_t  n 
)
overridevirtual

Write array of n unsigned longs into the I/O buffer.

This is an explicit case for unsigned longs since signed longs have a special tobuf().

Implements TBuffer.

Definition at line 1803 of file TBufferFile.cxx.

◆ WriteArray() [13/13]

void TBufferFile::WriteArray ( const UShort_t h,
Int_t  n 
)
inlineoverridevirtual

Implements TBuffer.

Definition at line 506 of file TBufferFile.h.

◆ WriteArrayDouble32()

void TBufferFile::WriteArrayDouble32 ( const Double_t d,
Int_t  n,
TStreamerElement ele = nullptr 
)
overridevirtual

Write array of n doubles (as float) into the I/O buffer.

see comments about Double32_t encoding at TBufferFile::WriteDouble32

Implements TBuffer.

Definition at line 1922 of file TBufferFile.cxx.

◆ WriteArrayFloat16()

void TBufferFile::WriteArrayFloat16 ( const Float_t f,
Int_t  n,
TStreamerElement ele = nullptr 
)
overridevirtual

Write array of n floats (as truncated float) into the I/O buffer.

see comments about Float16_t encoding at TBufferFile::WriteFloat16

Implements TBuffer.

Definition at line 1902 of file TBufferFile.cxx.

◆ WriteBool()

void TBufferFile::WriteBool ( Bool_t  b)
inlineoverridevirtual

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 271 of file TBufferFile.h.

◆ WriteBuf()

void TBufferFile::WriteBuf ( const void buf,
Int_t  max 
)
overridevirtual

Write max bytes from buf into the I/O buffer.

Implements TBuffer.

Definition at line 3184 of file TBufferFile.cxx.

◆ WriteChar()

void TBufferFile::WriteChar ( Char_t  c)
inlineoverridevirtual

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 278 of file TBufferFile.h.

◆ WriteCharP()

void TBufferFile::WriteCharP ( const Char_t c)
inlineoverridevirtual

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 362 of file TBufferFile.h.

◆ WriteCharStar()

void TBufferFile::WriteCharStar ( char *  s)
overridevirtual

Write char* into TBuffer.

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 302 of file TBufferFile.cxx.

◆ WriteClass()

void TBufferFile::WriteClass ( const TClass cl)
overridevirtual

Write class description to I/O buffer.

Implements TBuffer.

Definition at line 2652 of file TBufferFile.cxx.

◆ WriteClassBuffer()

Int_t TBufferFile::WriteClassBuffer ( const TClass cl,
void pointer 
)
overridevirtual

Function called by the Streamer functions to serialize object at p to buffer b.

The optional argument info may be specified to give an alternative StreamerInfo instead of using the default StreamerInfo automatically built from the class definition. For more information, see class TStreamerInfo.

Implements TBuffer.

Definition at line 3503 of file TBufferFile.cxx.

◆ WriteDouble()

void TBufferFile::WriteDouble ( Double_t  d)
inlineoverridevirtual

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 355 of file TBufferFile.h.

◆ WriteDouble32()

void TBufferFile::WriteDouble32 ( Double_t d,
TStreamerElement ele = nullptr 
)
overridevirtual

Write a Double32_t to the buffer.

The following cases are supported for streaming a Double32_t type depending on the range declaration in the comment field of the data member:

Case Example
A Double32_t fNormal;
B Double32_t fTemperature; //[0,100]
C Double32_t fCharge; //[-1,1,2]
D Double32_t fVertex[3]; //[-30,30,10]
E Double32_t fChi2; //[0,0,6]
F Int_t fNsp;
Double32_t* fPointValue; //[fNsp][0,3]

In case A fNormal is converted from a Double_t to a Float_t In case B fTemperature is converted to a 32 bit unsigned integer In case C fCharge is converted to a 2 bits unsigned integer In case D the array elements of fVertex are converted to an unsigned 10 bits integer In case E fChi2 is converted to a Float_t with mantissa truncated precision at 6 bits In case F the fNsp elements of array fPointvalue are converted to an unsigned 32 bit integer Note that the range specifier must follow the dimension specifier. Case B has more precision (9 to 10 significative digits than case A (6 to 7 digits). See TBufferFile::WriteFloat16 for more information.

see example of use of the Double32_t data type in tutorial double32.C

Implements TBuffer.

Definition at line 654 of file TBufferFile.cxx.

◆ WriteFastArray() [1/15]

void TBufferFile::WriteFastArray ( const Bool_t b,
Int_t  n 
)
overridevirtual

Write array of n bools into the I/O buffer.

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 1941 of file TBufferFile.cxx.

◆ WriteFastArray() [2/15]

void TBufferFile::WriteFastArray ( const Char_t c,
Int_t  n 
)
overridevirtual

Write array of n characters into the I/O buffer.

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 1960 of file TBufferFile.cxx.

◆ WriteFastArray() [3/15]

void TBufferFile::WriteFastArray ( const Double_t d,
Int_t  n 
)
overridevirtual

Write array of n doubles into the I/O buffer.

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 2114 of file TBufferFile.cxx.

◆ WriteFastArray() [4/15]

void TBufferFile::WriteFastArray ( const Float_t f,
Int_t  n 
)
overridevirtual

Write array of n floats into the I/O buffer.

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 2090 of file TBufferFile.cxx.

◆ WriteFastArray() [5/15]

void TBufferFile::WriteFastArray ( const Int_t i,
Int_t  n 
)
overridevirtual

Write array of n ints into the I/O buffer.

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 2019 of file TBufferFile.cxx.

◆ WriteFastArray() [6/15]

void TBufferFile::WriteFastArray ( const Long64_t l,
Int_t  n 
)
overridevirtual

Write array of n long longs into the I/O buffer.

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 2071 of file TBufferFile.cxx.

◆ WriteFastArray() [7/15]

void TBufferFile::WriteFastArray ( const Long_t l,
Int_t  n 
)
overridevirtual

Write array of n longs into the I/O buffer.

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 2043 of file TBufferFile.cxx.

◆ WriteFastArray() [8/15]

void TBufferFile::WriteFastArray ( const Short_t h,
Int_t  n 
)
overridevirtual

Write array of n shorts into the I/O buffer.

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 1995 of file TBufferFile.cxx.

◆ WriteFastArray() [9/15]

void TBufferFile::WriteFastArray ( const UChar_t c,
Int_t  n 
)
inlineoverridevirtual

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 516 of file TBufferFile.h.

◆ WriteFastArray() [10/15]

void TBufferFile::WriteFastArray ( const UInt_t i,
Int_t  n 
)
inlineoverridevirtual

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 522 of file TBufferFile.h.

◆ WriteFastArray() [11/15]

void TBufferFile::WriteFastArray ( const ULong64_t l,
Int_t  n 
)
inlineoverridevirtual

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 525 of file TBufferFile.h.

◆ WriteFastArray() [12/15]

void TBufferFile::WriteFastArray ( const ULong_t ll,
Int_t  n 
)
overridevirtual

Write array of n unsigned longs into the I/O buffer.

This is an explicit case for unsigned longs since signed longs have a special tobuf().

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 2058 of file TBufferFile.cxx.

◆ WriteFastArray() [13/15]

void TBufferFile::WriteFastArray ( const UShort_t h,
Int_t  n 
)
inlineoverridevirtual

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 519 of file TBufferFile.h.

◆ WriteFastArray() [14/15]

Int_t TBufferFile::WriteFastArray ( void **  start,
const TClass cl,
Int_t  n = 1,
Bool_t  isPreAlloc = kFALSE,
TMemberStreamer streamer = nullptr 
)
overridevirtual

Write an array of object starting at the address '*start' and of length 'n' the objects in the array are of class 'cl' 'isPreAlloc' indicates whether the data member is marked with '->' Return:

  • 0: success
  • 2: truncated success (i.e actual class is missing. Only ptrClass saved.)

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 2268 of file TBufferFile.cxx.

◆ WriteFastArray() [15/15]

void TBufferFile::WriteFastArray ( void start,
const TClass cl,
Int_t  n = 1,
TMemberStreamer s = nullptr 
)
overridevirtual

Write an array of object starting at the address 'start' and of length 'n' the objects in the array are assumed to be of class 'cl'.

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 2243 of file TBufferFile.cxx.

◆ WriteFastArrayDouble32()

void TBufferFile::WriteFastArrayDouble32 ( const Double_t d,
Int_t  n,
TStreamerElement ele = nullptr 
)
overridevirtual

Write array of n doubles (as float) into the I/O buffer.

see comments about Double32_t encoding at TBufferFile::WriteDouble32

Implements TBuffer.

Definition at line 2185 of file TBufferFile.cxx.

◆ WriteFastArrayFloat16()

void TBufferFile::WriteFastArrayFloat16 ( const Float_t f,
Int_t  n,
TStreamerElement ele = nullptr 
)
overridevirtual

Write array of n floats (as truncated float) into the I/O buffer.

see comments about Float16_t encoding at TBufferFile::WriteFloat16

Implements TBuffer.

Definition at line 2134 of file TBufferFile.cxx.

◆ WriteFastArrayString()

void TBufferFile::WriteFastArrayString ( const Char_t c,
Int_t  n 
)
overridevirtual

Write array of n characters into the I/O buffer.

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 1974 of file TBufferFile.cxx.

◆ WriteFloat()

void TBufferFile::WriteFloat ( Float_t  f)
inlineoverridevirtual

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 348 of file TBufferFile.h.

◆ WriteFloat16()

void TBufferFile::WriteFloat16 ( Float_t f,
TStreamerElement ele = nullptr 
)
overridevirtual

Write a Float16_t to the buffer.

The following cases are supported for streaming a Float16_t type depending on the range declaration in the comment field of the data member:

Case Example
A Float16_t fNormal;
B Float16_t fTemperature; //[0,100]
C Float16_t fCharge; //[-1,1,2]
D Float16_t fVertex[3]; //[-30,30,10]
E Float16_t fChi2; //[0,0,6]
F Int_t fNsp;
Float16_t* fPointValue; //[fNsp][0,3]
  • In case A fNormal is converted from a Float_t to a Float_t with mantissa truncated to 12 bits
  • In case B fTemperature is converted to a 32 bit unsigned integer
  • In case C fCharge is converted to a 2 bits unsigned integer
  • In case D the array elements of fVertex are converted to an unsigned 10 bits integer
  • In case E fChi2 is converted to a Float_t with truncated precision at 6 bits
  • In case F the fNsp elements of array fPointvalue are converted to an unsigned 32 bit integer Note that the range specifier must follow the dimension specifier. Case B has more precision (9 to 10 significative digits than case A (6 to 7 digits).

The range specifier has the general format: [xmin,xmax] or [xmin,xmax,nbits]

  • [0,1];
  • [-10,100];
  • [-pi,pi], [-pi/2,pi/4],[-2pi,2*pi]
  • [-10,100,16]
  • [0,0,8] if nbits is not specified, or nbits <2 or nbits>16 it is set to 16. If (xmin==0 and xmax==0 and nbits <=14) the float word will have its mantissa truncated to nbits significative bits.

IMPORTANT NOTE

NOTE 1

Lets assume an original variable float x: When using the format [0,0,8] (ie range not specified) you get the best relative precision when storing and reading back the truncated x, say xt. The variance of (x-xt)/x will be better than when specifying a range for the same number of bits. However the precision relative to the range (x-xt)/(xmax-xmin) will be worst, and vice-versa. The format [0,0,8] is also interesting when the range of x is infinite or unknown.

NOTE 2

It is important to understand the difference with the meaning of nbits

  • in case of [-1,1,nbits], nbits is the total number of bits used to make the conversion from a float to an integer
  • in case of [0,0,nbits], nbits is the number of bits used for the mantissa

See example of use of the Float16_t data type in tutorial double32.C

Implements TBuffer.

Definition at line 590 of file TBufferFile.cxx.

◆ WriteInt()

void TBufferFile::WriteInt ( Int_t  i)
inlineoverridevirtual

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 306 of file TBufferFile.h.

◆ WriteLong()

void TBufferFile::WriteLong ( Long_t  l)
inlineoverridevirtual

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 320 of file TBufferFile.h.

◆ WriteLong64()

void TBufferFile::WriteLong64 ( Long64_t  l)
inlineoverridevirtual

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 334 of file TBufferFile.h.

◆ WriteObjectClass()

void TBufferFile::WriteObjectClass ( const void actualObjectStart,
const TClass actualClass,
Bool_t  cacheReuse 
)
overrideprotectedvirtual

Write object to I/O buffer.

This function assumes that the value of 'actualObjectStart' is the actual start of the object of class 'actualClass' If 'cacheReuse' is true (default) upon seeing an object address a second time, we record the offset where its was written the first time rather than streaming the object a second time. If 'cacheReuse' is false, we always stream the object. This allows the (re)use of temporary object to store different data in the same buffer.

Implements TBufferIO.

Definition at line 2489 of file TBufferFile.cxx.

◆ WriteShort()

void TBufferFile::WriteShort ( Short_t  s)
inlineoverridevirtual

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 292 of file TBufferFile.h.

◆ WriteStdString() [1/3]

void TBufferFile::WriteStdString ( const std::string *  s)
overridevirtual

Write std::string to TBuffer.

Implements TBuffer.

Reimplemented in TBufferSQL, and TBufferSQL.

Definition at line 261 of file TBufferFile.cxx.

◆ WriteStdString() [2/3]

virtual void TBuffer::WriteStdString ( const std::string *  s)
virtual

Implements TBuffer.

Reimplemented in TBufferSQL.

◆ WriteStdString() [3/3]

virtual void TBuffer::WriteStdString ( std::string &  s)
inlinevirtual

Reimplemented from TBuffer.

Reimplemented in TBufferSQL.

Definition at line 311 of file TBuffer.h.

◆ WriteString()

void TBufferFile::WriteString ( const char *  s)
overridevirtual

Write string to I/O buffer.

Writes string upto and including the terminating 0.

Implements TBuffer.

Definition at line 3229 of file TBufferFile.cxx.

◆ WriteTString()

void TBufferFile::WriteTString ( const TString s)
overridevirtual

Write TString to TBuffer.

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 211 of file TBufferFile.cxx.

◆ WriteUChar()

void TBufferFile::WriteUChar ( UChar_t  c)
inlineoverridevirtual

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 285 of file TBufferFile.h.

◆ WriteUInt()

void TBufferFile::WriteUInt ( UInt_t  i)
inlineoverridevirtual

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 313 of file TBufferFile.h.

◆ WriteULong()

void TBufferFile::WriteULong ( ULong_t  l)
inlineoverridevirtual

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 327 of file TBufferFile.h.

◆ WriteULong64()

void TBufferFile::WriteULong64 ( ULong64_t  l)
inlineoverridevirtual

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 341 of file TBufferFile.h.

◆ WriteUShort()

void TBufferFile::WriteUShort ( UShort_t  s)
inlineoverridevirtual

Implements TBuffer.

Reimplemented in TBufferSQL.

Definition at line 299 of file TBufferFile.h.

◆ WriteVersion()

UInt_t TBufferFile::WriteVersion ( const TClass cl,
Bool_t  useBcnt = kFALSE 
)
overridevirtual

Write class version to I/O buffer.

Implements TBuffer.

Definition at line 2978 of file TBufferFile.cxx.

◆ WriteVersionMemberWise()

UInt_t TBufferFile::WriteVersionMemberWise ( const TClass cl,
Bool_t  useBcnt = kFALSE 
)
overridevirtual

Write class version to I/O buffer after setting the kStreamedMemberWise bit in the version number.

Implements TBuffer.

Definition at line 3008 of file TBufferFile.cxx.

Member Data Documentation

◆ fInfo

TStreamerInfo* TBufferFile::fInfo {nullptr}
protected

Pointer to TStreamerInfo object writing/reading the buffer.

Definition at line 51 of file TBufferFile.h.

◆ fInfoStack

InfoList_t TBufferFile::fInfoStack
protected

Stack of pointers to the TStreamerInfos.

Definition at line 52 of file TBufferFile.h.

Libraries for TBufferFile:
[legend]

The documentation for this class was generated from the following files: