Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TBuffer Class Referenceabstract

Buffer base class used for serializing objects.

Definition at line 43 of file TBuffer.h.

Public Types

enum  { kInitialSize = 1024 , kMinimalSize = 128 }
 
enum  EMode { kRead = 0 , kWrite = 1 }
 
enum  EStatusBits { kIsOwner = (1ULL << ( 16 )) , kCannotHandleMemberWiseStreaming = (1ULL << ( 17 )) }
 
- Public Types inherited from TObject
enum  {
  kIsOnHeap = 0x01000000 , kNotDeleted = 0x02000000 , kZombie = 0x04000000 , kInconsistent = 0x08000000 ,
  kBitMask = 0x00ffffff
}
 
enum  { kSingleKey = (1ULL << ( 0 )) , kOverwrite = (1ULL << ( 1 )) , kWriteDelete = (1ULL << ( 2 )) }
 
enum  EDeprecatedStatusBits { kObjInCanvas = (1ULL << ( 3 )) }
 
enum  EStatusBits {
  kCanDelete = (1ULL << ( 0 )) , kMustCleanup = (1ULL << ( 3 )) , kIsReferenced = (1ULL << ( 4 )) , kHasUUID = (1ULL << ( 5 )) ,
  kCannotPick = (1ULL << ( 6 )) , kNoContextMenu = (1ULL << ( 8 )) , kInvalidObject = (1ULL << ( 13 ))
}
 

Public Member Functions

 TBuffer (EMode mode)
 Create an I/O buffer object.
 
 TBuffer (EMode mode, Int_t bufsiz)
 Create an I/O buffer object.
 
 TBuffer (EMode mode, Int_t bufsiz, void *buf, Bool_t adopt=kTRUE, ReAllocCharFun_t reallocfunc=nullptr)
 Create an I/O buffer object.
 
virtual ~TBuffer ()
 Delete an I/O buffer object.
 
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.
 
char * Buffer () const
 
Int_t BufferSize () const
 
Bool_t ByteSwapBuffer (Long64_t n, EDataType type)
 Byte-swap N primitive-elements in the buffer.
 
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 *=nullptr, 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.
 
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.
 
virtual UShort_t GetPidOffset () const =0
 
ReAllocCharFun_t GetReAllocFunc () const
 Return the reallocation method currently used.
 
virtual UInt_t GetTRefExecId ()=0
 
virtual Int_t GetVersionOwner () const =0
 
virtual void IncrementLevel (TVirtualStreamerInfo *info)=0
 
virtual void InitMap ()=0
 
TClassIsA () const override
 
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.
 
virtual TVirtualArrayPopDataCache ()
 Pop and Return the 'current' data cache area from the list of area to be used for temporarily store 'missing' data members.
 
virtual void PushDataCache (TVirtualArray *)
 Push a new data cache area onto the list of area to be used for temporarily store 'missing' data members.
 
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=nullptr)=0
 
virtual Int_t ReadArrayFloat16 (Float_t *&f, TStreamerElement *ele=nullptr)=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=nullptr, UInt_t *objTag=nullptr)=0
 
virtual Int_t ReadClassBuffer (const TClass *cl, void *pointer, const TClass *onfile_class=nullptr)=0
 
virtual Int_t ReadClassBuffer (const TClass *cl, void *pointer, Int_t version, UInt_t start, UInt_t count, const TClass *onfile_class=nullptr)=0
 
virtual Int_t ReadClassEmulated (const TClass *cl, void *object, const TClass *onfile_class=nullptr)=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=nullptr)=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=nullptr, const TClass *onFileClass=nullptr)=0
 
virtual void ReadFastArray (void *start, const TClass *cl, Int_t n=1, TMemberStreamer *s=nullptr, const TClass *onFileClass=nullptr)=0
 
virtual void ReadFastArrayDouble32 (Double_t *d, Int_t n, TStreamerElement *ele=nullptr)=0
 
virtual void ReadFastArrayFloat16 (Float_t *f, Int_t n, TStreamerElement *ele=nullptr)=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=nullptr)=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 void * ReadObjectAny (const TClass *cast)=0
 
virtual TProcessIDReadProcessID (UShort_t pidf)=0
 Return the current Process-ID.
 
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=nullptr)=0
 
virtual Int_t ReadStaticArrayFloat16 (Float_t *f, TStreamerElement *ele=nullptr)=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=nullptr, UInt_t *bcnt=nullptr, const TClass *cl=nullptr)=0
 
virtual Version_t ReadVersionForMemberWise (const TClass *cl=nullptr)=0
 
virtual Version_t ReadVersionNoCheckSum (UInt_t *start=nullptr, UInt_t *bcnt=nullptr)=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=nullptr)
 Sets a new buffer in an existing TBuffer object.
 
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.
 
virtual void SetPidOffset (UShort_t offset)=0
 
void SetReadMode ()
 Set buffer in read mode.
 
virtual void SetReadParam (Int_t mapsize)=0
 
void SetReAllocFunc (ReAllocCharFun_t reallocfunc=nullptr)
 Set which memory reallocation method to use.
 
virtual void SetStreamerElementNumber (TStreamerElement *elem, Int_t comp_type)=0
 
void SetWriteMode ()
 Set buffer in write mode.
 
virtual void SetWriteParam (Int_t mapsize)=0
 
virtual void SkipObjectAny ()=0
 
virtual void SkipVersion (const TClass *cl=nullptr)=0
 
void Streamer (TBuffer &) override
 Stream an object of class TObject.
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
virtual void StreamObject (TObject *obj)=0
 
virtual void StreamObject (void *obj, const char *className, const TClass *onFileClass=nullptr)=0
 
virtual void StreamObject (void *obj, const std::type_info &typeinfo, const TClass *onFileClass=nullptr)=0
 
virtual void StreamObject (void *obj, const TClass *cl, const TClass *onFileClass=nullptr)=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=nullptr)=0
 
virtual void WriteArrayFloat16 (const Float_t *f, Int_t n, TStreamerElement *ele=nullptr)=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=nullptr)=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=nullptr)=0
 
virtual void WriteFastArray (void *start, const TClass *cl, Int_t n=1, TMemberStreamer *s=nullptr)=0
 
virtual void WriteFastArrayDouble32 (const Double_t *d, Int_t n, TStreamerElement *ele=nullptr)=0
 
virtual void WriteFastArrayFloat16 (const Float_t *f, Int_t n, TStreamerElement *ele=nullptr)=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=nullptr)=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).
 
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.
 
 TObject (const TObject &object)
 TObject copy ctor.
 
virtual ~TObject ()
 TObject destructor.
 
void AbstractMethod (const char *method) const
 Use this method to implement an "abstract" method that you don't want to leave purely abstract.
 
virtual void AppendPad (Option_t *option="")
 Append graphics object to current pad.
 
virtual void Browse (TBrowser *b)
 Browse object. May be overridden for another default action.
 
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.
 
virtual const char * ClassName () const
 Returns name of class to which the object belongs.
 
virtual void Clear (Option_t *="")
 
virtual TObjectClone (const char *newname="") const
 Make a clone of an object using the Streamer facility.
 
virtual Int_t Compare (const TObject *obj) const
 Compare abstract method.
 
virtual void Copy (TObject &object) const
 Copy this to obj.
 
virtual void Delete (Option_t *option="")
 Delete this object.
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 Computes distance from point (px,py) to the object.
 
virtual void Draw (Option_t *option="")
 Default Draw method for all objects.
 
virtual void DrawClass () const
 Draw class inheritance tree of the class to which this object belongs.
 
virtual TObjectDrawClone (Option_t *option="") const
 Draw a clone of this object in the current selected pad with: gROOT->SetSelectedPad(c1).
 
virtual void Dump () const
 Dump contents of object on stdout.
 
virtual void Error (const char *method, const char *msgfmt,...) const
 Issue error message.
 
virtual void Execute (const char *method, const char *params, Int_t *error=nullptr)
 Execute method on this object with the given parameter string, e.g.
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=nullptr)
 Execute method on this object with parameters stored in the TObjArray.
 
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 Execute action corresponding to an event at (px,py).
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 Issue fatal error message.
 
virtual TObjectFindObject (const char *name) const
 Must be redefined in derived classes.
 
virtual TObjectFindObject (const TObject *obj) const
 Must be redefined in derived classes.
 
virtual Option_tGetDrawOption () const
 Get option used by the graphics system to draw this object.
 
virtual const char * GetIconName () const
 Returns mime type name of object.
 
virtual const char * GetName () const
 Returns name of object.
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 Returns string containing info about the object at position (px,py).
 
virtual Option_tGetOption () const
 
virtual const char * GetTitle () const
 Returns title of object.
 
virtual UInt_t GetUniqueID () const
 Return the unique object id.
 
virtual Bool_t HandleTimer (TTimer *timer)
 Execute action in response of a timer timing out.
 
virtual ULong_t Hash () const
 Return hash value for this object.
 
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.
 
virtual void Info (const char *method, const char *msgfmt,...) const
 Issue info message.
 
virtual Bool_t InheritsFrom (const char *classname) const
 Returns kTRUE if object inherits from class "classname".
 
virtual Bool_t InheritsFrom (const TClass *cl) const
 Returns kTRUE if object inherits from TClass cl.
 
virtual void Inspect () const
 Dump contents of this object in a graphics canvas.
 
void InvertBit (UInt_t f)
 
Bool_t IsDestructed () const
 IsDestructed.
 
virtual Bool_t IsEqual (const TObject *obj) const
 Default equal comparison (objects are equal if they have the same address in memory).
 
virtual Bool_t IsFolder () const
 Returns kTRUE in case object contains browsable objects (like containers or lists of other objects).
 
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.
 
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).
 
virtual Bool_t Notify ()
 This method must be overridden to handle object notification.
 
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 Use this method to declare a method obsolete.
 
void operator delete (void *ptr)
 Operator delete.
 
void operator delete[] (void *ptr)
 Operator delete [].
 
void * operator new (size_t sz)
 
void * operator new (size_t sz, void *vp)
 
void * operator new[] (size_t sz)
 
void * operator new[] (size_t sz, void *vp)
 
TObjectoperator= (const TObject &rhs)
 TObject assignment operator.
 
virtual void Paint (Option_t *option="")
 This method must be overridden if a class wants to paint itself.
 
virtual void Pop ()
 Pop on object drawn in a pad to the top of the display list.
 
virtual void Print (Option_t *option="") const
 This method must be overridden when a class wants to print itself.
 
virtual void RecursiveRemove (TObject *obj)
 Recursively remove this object from a list.
 
void ResetBit (UInt_t f)
 
virtual void SaveAs (const char *filename="", Option_t *option="") const
 Save this object in the file specified by filename.
 
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 Save a primitive as a C++ statement(s) on output stream "out".
 
void SetBit (UInt_t f)
 
void SetBit (UInt_t f, Bool_t set)
 Set or unset the user status bits as specified in f.
 
virtual void SetDrawOption (Option_t *option="")
 Set drawing option for object.
 
virtual void SetUniqueID (UInt_t uid)
 Set the unique object id.
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
virtual void SysError (const char *method, const char *msgfmt,...) const
 Issue system error message.
 
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.
 
virtual void Warning (const char *method, const char *msgfmt,...) const
 Issue warning message.
 

Static Public Member Functions

static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
static TClassGetClass (const char *className)
 Forward to TROOT::GetClass().
 
static TClassGetClass (const std::type_info &typeinfo)
 Forward to TROOT::GetClass().
 
- Static Public Member Functions inherited from TObject
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
static Longptr_t GetDtorOnly ()
 Return destructor only flag.
 
static Bool_t GetObjectStat ()
 Get status of object stat flag.
 
static void SetDtorOnly (void *obj)
 Set destructor only flag.
 
static void SetObjectStat (Bool_t stat)
 Turn on/off tracking of objects in the TObjectTable.
 

Protected Types

typedef std::vector< TVirtualArray * > CacheList_t
 
- Protected Types inherited from TObject
enum  { kOnlyPrepStep = (1ULL << ( 3 )) }
 

Protected Member Functions

 TBuffer ()
 
 TBuffer (const TBuffer &)=delete
 
void operator= (const TBuffer &)=delete
 
Int_t Read (const char *name) override
 Read contents of object with specified name from the current directory.
 
Int_t Write (const char *name, Int_t opt, Int_t bufs) const override
 Write this object to the current directory.
 
Int_t Write (const char *name, Int_t opt, Int_t bufs) override
 Write this object to the current directory.
 
- 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).
 
void MakeZombie ()
 

Protected Attributes

char * fBufCur
 
char * fBuffer
 
char * fBufMax
 
Int_t fBufSize
 
CacheList_t fCacheStack
 Realloc function to be used when extending the buffer.
 
Bool_t fMode
 
TObjectfParent
 
ReAllocCharFun_t fReAllocFunc
 
Int_t fVersion
 

#include <TBuffer.h>

Inheritance diagram for TBuffer:
[legend]

Member Typedef Documentation

◆ CacheList_t

typedef std::vector<TVirtualArray*> TBuffer::CacheList_t
protected

Definition at line 46 of file TBuffer.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
kInitialSize 
kMinimalSize 

Definition at line 78 of file TBuffer.h.

◆ EMode

Enumerator
kRead 
kWrite 

Definition at line 73 of file TBuffer.h.

◆ EStatusBits

Enumerator
kIsOwner 
kCannotHandleMemberWiseStreaming 

Definition at line 74 of file TBuffer.h.

Constructor & Destructor Documentation

◆ TBuffer() [1/5]

TBuffer::TBuffer ( )
inlineprotected

Definition at line 59 of file TBuffer.h.

◆ TBuffer() [2/5]

TBuffer::TBuffer ( const TBuffer )
protecteddelete

◆ TBuffer() [3/5]

TBuffer::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 52 of file TBuffer.cxx.

◆ TBuffer() [4/5]

TBuffer::TBuffer ( EMode  mode,
Int_t  bufsiz 
)

Create an I/O buffer object.

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

Definition at line 73 of file TBuffer.cxx.

◆ TBuffer() [5/5]

TBuffer::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 TBuffer.cxx.

◆ ~TBuffer()

TBuffer::~TBuffer ( )
virtual

Delete an I/O buffer object.

Definition at line 140 of file TBuffer.cxx.

Member Function Documentation

◆ ApplySequence() [1/2]

virtual Int_t TBuffer::ApplySequence ( const TStreamerInfoActions::TActionSequence sequence,
void *  object 
)
pure virtual

Implemented in TBufferText, and TBufferFile.

◆ ApplySequence() [2/2]

virtual Int_t TBuffer::ApplySequence ( const TStreamerInfoActions::TActionSequence sequence,
void *  start_collection,
void *  end_collection 
)
pure virtual

Implemented in TBufferText, and TBufferFile.

◆ ApplySequenceVecPtr()

virtual Int_t TBuffer::ApplySequenceVecPtr ( const TStreamerInfoActions::TActionSequence sequence,
void *  start_collection,
void *  end_collection 
)
pure virtual

Implemented in TBufferText, and TBufferFile.

◆ AutoExpand()

void TBuffer::AutoExpand ( Int_t  size_needed)

Automatically calculate a new size and expand the buffer to fit at least size_needed.

The goals is to minimize the number of memory allocation and the memory allocation which avoiding too much memory wastage.

If the size_needed is larger than the current size, the policy is to expand to double the current size or the size_needed which ever is largest.

Definition at line 158 of file TBuffer.cxx.

◆ Buffer()

char * TBuffer::Buffer ( ) const
inline

Definition at line 96 of file TBuffer.h.

◆ BufferSize()

Int_t TBuffer::BufferSize ( ) const
inline

Definition at line 98 of file TBuffer.h.

◆ ByteSwapBuffer()

Bool_t TBuffer::ByteSwapBuffer ( Long64_t  n,
EDataType  type 
)

Byte-swap N primitive-elements in the buffer.

Bulk API relies on this function.

Definition at line 392 of file TBuffer.cxx.

◆ CheckByteCount() [1/2]

virtual Int_t TBuffer::CheckByteCount ( UInt_t  startpos,
UInt_t  bcnt,
const char *  classname 
)
pure virtual

Implemented in TBufferFile, and TBufferText.

◆ CheckByteCount() [2/2]

virtual Int_t TBuffer::CheckByteCount ( UInt_t  startpos,
UInt_t  bcnt,
const TClass clss 
)
pure virtual

Implemented in TBufferFile, and TBufferText.

◆ CheckObject() [1/2]

virtual Bool_t TBuffer::CheckObject ( const TObject obj)
pure virtual

Implemented in TBufferFile, and TBufferIO.

◆ CheckObject() [2/2]

virtual Bool_t TBuffer::CheckObject ( const void *  obj,
const TClass ptrClass 
)
pure virtual

Implemented in TBufferFile, and TBufferIO.

◆ Class()

static TClass * TBuffer::Class ( )
static
Returns
TClass describing this class

◆ Class_Name()

static const char * TBuffer::Class_Name ( )
static
Returns
Name of this class

◆ Class_Version()

static constexpr Version_t TBuffer::Class_Version ( )
inlinestaticconstexpr
Returns
Version of this class

Definition at line 340 of file TBuffer.h.

◆ ClassBegin()

virtual void TBuffer::ClassBegin ( const TClass ,
Version_t  = -1 
)
pure virtual

◆ ClassEnd()

virtual void TBuffer::ClassEnd ( const TClass )
pure virtual

◆ ClassMember()

virtual void TBuffer::ClassMember ( const char *  ,
const char *  = nullptr,
Int_t  = -1,
Int_t  = -1 
)
pure virtual

◆ DeclFileName()

static const char * TBuffer::DeclFileName ( )
inlinestatic
Returns
Name of the file containing the class declaration

Definition at line 340 of file TBuffer.h.

◆ DecrementLevel()

virtual void TBuffer::DecrementLevel ( TVirtualStreamerInfo )
pure virtual

◆ DetachBuffer()

void TBuffer::DetachBuffer ( )
inline

Definition at line 99 of file TBuffer.h.

◆ Expand()

void TBuffer::Expand ( Int_t  newsize,
Bool_t  copy = kTRUE 
)

Expand (or shrink) the I/O buffer to newsize bytes.

If copy is true (the default), the existing content of the buffer is preserved, otherwise the buffer is returned zero-ed out.

In order to avoid losing data, if the current length is greater than the requested size, we only shrink down to the current length.

Definition at line 223 of file TBuffer.cxx.

◆ ForceWriteInfo()

virtual void TBuffer::ForceWriteInfo ( TVirtualStreamerInfo info,
Bool_t  force 
)
pure virtual

Implemented in TBufferIO, and TMessage.

◆ ForceWriteInfoClones()

virtual void TBuffer::ForceWriteInfoClones ( TClonesArray a)
pure virtual

Implemented in TBufferIO.

◆ GetBufferDisplacement()

virtual Int_t TBuffer::GetBufferDisplacement ( ) const
pure virtual

Implemented in TBufferIO.

◆ GetBufferVersion()

Int_t TBuffer::GetBufferVersion ( ) const
inline

Definition at line 85 of file TBuffer.h.

◆ GetClass() [1/2]

TClass * TBuffer::GetClass ( const char *  className)
static

Forward to TROOT::GetClass().

Definition at line 336 of file TBuffer.cxx.

◆ GetClass() [2/2]

TClass * TBuffer::GetClass ( const std::type_info &  typeinfo)
static

Forward to TROOT::GetClass().

Definition at line 328 of file TBuffer.cxx.

◆ GetCurrent()

char * TBuffer::GetCurrent ( ) const
inline

Definition at line 97 of file TBuffer.h.

◆ GetInfo()

virtual TVirtualStreamerInfo * TBuffer::GetInfo ( )
pure virtual

◆ GetLastProcessID()

virtual TProcessID * TBuffer::GetLastProcessID ( TRefTable reftable) const
pure virtual

Implemented in TBufferIO.

◆ GetMapCount()

virtual Int_t TBuffer::GetMapCount ( ) const
pure virtual

Implemented in TBufferIO.

◆ GetMappedObject()

virtual void TBuffer::GetMappedObject ( UInt_t  tag,
void *&  ptr,
TClass *&  ClassPtr 
) const
pure virtual

Implemented in TBufferIO.

◆ GetParent()

TObject * TBuffer::GetParent ( ) const

Return pointer to parent of this buffer.

Definition at line 262 of file TBuffer.cxx.

◆ GetPidOffset()

virtual UShort_t TBuffer::GetPidOffset ( ) const
pure virtual

Implemented in TBufferIO.

◆ GetReAllocFunc()

ReAllocCharFun_t TBuffer::GetReAllocFunc ( ) const

Return the reallocation method currently used.

Definition at line 277 of file TBuffer.cxx.

◆ GetTRefExecId()

virtual UInt_t TBuffer::GetTRefExecId ( )
pure virtual

Implemented in TBufferIO.

◆ GetVersionOwner()

virtual Int_t TBuffer::GetVersionOwner ( ) const
pure virtual

Implemented in TBufferIO.

◆ IncrementLevel()

virtual void TBuffer::IncrementLevel ( TVirtualStreamerInfo info)
pure virtual

◆ InitMap()

virtual void TBuffer::InitMap ( )
pure virtual

Implemented in TBufferIO.

◆ IsA()

TClass * TBuffer::IsA ( ) const
inlineoverridevirtual
Returns
TClass describing current object

Reimplemented from TObject.

Reimplemented in TBufferFile, TBufferIO, TBufferJSON, TBufferText, TBufferSQL2, TBufferXML, TMessage, and TBufferSQL.

Definition at line 340 of file TBuffer.h.

◆ IsReading()

Bool_t TBuffer::IsReading ( ) const
inline

Definition at line 86 of file TBuffer.h.

◆ IsWriting()

Bool_t TBuffer::IsWriting ( ) const
inline

Definition at line 87 of file TBuffer.h.

◆ Length()

Int_t TBuffer::Length ( ) const
inline

Definition at line 100 of file TBuffer.h.

◆ MapObject() [1/2]

virtual void TBuffer::MapObject ( const TObject obj,
UInt_t  offset = 1 
)
pure virtual

Implemented in TBufferIO.

◆ MapObject() [2/2]

virtual void TBuffer::MapObject ( const void *  obj,
const TClass cl,
UInt_t  offset = 1 
)
pure virtual

Implemented in TBufferIO.

◆ operator=()

void TBuffer::operator= ( const TBuffer )
protecteddelete

◆ PeekDataCache()

TVirtualArray * TBuffer::PeekDataCache ( ) const
virtual

Return the 'current' data cache area from the list of area to be used for temporarily store 'missing' data members.

Definition at line 371 of file TBuffer.cxx.

◆ PopDataCache()

TVirtualArray * TBuffer::PopDataCache ( )
virtual

Pop and Return the 'current' data cache area from the list of area to be used for temporarily store 'missing' data members.

Definition at line 381 of file TBuffer.cxx.

◆ PushDataCache()

void TBuffer::PushDataCache ( TVirtualArray obj)
virtual

Push a new data cache area onto the list of area to be used for temporarily store 'missing' data members.

Definition at line 362 of file TBuffer.cxx.

◆ Read()

Int_t TBuffer::Read ( const char *  name)
inlineoverrideprotectedvirtual

Read contents of object with specified name from the current directory.

First the key with the given name is searched in the current directory, next the key buffer is deserialized into the object. The object must have been created before via the default constructor. See TObject::Write().

Reimplemented from TObject.

Definition at line 66 of file TBuffer.h.

◆ ReadArray() [1/13]

virtual Int_t TBuffer::ReadArray ( Bool_t *&  b)
pure virtual

◆ ReadArray() [2/13]

virtual Int_t TBuffer::ReadArray ( Char_t *&  c)
pure virtual

◆ ReadArray() [3/13]

virtual Int_t TBuffer::ReadArray ( Double_t *&  d)
pure virtual

◆ ReadArray() [4/13]

virtual Int_t TBuffer::ReadArray ( Float_t *&  f)
pure virtual

◆ ReadArray() [5/13]

virtual Int_t TBuffer::ReadArray ( Int_t *&  i)
pure virtual

◆ ReadArray() [6/13]

virtual Int_t TBuffer::ReadArray ( Long64_t *&  l)
pure virtual

◆ ReadArray() [7/13]

virtual Int_t TBuffer::ReadArray ( Long_t *&  l)
pure virtual

◆ ReadArray() [8/13]

virtual Int_t TBuffer::ReadArray ( Short_t *&  h)
pure virtual

◆ ReadArray() [9/13]

virtual Int_t TBuffer::ReadArray ( UChar_t *&  c)
pure virtual

◆ ReadArray() [10/13]

virtual Int_t TBuffer::ReadArray ( UInt_t *&  i)
pure virtual

◆ ReadArray() [11/13]

virtual Int_t TBuffer::ReadArray ( ULong64_t *&  l)
pure virtual

◆ ReadArray() [12/13]

virtual Int_t TBuffer::ReadArray ( ULong_t *&  l)
pure virtual

◆ ReadArray() [13/13]

virtual Int_t TBuffer::ReadArray ( UShort_t *&  h)
pure virtual

◆ ReadArrayDouble32()

virtual Int_t TBuffer::ReadArrayDouble32 ( Double_t *&  d,
TStreamerElement ele = nullptr 
)
pure virtual

Implemented in TBufferFile, and TBufferText.

◆ ReadArrayFloat16()

virtual Int_t TBuffer::ReadArrayFloat16 ( Float_t *&  f,
TStreamerElement ele = nullptr 
)
pure virtual

Implemented in TBufferFile, and TBufferText.

◆ ReadBool()

virtual void TBuffer::ReadBool ( Bool_t b)
pure virtual

◆ ReadBuf()

virtual Int_t TBuffer::ReadBuf ( void *  buf,
Int_t  max 
)
pure virtual

Implemented in TBufferText, and TBufferFile.

◆ ReadChar()

virtual void TBuffer::ReadChar ( Char_t c)
pure virtual

◆ ReadCharP()

virtual void TBuffer::ReadCharP ( Char_t c)
pure virtual

◆ ReadCharStar()

virtual void TBuffer::ReadCharStar ( char *&  s)
pure virtual

◆ ReadClass()

virtual TClass * TBuffer::ReadClass ( const TClass cl = nullptr,
UInt_t objTag = nullptr 
)
pure virtual

◆ ReadClassBuffer() [1/2]

virtual Int_t TBuffer::ReadClassBuffer ( const TClass cl,
void *  pointer,
const TClass onfile_class = nullptr 
)
pure virtual

Implemented in TBufferText, and TBufferFile.

◆ ReadClassBuffer() [2/2]

virtual Int_t TBuffer::ReadClassBuffer ( const TClass cl,
void *  pointer,
Int_t  version,
UInt_t  start,
UInt_t  count,
const TClass onfile_class = nullptr 
)
pure virtual

Implemented in TBufferText, and TBufferFile.

◆ ReadClassEmulated()

virtual Int_t TBuffer::ReadClassEmulated ( const TClass cl,
void *  object,
const TClass onfile_class = nullptr 
)
pure virtual

Implemented in TBufferText, and TBufferFile.

◆ ReadClones()

virtual Int_t TBuffer::ReadClones ( TClonesArray a,
Int_t  nobjects,
Version_t  objvers 
)
pure virtual

Implemented in TBufferIO.

◆ ReadDouble()

virtual void TBuffer::ReadDouble ( Double_t d)
pure virtual

◆ ReadDouble32()

virtual void TBuffer::ReadDouble32 ( Double_t d,
TStreamerElement ele = nullptr 
)
pure virtual

Implemented in TBufferText, and TBufferFile.

◆ ReadFastArray() [1/15]

virtual void TBuffer::ReadFastArray ( Bool_t b,
Int_t  n 
)
pure virtual

◆ ReadFastArray() [2/15]

virtual void TBuffer::ReadFastArray ( Char_t c,
Int_t  n 
)
pure virtual

◆ ReadFastArray() [3/15]

virtual void TBuffer::ReadFastArray ( Double_t d,
Int_t  n 
)
pure virtual

◆ ReadFastArray() [4/15]

virtual void TBuffer::ReadFastArray ( Float_t f,
Int_t  n 
)
pure virtual

◆ ReadFastArray() [5/15]

virtual void TBuffer::ReadFastArray ( Int_t i,
Int_t  n 
)
pure virtual

◆ ReadFastArray() [6/15]

virtual void TBuffer::ReadFastArray ( Long64_t l,
Int_t  n 
)
pure virtual

◆ ReadFastArray() [7/15]

virtual void TBuffer::ReadFastArray ( Long_t l,
Int_t  n 
)
pure virtual

◆ ReadFastArray() [8/15]

virtual void TBuffer::ReadFastArray ( Short_t h,
Int_t  n 
)
pure virtual

◆ ReadFastArray() [9/15]

virtual void TBuffer::ReadFastArray ( UChar_t c,
Int_t  n 
)
pure virtual

◆ ReadFastArray() [10/15]

virtual void TBuffer::ReadFastArray ( UInt_t i,
Int_t  n 
)
pure virtual

◆ ReadFastArray() [11/15]

virtual void TBuffer::ReadFastArray ( ULong64_t l,
Int_t  n 
)
pure virtual

◆ ReadFastArray() [12/15]

virtual void TBuffer::ReadFastArray ( ULong_t l,
Int_t  n 
)
pure virtual

◆ ReadFastArray() [13/15]

virtual void TBuffer::ReadFastArray ( UShort_t h,
Int_t  n 
)
pure virtual

◆ ReadFastArray() [14/15]

virtual void TBuffer::ReadFastArray ( void **  startp,
const TClass cl,
Int_t  n = 1,
Bool_t  isPreAlloc = kFALSE,
TMemberStreamer s = nullptr,
const TClass onFileClass = nullptr 
)
pure virtual

◆ ReadFastArray() [15/15]

virtual void TBuffer::ReadFastArray ( void *  start,
const TClass cl,
Int_t  n = 1,
TMemberStreamer s = nullptr,
const TClass onFileClass = nullptr 
)
pure virtual

◆ ReadFastArrayDouble32()

virtual void TBuffer::ReadFastArrayDouble32 ( Double_t d,
Int_t  n,
TStreamerElement ele = nullptr 
)
pure virtual

Implemented in TBufferText, TBufferSQL, and TBufferFile.

◆ ReadFastArrayFloat16()

virtual void TBuffer::ReadFastArrayFloat16 ( Float_t f,
Int_t  n,
TStreamerElement ele = nullptr 
)
pure virtual

Implemented in TBufferText, TBufferSQL, and TBufferFile.

◆ ReadFastArrayString()

virtual void TBuffer::ReadFastArrayString ( Char_t c,
Int_t  n 
)
pure virtual

◆ ReadFastArrayWithFactor() [1/2]

virtual void TBuffer::ReadFastArrayWithFactor ( Double_t ptr,
Int_t  n,
Double_t  factor,
Double_t  minvalue 
)
pure virtual

Implemented in TBufferText, TBufferSQL, and TBufferFile.

◆ ReadFastArrayWithFactor() [2/2]

virtual void TBuffer::ReadFastArrayWithFactor ( Float_t ptr,
Int_t  n,
Double_t  factor,
Double_t  minvalue 
)
pure virtual

Implemented in TBufferText, TBufferSQL, and TBufferFile.

◆ ReadFastArrayWithNbits() [1/2]

virtual void TBuffer::ReadFastArrayWithNbits ( Double_t ptr,
Int_t  n,
Int_t  nbits 
)
pure virtual

Implemented in TBufferText, TBufferSQL, and TBufferFile.

◆ ReadFastArrayWithNbits() [2/2]

virtual void TBuffer::ReadFastArrayWithNbits ( Float_t ptr,
Int_t  n,
Int_t  nbits 
)
pure virtual

Implemented in TBufferText, TBufferSQL, and TBufferFile.

◆ ReadFloat()

virtual void TBuffer::ReadFloat ( Float_t f)
pure virtual

◆ ReadFloat16()

virtual void TBuffer::ReadFloat16 ( Float_t f,
TStreamerElement ele = nullptr 
)
pure virtual

Implemented in TBufferText, and TBufferFile.

◆ ReadInt()

virtual void TBuffer::ReadInt ( Int_t i)
pure virtual

◆ ReadLong()

virtual void TBuffer::ReadLong ( Long_t l)
pure virtual

◆ ReadLong64()

virtual void TBuffer::ReadLong64 ( Long64_t l)
pure virtual

◆ ReadObject()

virtual TObject * TBuffer::ReadObject ( const TClass cl)
pure virtual

Implemented in TBufferText, and TBufferFile.

◆ ReadObjectAny()

virtual void * TBuffer::ReadObjectAny ( const TClass cast)
pure virtual

◆ ReadProcessID()

TProcessID * TBuffer::ReadProcessID ( UShort_t  pidf)
pure virtual

Return the current Process-ID.

Implemented in TBufferIO.

Definition at line 344 of file TBuffer.cxx.

◆ ReadShort()

virtual void TBuffer::ReadShort ( Short_t s)
pure virtual

◆ ReadStaticArray() [1/13]

virtual Int_t TBuffer::ReadStaticArray ( Bool_t b)
pure virtual

◆ ReadStaticArray() [2/13]

virtual Int_t TBuffer::ReadStaticArray ( Char_t c)
pure virtual

◆ ReadStaticArray() [3/13]

virtual Int_t TBuffer::ReadStaticArray ( Double_t d)
pure virtual

◆ ReadStaticArray() [4/13]

virtual Int_t TBuffer::ReadStaticArray ( Float_t f)
pure virtual

◆ ReadStaticArray() [5/13]

virtual Int_t TBuffer::ReadStaticArray ( Int_t i)
pure virtual

◆ ReadStaticArray() [6/13]

virtual Int_t TBuffer::ReadStaticArray ( Long64_t l)
pure virtual

◆ ReadStaticArray() [7/13]

virtual Int_t TBuffer::ReadStaticArray ( Long_t l)
pure virtual

◆ ReadStaticArray() [8/13]

virtual Int_t TBuffer::ReadStaticArray ( Short_t h)
pure virtual

◆ ReadStaticArray() [9/13]

virtual Int_t TBuffer::ReadStaticArray ( UChar_t c)
pure virtual

◆ ReadStaticArray() [10/13]

virtual Int_t TBuffer::ReadStaticArray ( UInt_t i)
pure virtual

◆ ReadStaticArray() [11/13]

virtual Int_t TBuffer::ReadStaticArray ( ULong64_t l)
pure virtual

◆ ReadStaticArray() [12/13]

virtual Int_t TBuffer::ReadStaticArray ( ULong_t l)
pure virtual

◆ ReadStaticArray() [13/13]

virtual Int_t TBuffer::ReadStaticArray ( UShort_t h)
pure virtual

◆ ReadStaticArrayDouble32()

virtual Int_t TBuffer::ReadStaticArrayDouble32 ( Double_t d,
TStreamerElement ele = nullptr 
)
pure virtual

Implemented in TBufferText, and TBufferFile.

◆ ReadStaticArrayFloat16()

virtual Int_t TBuffer::ReadStaticArrayFloat16 ( Float_t f,
TStreamerElement ele = nullptr 
)
pure virtual

Implemented in TBufferText, and TBufferFile.

◆ ReadStdString() [1/2]

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

Reimplemented in TBufferFile, TBufferJSON, TBufferSQL2, TBufferXML, and TBufferSQL.

Definition at line 292 of file TBuffer.h.

◆ ReadStdString() [2/2]

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

◆ ReadString()

virtual char * TBuffer::ReadString ( char *  s,
Int_t  max 
)
pure virtual

Implemented in TBufferText, and TBufferFile.

◆ ReadTString()

virtual void TBuffer::ReadTString ( TString s)
pure virtual

◆ ReadUChar()

virtual void TBuffer::ReadUChar ( UChar_t c)
pure virtual

◆ ReadUInt()

virtual void TBuffer::ReadUInt ( UInt_t i)
pure virtual

◆ ReadULong()

virtual void TBuffer::ReadULong ( ULong_t l)
pure virtual

◆ ReadULong64()

virtual void TBuffer::ReadULong64 ( ULong64_t l)
pure virtual

◆ ReadUShort()

virtual void TBuffer::ReadUShort ( UShort_t s)
pure virtual

◆ ReadVersion()

virtual Version_t TBuffer::ReadVersion ( UInt_t start = nullptr,
UInt_t bcnt = nullptr,
const TClass cl = nullptr 
)
pure virtual

◆ ReadVersionForMemberWise()

virtual Version_t TBuffer::ReadVersionForMemberWise ( const TClass cl = nullptr)
pure virtual

Implemented in TBufferText, and TBufferFile.

◆ ReadVersionNoCheckSum()

virtual Version_t TBuffer::ReadVersionNoCheckSum ( UInt_t start = nullptr,
UInt_t bcnt = nullptr 
)
pure virtual

Implemented in TBufferText, and TBufferFile.

◆ ReadWithFactor() [1/2]

virtual void TBuffer::ReadWithFactor ( Double_t ptr,
Double_t  factor,
Double_t  minvalue 
)
pure virtual

Implemented in TBufferText, and TBufferFile.

◆ ReadWithFactor() [2/2]

virtual void TBuffer::ReadWithFactor ( Float_t ptr,
Double_t  factor,
Double_t  minvalue 
)
pure virtual

Implemented in TBufferText, and TBufferFile.

◆ ReadWithNbits() [1/2]

virtual void TBuffer::ReadWithNbits ( Double_t ptr,
Int_t  nbits 
)
pure virtual

Implemented in TBufferText, and TBufferFile.

◆ ReadWithNbits() [2/2]

virtual void TBuffer::ReadWithNbits ( Float_t ptr,
Int_t  nbits 
)
pure virtual

Implemented in TBufferText, and TBufferFile.

◆ Reset()

virtual void TBuffer::Reset ( )
pure virtual

Implemented in TBufferIO, and TMessage.

◆ ResetMap()

virtual void TBuffer::ResetMap ( )
pure virtual

Implemented in TBufferIO.

◆ SetBuffer()

void TBuffer::SetBuffer ( void *  buf,
UInt_t  newsiz = 0,
Bool_t  adopt = kTRUE,
ReAllocCharFun_t  reallocfunc = nullptr 
)

Sets a new buffer in an existing TBuffer object.

If newsiz=0 then the new buffer is expected to have the same size as the previous buffer. The current buffer position is reset to the start of the buffer. If the TBuffer owned the previous buffer, it will be deleted prior to accepting the new buffer. By default the new 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 187 of file TBuffer.cxx.

◆ SetBufferDisplacement() [1/2]

virtual void TBuffer::SetBufferDisplacement ( )
pure virtual

Implemented in TBufferIO.

◆ SetBufferDisplacement() [2/2]

virtual void TBuffer::SetBufferDisplacement ( Int_t  skipped)
pure virtual

Implemented in TBufferIO.

◆ SetBufferOffset()

void TBuffer::SetBufferOffset ( Int_t  offset = 0)
inline

Definition at line 93 of file TBuffer.h.

◆ SetByteCount()

virtual void TBuffer::SetByteCount ( UInt_t  cntpos,
Bool_t  packInVersion = kFALSE 
)
pure virtual

Implemented in TBufferFile, and TBufferText.

◆ SetParent()

void TBuffer::SetParent ( TObject parent)

Set parent owning this buffer.

Definition at line 270 of file TBuffer.cxx.

◆ SetPidOffset()

virtual void TBuffer::SetPidOffset ( UShort_t  offset)
pure virtual

Implemented in TBufferIO.

◆ SetReadMode()

void TBuffer::SetReadMode ( )

Set buffer in read mode.

Definition at line 302 of file TBuffer.cxx.

◆ SetReadParam()

virtual void TBuffer::SetReadParam ( Int_t  mapsize)
pure virtual

Implemented in TBufferIO.

◆ SetReAllocFunc()

void TBuffer::SetReAllocFunc ( ReAllocCharFun_t  reallocfunc = nullptr)

Set which memory reallocation method to use.

If reallocafunc is null, reset it to the default value (TStorage::ReAlloc)

Definition at line 286 of file TBuffer.cxx.

◆ SetStreamerElementNumber()

virtual void TBuffer::SetStreamerElementNumber ( TStreamerElement elem,
Int_t  comp_type 
)
pure virtual

◆ SetWriteMode()

void TBuffer::SetWriteMode ( )

Set buffer in write mode.

Definition at line 315 of file TBuffer.cxx.

◆ SetWriteParam()

virtual void TBuffer::SetWriteParam ( Int_t  mapsize)
pure virtual

Implemented in TBufferIO.

◆ SkipObjectAny()

virtual void TBuffer::SkipObjectAny ( )
pure virtual

◆ SkipVersion()

virtual void TBuffer::SkipVersion ( const TClass cl = nullptr)
pure virtual

Implemented in TBufferText, and TBufferFile.

◆ Streamer()

void TBuffer::Streamer ( TBuffer R__b)
overridevirtual

Stream an object of class TObject.

Reimplemented from TObject.

Reimplemented in TBufferFile, TBufferIO, TBufferJSON, TBufferText, TBufferSQL2, TBufferXML, TMessage, and TBufferSQL.

◆ StreamerNVirtual()

void TBuffer::StreamerNVirtual ( TBuffer ClassDef_StreamerNVirtual_b)
inline

Definition at line 340 of file TBuffer.h.

◆ StreamObject() [1/4]

virtual void TBuffer::StreamObject ( TObject obj)
pure virtual

◆ StreamObject() [2/4]

virtual void TBuffer::StreamObject ( void *  obj,
const char *  className,
const TClass onFileClass = nullptr 
)
pure virtual

◆ StreamObject() [3/4]

virtual void TBuffer::StreamObject ( void *  obj,
const std::type_info &  typeinfo,
const TClass onFileClass = nullptr 
)
pure virtual

◆ StreamObject() [4/4]

virtual void TBuffer::StreamObject ( void *  obj,
const TClass cl,
const TClass onFileClass = nullptr 
)
pure virtual

◆ TagStreamerInfo()

virtual void TBuffer::TagStreamerInfo ( TVirtualStreamerInfo info)
pure virtual

Implemented in TBufferIO, and TMessage.

◆ Write() [1/2]

Int_t TBuffer::Write ( const char *  name,
Int_t  option,
Int_t  bufsize 
) const
inlineoverrideprotectedvirtual

Write this object to the current directory.

The data structure corresponding to this object is serialized. The corresponding buffer is written to the current directory with an associated key with name "name".

Writing an object to a file involves the following steps:

  • Creation of a support TKey object in the current directory. The TKey object creates a TBuffer object.
  • The TBuffer object is filled via the class::Streamer function.
  • If the file is compressed (default) a second buffer is created to hold the compressed buffer.
  • Reservation of the corresponding space in the file by looking in the TFree list of free blocks of the file.
  • The buffer is written to the file.

Bufsize can be given to force a given buffer size to write this object. By default, the buffersize will be taken from the average buffer size of all objects written to the current file so far.

If a name is specified, it will be the name of the key. If name is not given, the name of the key will be the name as returned by GetName().

The option can be a combination of: kSingleKey, kOverwrite or kWriteDelete Using the kOverwrite option a previous key with the same name is overwritten. The previous key is deleted before writing the new object. Using the kWriteDelete option a previous key with the same name is deleted only after the new object has been written. This option is safer than kOverwrite but it is slower. NOTE: Neither kOverwrite nor kWriteDelete reduces the size of a TFile– the space is simply freed up to be overwritten; in the case of a TTree, it is more complicated. If one opens a TTree, appends some entries, then writes it out, the behaviour is effectively the same. If, however, one creates a new TTree and writes it out in this way, only the metadata is replaced, effectively making the old data invisible without deleting it. TTree::Delete() can be used to mark all disk space occupied by a TTree as free before overwriting its metadata this way. The kSingleKey option is only used by TCollection::Write() to write a container with a single key instead of each object in the container with its own key.

An object is read from the file into memory via TKey::Read() or via TObject::Read().

The function returns the total number of bytes written to the file. It returns 0 if the object cannot be written.

Reimplemented from TObject.

Definition at line 69 of file TBuffer.h.

◆ Write() [2/2]

Int_t TBuffer::Write ( const char *  name,
Int_t  option,
Int_t  bufsize 
)
inlineoverrideprotectedvirtual

Write this object to the current directory.

For more see the const version of this method.

Reimplemented from TObject.

Definition at line 67 of file TBuffer.h.

◆ WriteArray() [1/13]

virtual void TBuffer::WriteArray ( const Bool_t b,
Int_t  n 
)
pure virtual

◆ WriteArray() [2/13]

virtual void TBuffer::WriteArray ( const Char_t c,
Int_t  n 
)
pure virtual

◆ WriteArray() [3/13]

virtual void TBuffer::WriteArray ( const Double_t d,
Int_t  n 
)
pure virtual

◆ WriteArray() [4/13]

virtual void TBuffer::WriteArray ( const Float_t f,
Int_t  n 
)
pure virtual

◆ WriteArray() [5/13]

virtual void TBuffer::WriteArray ( const Int_t i,
Int_t  n 
)
pure virtual

◆ WriteArray() [6/13]

virtual void TBuffer::WriteArray ( const Long64_t l,
Int_t  n 
)
pure virtual

◆ WriteArray() [7/13]

virtual void TBuffer::WriteArray ( const Long_t l,
Int_t  n 
)
pure virtual

◆ WriteArray() [8/13]

virtual void TBuffer::WriteArray ( const Short_t h,
Int_t  n 
)
pure virtual

◆ WriteArray() [9/13]

virtual void TBuffer::WriteArray ( const UChar_t c,
Int_t  n 
)
pure virtual

◆ WriteArray() [10/13]

virtual void TBuffer::WriteArray ( const UInt_t i,
Int_t  n 
)
pure virtual

◆ WriteArray() [11/13]

virtual void TBuffer::WriteArray ( const ULong64_t l,
Int_t  n 
)
pure virtual

◆ WriteArray() [12/13]

virtual void TBuffer::WriteArray ( const ULong_t l,
Int_t  n 
)
pure virtual

◆ WriteArray() [13/13]

virtual void TBuffer::WriteArray ( const UShort_t h,
Int_t  n 
)
pure virtual

◆ WriteArrayDouble32()

virtual void TBuffer::WriteArrayDouble32 ( const Double_t d,
Int_t  n,
TStreamerElement ele = nullptr 
)
pure virtual

Implemented in TBufferText, and TBufferFile.

◆ WriteArrayFloat16()

virtual void TBuffer::WriteArrayFloat16 ( const Float_t f,
Int_t  n,
TStreamerElement ele = nullptr 
)
pure virtual

Implemented in TBufferText, and TBufferFile.

◆ WriteBool()

virtual void TBuffer::WriteBool ( Bool_t  b)
pure virtual

◆ WriteBuf()

virtual void TBuffer::WriteBuf ( const void *  buf,
Int_t  max 
)
pure virtual

Implemented in TBufferText, and TBufferFile.

◆ WriteChar()

virtual void TBuffer::WriteChar ( Char_t  c)
pure virtual

◆ WriteCharP()

virtual void TBuffer::WriteCharP ( const Char_t c)
pure virtual

◆ WriteCharStar()

virtual void TBuffer::WriteCharStar ( char *  s)
pure virtual

◆ WriteClass()

virtual void TBuffer::WriteClass ( const TClass cl)
pure virtual

◆ WriteClassBuffer()

virtual Int_t TBuffer::WriteClassBuffer ( const TClass cl,
void *  pointer 
)
pure virtual

Implemented in TBufferFile, and TBufferText.

◆ WriteClones()

virtual Int_t TBuffer::WriteClones ( TClonesArray a,
Int_t  nobjects 
)
pure virtual

Implemented in TBufferIO.

◆ WriteDouble()

virtual void TBuffer::WriteDouble ( Double_t  d)
pure virtual

◆ WriteDouble32()

virtual void TBuffer::WriteDouble32 ( Double_t d,
TStreamerElement ele = nullptr 
)
pure virtual

Implemented in TBufferText, and TBufferFile.

◆ WriteFastArray() [1/15]

virtual void TBuffer::WriteFastArray ( const Bool_t b,
Int_t  n 
)
pure virtual

◆ WriteFastArray() [2/15]

virtual void TBuffer::WriteFastArray ( const Char_t c,
Int_t  n 
)
pure virtual

◆ WriteFastArray() [3/15]

virtual void TBuffer::WriteFastArray ( const Double_t d,
Int_t  n 
)
pure virtual

◆ WriteFastArray() [4/15]

virtual void TBuffer::WriteFastArray ( const Float_t f,
Int_t  n 
)
pure virtual

◆ WriteFastArray() [5/15]

virtual void TBuffer::WriteFastArray ( const Int_t i,
Int_t  n 
)
pure virtual

◆ WriteFastArray() [6/15]

virtual void TBuffer::WriteFastArray ( const Long64_t l,
Int_t  n 
)
pure virtual

◆ WriteFastArray() [7/15]

virtual void TBuffer::WriteFastArray ( const Long_t l,
Int_t  n 
)
pure virtual

◆ WriteFastArray() [8/15]

virtual void TBuffer::WriteFastArray ( const Short_t h,
Int_t  n 
)
pure virtual

◆ WriteFastArray() [9/15]

virtual void TBuffer::WriteFastArray ( const UChar_t c,
Int_t  n 
)
pure virtual

◆ WriteFastArray() [10/15]

virtual void TBuffer::WriteFastArray ( const UInt_t i,
Int_t  n 
)
pure virtual

◆ WriteFastArray() [11/15]

virtual void TBuffer::WriteFastArray ( const ULong64_t l,
Int_t  n 
)
pure virtual

◆ WriteFastArray() [12/15]

virtual void TBuffer::WriteFastArray ( const ULong_t l,
Int_t  n 
)
pure virtual

◆ WriteFastArray() [13/15]

virtual void TBuffer::WriteFastArray ( const UShort_t h,
Int_t  n 
)
pure virtual

◆ WriteFastArray() [14/15]

virtual Int_t TBuffer::WriteFastArray ( void **  startp,
const TClass cl,
Int_t  n = 1,
Bool_t  isPreAlloc = kFALSE,
TMemberStreamer s = nullptr 
)
pure virtual

◆ WriteFastArray() [15/15]

virtual void TBuffer::WriteFastArray ( void *  start,
const TClass cl,
Int_t  n = 1,
TMemberStreamer s = nullptr 
)
pure virtual

◆ WriteFastArrayDouble32()

virtual void TBuffer::WriteFastArrayDouble32 ( const Double_t d,
Int_t  n,
TStreamerElement ele = nullptr 
)
pure virtual

Implemented in TBufferText, and TBufferFile.

◆ WriteFastArrayFloat16()

virtual void TBuffer::WriteFastArrayFloat16 ( const Float_t f,
Int_t  n,
TStreamerElement ele = nullptr 
)
pure virtual

Implemented in TBufferText, and TBufferFile.

◆ WriteFastArrayString()

virtual void TBuffer::WriteFastArrayString ( const Char_t c,
Int_t  n 
)
pure virtual

◆ WriteFloat()

virtual void TBuffer::WriteFloat ( Float_t  f)
pure virtual

◆ WriteFloat16()

virtual void TBuffer::WriteFloat16 ( Float_t f,
TStreamerElement ele = nullptr 
)
pure virtual

Implemented in TBufferText, and TBufferFile.

◆ WriteInt()

virtual void TBuffer::WriteInt ( Int_t  i)
pure virtual

◆ WriteLong()

virtual void TBuffer::WriteLong ( Long_t  l)
pure virtual

◆ WriteLong64()

virtual void TBuffer::WriteLong64 ( Long64_t  l)
pure virtual

◆ WriteObject() [1/2]

template<class T >
Int_t TBuffer::WriteObject ( const T *  objptr,
Bool_t  cacheReuse = kTRUE 
)
inline

Definition at line 411 of file TBuffer.h.

◆ WriteObject() [2/2]

virtual void TBuffer::WriteObject ( const TObject obj,
Bool_t  cacheReuse 
)
pure virtual

Implemented in TBufferIO, and TBufferIO.

◆ WriteObjectAny()

virtual Int_t TBuffer::WriteObjectAny ( const void *  obj,
const TClass ptrClass,
Bool_t  cacheReuse = kTRUE 
)
pure virtual

Implemented in TBufferIO.

◆ WriteProcessID()

UShort_t TBuffer::WriteProcessID ( TProcessID pid)
pure virtual

Always return 0 (current processID).

Implemented in TBufferIO, and TMessage.

Definition at line 353 of file TBuffer.cxx.

◆ WriteShort()

virtual void TBuffer::WriteShort ( Short_t  s)
pure virtual

◆ WriteStdString() [1/2]

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

◆ WriteStdString() [2/2]

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

Reimplemented in TBufferFile, TBufferJSON, TBufferSQL2, TBufferXML, and TBufferSQL.

Definition at line 312 of file TBuffer.h.

◆ WriteString()

virtual void TBuffer::WriteString ( const char *  s)
pure virtual

Implemented in TBufferText, and TBufferFile.

◆ WriteTString()

virtual void TBuffer::WriteTString ( const TString s)
pure virtual

◆ WriteUChar()

virtual void TBuffer::WriteUChar ( UChar_t  c)
pure virtual

◆ WriteUInt()

virtual void TBuffer::WriteUInt ( UInt_t  i)
pure virtual

◆ WriteULong()

virtual void TBuffer::WriteULong ( ULong_t  l)
pure virtual

◆ WriteULong64()

virtual void TBuffer::WriteULong64 ( ULong64_t  l)
pure virtual

◆ WriteUShort()

virtual void TBuffer::WriteUShort ( UShort_t  s)
pure virtual

◆ WriteVersion()

virtual UInt_t TBuffer::WriteVersion ( const TClass cl,
Bool_t  useBcnt = kFALSE 
)
pure virtual

◆ WriteVersionMemberWise()

virtual UInt_t TBuffer::WriteVersionMemberWise ( const TClass cl,
Bool_t  useBcnt = kFALSE 
)
pure virtual

Implemented in TBufferText, and TBufferFile.

Member Data Documentation

◆ fBufCur

char* TBuffer::fBufCur
protected

Definition at line 52 of file TBuffer.h.

◆ fBuffer

char* TBuffer::fBuffer
protected

Definition at line 51 of file TBuffer.h.

◆ fBufMax

char* TBuffer::fBufMax
protected

Definition at line 53 of file TBuffer.h.

◆ fBufSize

Int_t TBuffer::fBufSize
protected

Definition at line 50 of file TBuffer.h.

◆ fCacheStack

CacheList_t TBuffer::fCacheStack
protected

Realloc function to be used when extending the buffer.

Definition at line 56 of file TBuffer.h.

◆ fMode

Bool_t TBuffer::fMode
protected

Definition at line 48 of file TBuffer.h.

◆ fParent

TObject* TBuffer::fParent
protected

Definition at line 54 of file TBuffer.h.

◆ fReAllocFunc

ReAllocCharFun_t TBuffer::fReAllocFunc
protected

Definition at line 55 of file TBuffer.h.

◆ fVersion

Int_t TBuffer::fVersion
protected

Definition at line 49 of file TBuffer.h.

  • core/base/inc/TBuffer.h
  • core/base/src/TBuffer.cxx