ROOT  6.06/09
Reference Guide
Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
TBuffer Class Referenceabstract

Buffer base class used for serializing objects.

Definition at line 40 of file TBuffer.h.

Public Types

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

Public Member Functions

 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...
 
Int_t GetBufferVersion () const
 
Bool_t IsReading () const
 
Bool_t IsWriting () const
 
void SetReadMode ()
 Set buffer in read mode. More...
 
void SetWriteMode ()
 Set buffer in write mode. More...
 
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...
 
ReAllocCharFun_t GetReAllocFunc () const
 Return the reallocation method currently used. More...
 
void SetReAllocFunc (ReAllocCharFun_t reallocfunc=0)
 Set which memory reallocation method to use. More...
 
void SetBufferOffset (Int_t offset=0)
 
void SetParent (TObject *parent)
 Set parent owning this buffer. More...
 
TObjectGetParent () const
 Return pointer to parent of this buffer. More...
 
char * Buffer () const
 
Int_t BufferSize () const
 
void DetachBuffer ()
 
Int_t Length () const
 
void Expand (Int_t newsize, Bool_t copy=kTRUE)
 Expand (or shrink) the I/O buffer to newsize bytes. More...
 
void AutoExpand (Int_t size_needed)
 Automatically calculate a new size and expand the buffer to fit at least size_needed. More...
 
virtual Bool_t CheckObject (const TObject *obj)=0
 
virtual Bool_t CheckObject (const void *obj, const TClass *ptrClass)=0
 
virtual Int_t ReadBuf (void *buf, Int_t max)=0
 
virtual void WriteBuf (const void *buf, Int_t max)=0
 
virtual char * ReadString (char *s, Int_t max)=0
 
virtual void WriteString (const char *s)=0
 
virtual Int_t GetVersionOwner () const =0
 
virtual Int_t GetMapCount () const =0
 
virtual void GetMappedObject (UInt_t tag, void *&ptr, TClass *&ClassPtr) const =0
 
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 void Reset ()=0
 
virtual void InitMap ()=0
 
virtual void ResetMap ()=0
 
virtual void SetReadParam (Int_t mapsize)=0
 
virtual void SetWriteParam (Int_t mapsize)=0
 
virtual Int_t CheckByteCount (UInt_t startpos, UInt_t bcnt, const TClass *clss)=0
 
virtual Int_t CheckByteCount (UInt_t startpos, UInt_t bcnt, const char *classname)=0
 
virtual void SetByteCount (UInt_t cntpos, Bool_t packInVersion=kFALSE)=0
 
virtual void SkipVersion (const TClass *cl=0)=0
 
virtual Version_t ReadVersion (UInt_t *start=0, UInt_t *bcnt=0, const TClass *cl=0)=0
 
virtual Version_t ReadVersionNoCheckSum (UInt_t *start=0, UInt_t *bcnt=0)=0
 
virtual Version_t ReadVersionForMemberWise (const TClass *cl=0)=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
 
virtual voidReadObjectAny (const TClass *cast)=0
 
virtual void SkipObjectAny ()=0
 
virtual void TagStreamerInfo (TVirtualStreamerInfo *info)=0
 
virtual void IncrementLevel (TVirtualStreamerInfo *info)=0
 
virtual void SetStreamerElementNumber (TStreamerElement *elem, Int_t comp_type)=0
 
virtual void DecrementLevel (TVirtualStreamerInfo *)=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 TVirtualStreamerInfoGetInfo ()=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 TClassReadClass (const TClass *cl=0, UInt_t *objTag=0)=0
 
virtual void WriteClass (const TClass *cl)=0
 
virtual TObjectReadObject (const TClass *cl)=0
 
virtual void WriteObject (const TObject *obj)=0
 
virtual Int_t WriteObjectAny (const void *obj, const TClass *ptrClass)=0
 
virtual UShort_t GetPidOffset () const =0
 
virtual void SetPidOffset (UShort_t offset)=0
 
virtual Int_t GetBufferDisplacement () const =0
 
virtual void SetBufferDisplacement ()=0
 
virtual void SetBufferDisplacement (Int_t skipped)=0
 
virtual void ReadFloat16 (Float_t *f, TStreamerElement *ele=0)=0
 
virtual void WriteFloat16 (Float_t *f, TStreamerElement *ele=0)=0
 
virtual void ReadDouble32 (Double_t *d, TStreamerElement *ele=0)=0
 
virtual void WriteDouble32 (Double_t *d, TStreamerElement *ele=0)=0
 
virtual void ReadWithFactor (Float_t *ptr, Double_t factor, Double_t minvalue)=0
 
virtual void ReadWithNbits (Float_t *ptr, Int_t nbits)=0
 
virtual void ReadWithFactor (Double_t *ptr, Double_t factor, Double_t minvalue)=0
 
virtual void ReadWithNbits (Double_t *ptr, Int_t nbits)=0
 
virtual Int_t ReadArray (Bool_t *&b)=0
 
virtual Int_t ReadArray (Char_t *&c)=0
 
virtual Int_t ReadArray (UChar_t *&c)=0
 
virtual Int_t ReadArray (Short_t *&h)=0
 
virtual Int_t ReadArray (UShort_t *&h)=0
 
virtual Int_t ReadArray (Int_t *&i)=0
 
virtual Int_t ReadArray (UInt_t *&i)=0
 
virtual Int_t ReadArray (Long_t *&l)=0
 
virtual Int_t ReadArray (ULong_t *&l)=0
 
virtual Int_t ReadArray (Long64_t *&l)=0
 
virtual Int_t ReadArray (ULong64_t *&l)=0
 
virtual Int_t ReadArray (Float_t *&f)=0
 
virtual Int_t ReadArray (Double_t *&d)=0
 
virtual Int_t ReadArrayFloat16 (Float_t *&f, TStreamerElement *ele=0)=0
 
virtual Int_t ReadArrayDouble32 (Double_t *&d, TStreamerElement *ele=0)=0
 
virtual Int_t ReadStaticArray (Bool_t *b)=0
 
virtual Int_t ReadStaticArray (Char_t *c)=0
 
virtual Int_t ReadStaticArray (UChar_t *c)=0
 
virtual Int_t ReadStaticArray (Short_t *h)=0
 
virtual Int_t ReadStaticArray (UShort_t *h)=0
 
virtual Int_t ReadStaticArray (Int_t *i)=0
 
virtual Int_t ReadStaticArray (UInt_t *i)=0
 
virtual Int_t ReadStaticArray (Long_t *l)=0
 
virtual Int_t ReadStaticArray (ULong_t *l)=0
 
virtual Int_t ReadStaticArray (Long64_t *l)=0
 
virtual Int_t ReadStaticArray (ULong64_t *l)=0
 
virtual Int_t ReadStaticArray (Float_t *f)=0
 
virtual Int_t ReadStaticArray (Double_t *d)=0
 
virtual Int_t ReadStaticArrayFloat16 (Float_t *f, TStreamerElement *ele=0)=0
 
virtual Int_t ReadStaticArrayDouble32 (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 ReadFastArrayString (Char_t *c, Int_t n)=0
 
virtual void ReadFastArray (UChar_t *c, Int_t n)=0
 
virtual void ReadFastArray (Short_t *h, Int_t n)=0
 
virtual void ReadFastArray (UShort_t *h, Int_t n)=0
 
virtual void ReadFastArray (Int_t *i, Int_t n)=0
 
virtual void ReadFastArray (UInt_t *i, Int_t n)=0
 
virtual void ReadFastArray (Long_t *l, Int_t n)=0
 
virtual void ReadFastArray (ULong_t *l, Int_t n)=0
 
virtual void ReadFastArray (Long64_t *l, Int_t n)=0
 
virtual void ReadFastArray (ULong64_t *l, Int_t n)=0
 
virtual void ReadFastArray (Float_t *f, Int_t n)=0
 
virtual void ReadFastArray (Double_t *d, Int_t n)=0
 
virtual void ReadFastArrayFloat16 (Float_t *f, Int_t n, TStreamerElement *ele=0)=0
 
virtual void ReadFastArrayDouble32 (Double_t *d, Int_t n, TStreamerElement *ele=0)=0
 
virtual void ReadFastArrayWithFactor (Float_t *ptr, Int_t n, Double_t factor, Double_t minvalue)=0
 
virtual void ReadFastArrayWithNbits (Float_t *ptr, Int_t n, Int_t nbits)=0
 
virtual void ReadFastArrayWithFactor (Double_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 ReadFastArray (void *start, const TClass *cl, Int_t n=1, TMemberStreamer *s=0, const TClass *onFileClass=0)=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 WriteArray (const Bool_t *b, Int_t n)=0
 
virtual void WriteArray (const Char_t *c, Int_t n)=0
 
virtual void WriteArray (const UChar_t *c, Int_t n)=0
 
virtual void WriteArray (const Short_t *h, Int_t n)=0
 
virtual void WriteArray (const UShort_t *h, Int_t n)=0
 
virtual void WriteArray (const Int_t *i, Int_t n)=0
 
virtual void WriteArray (const UInt_t *i, Int_t n)=0
 
virtual void WriteArray (const Long_t *l, Int_t n)=0
 
virtual void WriteArray (const ULong_t *l, Int_t n)=0
 
virtual void WriteArray (const Long64_t *l, Int_t n)=0
 
virtual void WriteArray (const ULong64_t *l, Int_t n)=0
 
virtual void WriteArray (const Float_t *f, Int_t n)=0
 
virtual void WriteArray (const Double_t *d, Int_t n)=0
 
virtual void WriteArrayFloat16 (const Float_t *f, Int_t n, TStreamerElement *ele=0)=0
 
virtual void WriteArrayDouble32 (const Double_t *d, Int_t n, 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 WriteFastArrayString (const Char_t *c, Int_t n)=0
 
virtual void WriteFastArray (const UChar_t *c, Int_t n)=0
 
virtual void WriteFastArray (const Short_t *h, Int_t n)=0
 
virtual void WriteFastArray (const UShort_t *h, Int_t n)=0
 
virtual void WriteFastArray (const Int_t *i, Int_t n)=0
 
virtual void WriteFastArray (const UInt_t *i, Int_t n)=0
 
virtual void WriteFastArray (const Long_t *l, Int_t n)=0
 
virtual void WriteFastArray (const ULong_t *l, Int_t n)=0
 
virtual void WriteFastArray (const Long64_t *l, Int_t n)=0
 
virtual void WriteFastArray (const ULong64_t *l, Int_t n)=0
 
virtual void WriteFastArray (const Float_t *f, Int_t n)=0
 
virtual void WriteFastArray (const Double_t *d, Int_t n)=0
 
virtual void WriteFastArrayFloat16 (const Float_t *f, Int_t n, TStreamerElement *ele=0)=0
 
virtual void WriteFastArrayDouble32 (const Double_t *d, Int_t n, TStreamerElement *ele=0)=0
 
virtual void WriteFastArray (void *start, const TClass *cl, Int_t n=1, TMemberStreamer *s=0)=0
 
virtual Int_t WriteFastArray (void **startp, const TClass *cl, Int_t n=1, Bool_t isPreAlloc=kFALSE, TMemberStreamer *s=0)=0
 
virtual void StreamObject (void *obj, const type_info &typeinfo, const TClass *onFileClass=0)=0
 
virtual void StreamObject (void *obj, const char *className, const TClass *onFileClass=0)=0
 
virtual void StreamObject (void *obj, const TClass *cl, const TClass *onFileClass=0)=0
 
virtual void StreamObject (TObject *obj)=0
 
virtual void ReadBool (Bool_t &b)=0
 
virtual void ReadChar (Char_t &c)=0
 
virtual void ReadUChar (UChar_t &c)=0
 
virtual void ReadShort (Short_t &s)=0
 
virtual void ReadUShort (UShort_t &s)=0
 
virtual void ReadInt (Int_t &i)=0
 
virtual void ReadUInt (UInt_t &i)=0
 
virtual void ReadLong (Long_t &l)=0
 
virtual void ReadULong (ULong_t &l)=0
 
virtual void ReadLong64 (Long64_t &l)=0
 
virtual void ReadULong64 (ULong64_t &l)=0
 
virtual void ReadFloat (Float_t &f)=0
 
virtual void ReadDouble (Double_t &d)=0
 
virtual void ReadCharP (Char_t *c)=0
 
virtual void ReadTString (TString &s)=0
 
virtual void ReadStdString (std::string &s)=0
 
virtual void WriteBool (Bool_t b)=0
 
virtual void WriteChar (Char_t c)=0
 
virtual void WriteUChar (UChar_t c)=0
 
virtual void WriteShort (Short_t s)=0
 
virtual void WriteUShort (UShort_t s)=0
 
virtual void WriteInt (Int_t i)=0
 
virtual void WriteUInt (UInt_t i)=0
 
virtual void WriteLong (Long_t l)=0
 
virtual void WriteULong (ULong_t l)=0
 
virtual void WriteLong64 (Long64_t l)=0
 
virtual void WriteULong64 (ULong64_t l)=0
 
virtual void WriteFloat (Float_t f)=0
 
virtual void WriteDouble (Double_t d)=0
 
virtual void WriteCharP (const Char_t *c)=0
 
virtual void WriteTString (const TString &s)=0
 
virtual void WriteStdString (const std::string &s)=0
 
virtual TProcessIDGetLastProcessID (TRefTable *reftable) const =0
 
virtual UInt_t GetTRefExecId ()=0
 
virtual TProcessIDReadProcessID (UShort_t pidf)=0
 Return the current Process-ID. More...
 
virtual UShort_t WriteProcessID (TProcessID *pid)=0
 Always return 0 (current processID). More...
 
virtual void ForceWriteInfo (TVirtualStreamerInfo *info, Bool_t force)=0
 
virtual void ForceWriteInfoClones (TClonesArray *a)=0
 
virtual Int_t ReadClones (TClonesArray *a, Int_t nobjects, Version_t objvers)=0
 
virtual Int_t WriteClones (TClonesArray *a, Int_t nobjects)=0
 
virtual Int_t ReadClassEmulated (const TClass *cl, void *object, const TClass *onfile_class=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 WriteClassBuffer (const TClass *cl, void *pointer)=0
 
virtual Int_t ApplySequence (const TStreamerInfoActions::TActionSequence &sequence, void *object)=0
 
virtual Int_t ApplySequenceVecPtr (const TStreamerInfoActions::TActionSequence &sequence, void *start_collection, void *end_collection)=0
 
virtual Int_t ApplySequence (const TStreamerInfoActions::TActionSequence &sequence, void *start_collection, void *end_collection)=0
 
- Public Member Functions inherited from TObject
 TObject ()
 
 TObject (const TObject &object)
 TObject copy ctor. More...
 
TObjectoperator= (const TObject &rhs)
 TObject assignment operator. More...
 
virtual ~TObject ()
 TObject destructor. 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...
 
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 pad. More...
 
virtual void Dump () const
 Dump contents of object on stdout. 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 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 UInt_t GetUniqueID () const
 Return the unique object id. More...
 
virtual const char * GetName () const
 Returns name of object. More...
 
virtual const char * GetIconName () const
 Returns mime type name of object. More...
 
virtual Option_tGetOption () const
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 Returns string containing info about the object at position (px,py). More...
 
virtual const char * GetTitle () const
 Returns title of object. 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...
 
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...
 
virtual Bool_t IsFolder () const
 Returns kTRUE in case object contains browsable objects (like containers or lists of other objects). More...
 
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 IsSortable () const
 
Bool_t IsOnHeap () const
 
Bool_t IsZombie () const
 
virtual Bool_t Notify ()
 This method must be overridden to handle object notification. More...
 
virtual void ls (Option_t *option="") const
 The ls function lists the contents of a class on stdout. 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 void RecursiveRemove (TObject *obj)
 Recursively remove this object from a list. More...
 
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...
 
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 UseCurrentStyle ()
 Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked. More...
 
voidoperator new (size_t sz)
 
voidoperator new[] (size_t sz)
 
voidoperator new (size_t sz, void *vp)
 
voidoperator new[] (size_t sz, void *vp)
 
void operator delete (void *ptr)
 Operator delete. More...
 
void operator delete[] (void *ptr)
 Operator delete []. More...
 
void SetBit (UInt_t f, Bool_t set)
 Set or unset the user status bits as specified in f. More...
 
void SetBit (UInt_t f)
 
void ResetBit (UInt_t f)
 
Bool_t TestBit (UInt_t f) const
 
Int_t TestBits (UInt_t f) const
 
void InvertBit (UInt_t f)
 
virtual void Info (const char *method, const char *msgfmt,...) const
 Issue info message. More...
 
virtual void Warning (const char *method, const char *msgfmt,...) const
 Issue warning message. More...
 
virtual void Error (const char *method, const char *msgfmt,...) const
 Issue error message. More...
 
virtual void SysError (const char *method, const char *msgfmt,...) const
 Issue system error message. More...
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 Issue fatal error message. 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...
 
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...
 
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 Use this method to declare a method obsolete. More...
 

Static Public Member Functions

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

Protected Types

typedef std::vector< TVirtualArray * > CacheList_t
 

Protected Member Functions

 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
void MakeZombie ()
 
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 Interface to ErrorHandler (protected). More...
 

Protected Attributes

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

#include <TBuffer.h>

+ Inheritance diagram for TBuffer:
+ Collaboration diagram for TBuffer:

Member Typedef Documentation

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

Definition at line 43 of file TBuffer.h.

Member Enumeration Documentation

anonymous enum
Enumerator
kIsOwner 

Definition at line 71 of file TBuffer.h.

anonymous enum
Enumerator
kCannotHandleMemberWiseStreaming 

Definition at line 72 of file TBuffer.h.

anonymous enum
Enumerator
kInitialSize 
kMinimalSize 

Definition at line 73 of file TBuffer.h.

Enumerator
kRead 
kWrite 

Definition at line 70 of file TBuffer.h.

Constructor & Destructor Documentation

TBuffer::TBuffer ( )
inlineprotected

Definition at line 56 of file TBuffer.h.

TBuffer::TBuffer ( const TBuffer )
protected
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 38 of file TBuffer.cxx.

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

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

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

TBuffer::~TBuffer ( )
virtual

Delete an I/O buffer object.

Definition at line 122 of file TBuffer.cxx.

Member Function Documentation

virtual Int_t TBuffer::ApplySequence ( const TStreamerInfoActions::TActionSequence sequence,
void object 
)
pure virtual
virtual Int_t TBuffer::ApplySequence ( const TStreamerInfoActions::TActionSequence sequence,
void start_collection,
void end_collection 
)
pure virtual
virtual Int_t TBuffer::ApplySequenceVecPtr ( const TStreamerInfoActions::TActionSequence sequence,
void start_collection,
void end_collection 
)
pure virtual
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 140 of file TBuffer.cxx.

Referenced by TBufferFile::WriteArray(), TBufferFile::WriteArrayDouble32(), TBufferFile::WriteArrayFloat16(), TBufferFile::WriteBool(), TBufferFile::WriteBuf(), TBufferFile::WriteChar(), TBufferFile::WriteDouble(), TBufferFile::WriteFastArray(), TBufferFile::WriteFastArrayDouble32(), TBufferFile::WriteFastArrayFloat16(), TBufferFile::WriteFastArrayString(), TBufferFile::WriteFloat(), TBufferFile::WriteInt(), TBufferFile::WriteLong(), TBufferFile::WriteLong64(), TBufferFile::WriteShort(), TBufferFile::WriteUChar(), TBufferFile::WriteUInt(), TBufferFile::WriteULong(), TBufferFile::WriteULong64(), and TBufferFile::WriteUShort().

char* TBuffer::Buffer ( ) const
inline
Int_t TBuffer::BufferSize ( ) const
inline
virtual Int_t TBuffer::CheckByteCount ( UInt_t  startpos,
UInt_t  bcnt,
const TClass clss 
)
pure virtual
virtual Int_t TBuffer::CheckByteCount ( UInt_t  startpos,
UInt_t  bcnt,
const char *  classname 
)
pure virtual
virtual Bool_t TBuffer::CheckObject ( const TObject obj)
pure virtual

Implemented in TBufferJSON, and TBufferFile.

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

Implemented in TBufferJSON, and TBufferFile.

virtual void TBuffer::ClassBegin ( const TClass ,
Version_t  = -1 
)
pure virtual
virtual void TBuffer::ClassEnd ( const TClass )
pure virtual
virtual void TBuffer::ClassMember ( const char *  ,
const char *  = 0,
Int_t  = -1,
Int_t  = -1 
)
pure virtual
virtual void TBuffer::DecrementLevel ( TVirtualStreamerInfo )
pure virtual
void TBuffer::DetachBuffer ( )
inline

Definition at line 93 of file TBuffer.h.

Referenced by TMapFile::Get(), and TMapFile::Update().

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

Referenced by TBasket::AdjustSize(), AutoExpand(), TTree::GetTransientBuffer(), TBasket::LoadBasketBuffers(), R__InitializeReadBasketBuffer(), TBasket::Reset(), SetBuffer(), TBuffer(), and TBufferXML::XmlReadBlock().

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

Implemented in TBufferJSON, and TBufferFile.

virtual Int_t TBuffer::GetBufferDisplacement ( ) const
pure virtual
Int_t TBuffer::GetBufferVersion ( ) const
inline

Definition at line 80 of file TBuffer.h.

Referenced by TConvertClonesArrayToProxy::operator()().

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

Forward to TROOT::GetClass().

Definition at line 295 of file TBuffer.cxx.

Referenced by TTree::Branch(), TDirectoryFile::GetObject(), operator<<(), and operator>>().

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

Forward to TROOT::GetClass().

Definition at line 303 of file TBuffer.cxx.

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

Implemented in TBufferJSON, and TBufferFile.

Referenced by TRefTable::ReadBuffer().

virtual Int_t TBuffer::GetMapCount ( ) const
pure virtual
virtual void TBuffer::GetMappedObject ( UInt_t  tag,
void *&  ptr,
TClass *&  ClassPtr 
) const
pure virtual
TObject * TBuffer::GetParent ( ) const
virtual UShort_t TBuffer::GetPidOffset ( ) const
pure virtual
ReAllocCharFun_t TBuffer::GetReAllocFunc ( ) const

Return the reallocation method currently used.

Definition at line 244 of file TBuffer.cxx.

virtual UInt_t TBuffer::GetTRefExecId ( )
pure virtual

Implemented in TBufferJSON, and TBufferFile.

virtual Int_t TBuffer::GetVersionOwner ( ) const
pure virtual

Implemented in TBufferJSON, and TBufferFile.

virtual void TBuffer::IncrementLevel ( TVirtualStreamerInfo info)
pure virtual
virtual void TBuffer::InitMap ( )
pure virtual
Bool_t TBuffer::IsReading ( ) const
inline
Bool_t TBuffer::IsWriting ( ) const
inline
Int_t TBuffer::Length ( ) const
inline

Definition at line 94 of file TBuffer.h.

Referenced by TProofServ::AcceptResults(), TMessage::Compress(), Expand(), TBranch::Fill(), TTree::Fill(), TBranch::FillEntryBuffer(), TBranch::GetEntry(), TBranch::GetEntryExport(), TPacketizerFile::GetNextPacket(), TPacketizerUnit::GetNextPacket(), TPacketizer::GetNextPacket(), TPacketizerAdaptive::GetNextPacket(), TBranch::GetTotalSize(), TProofServ::HandleCache(), TProofServ::HandleCheckFile(), TProof::HandleInputMessage(), TProofServ::HandleLibIncPath(), TGListTree::HandleMotion(), TProofServ::HandleProcess(), TProofServ::HandleSocketInput(), TClass::Load(), TBasket::MoveEntries(), MPSend(), TConvertClonesArrayToProxy::operator()(), TXSocket::PostMsg(), TTree::Print(), TStreamerInfoActions::TConfiguration::PrintDebug(), TRootSniffer::ProduceBinary(), TRootSniffer::ProduceExe(), TAuthenticate::ProofAuthSetup(), TArray::ReadArray(), TBasket::ReadBasketBuffers(), TStreamerInfo::ReadBuffer(), TBufferFile::ReadClassBuffer(), TBranchElement::ReadLeavesClones(), TBranchElement::ReadLeavesCollection(), TBranchElement::ReadLeavesMakeClass(), TString::ReadString(), TBasket::Reset(), TPSocket::Send(), TUDPSocket::Send(), TSocket::Send(), TXSocket::Send(), TProofServ::SendResults(), TBufferFile::SetBufferDisplacement(), TGFileItem::SetDNDObject(), TMessage::SetLength(), TBasket::SetReadMode(), TTable::StreamerHeader(), TBasket::TBasket(), TKey::TKey(), TMapFile::Update(), TStreamerInfoActions::UseCache(), TStreamerInfoActions::UseCacheGenericCollection(), TStreamerInfoActions::UseCacheVectorLoop(), TStreamerInfoActions::UseCacheVectorPtrLoop(), TPacketizer::ValidateFiles(), TPacketizerAdaptive::ValidateFiles(), TArray::WriteArray(), TBasket::WriteBuffer(), TStreamerInfo::WriteBufferAux(), TString::WriteString(), TBufferXML::XmlReadBlock(), and TBufferXML::XmlWriteBlock().

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

Implemented in TBufferJSON, and TBufferFile.

void TBuffer::operator= ( const TBuffer )
protected
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 338 of file TBuffer.cxx.

Referenced by PopDataCache(), TStreamerInfoActions::UseCache(), TStreamerInfoActions::UseCacheGenericCollection(), TStreamerInfoActions::UseCacheVectorLoop(), and TStreamerInfoActions::UseCacheVectorPtrLoop().

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

Referenced by ClassImp().

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

Referenced by ClassImp().

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

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 63 of file TBuffer.h.

virtual Int_t TBuffer::ReadArray ( Bool_t *&  b)
pure virtual
virtual Int_t TBuffer::ReadArray ( Char_t *&  c)
pure virtual
virtual Int_t TBuffer::ReadArray ( UChar_t *&  c)
pure virtual
virtual Int_t TBuffer::ReadArray ( Short_t *&  h)
pure virtual
virtual Int_t TBuffer::ReadArray ( UShort_t *&  h)
pure virtual
virtual Int_t TBuffer::ReadArray ( Int_t *&  i)
pure virtual
virtual Int_t TBuffer::ReadArray ( UInt_t *&  i)
pure virtual
virtual Int_t TBuffer::ReadArray ( Long_t *&  l)
pure virtual
virtual Int_t TBuffer::ReadArray ( ULong_t *&  l)
pure virtual
virtual Int_t TBuffer::ReadArray ( Long64_t *&  l)
pure virtual
virtual Int_t TBuffer::ReadArray ( ULong64_t *&  l)
pure virtual
virtual Int_t TBuffer::ReadArray ( Float_t *&  f)
pure virtual
virtual Int_t TBuffer::ReadArray ( Double_t *&  d)
pure virtual
virtual Int_t TBuffer::ReadArrayDouble32 ( Double_t *&  d,
TStreamerElement ele = 0 
)
pure virtual
virtual Int_t TBuffer::ReadArrayFloat16 ( Float_t *&  f,
TStreamerElement ele = 0 
)
pure virtual
virtual void TBuffer::ReadBool ( Bool_t b)
pure virtual
virtual Int_t TBuffer::ReadBuf ( void buf,
Int_t  max 
)
pure virtual

Implemented in TBufferJSON, and TBufferFile.

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

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

Referenced by operator>>().

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

Implemented in TBufferJSON, and TBufferFile.

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

Implemented in TBufferJSON, and TBufferFile.

Referenced by TClass::StreamerTObjectEmulated().

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

Implemented in TBufferJSON, and TBufferFile.

virtual void TBuffer::ReadDouble ( Double_t d)
pure virtual
virtual void TBuffer::ReadDouble32 ( Double_t d,
TStreamerElement ele = 0 
)
pure virtual
virtual void TBuffer::ReadFastArray ( Bool_t b,
Int_t  n 
)
pure virtual
virtual void TBuffer::ReadFastArray ( Char_t c,
Int_t  n 
)
pure virtual
virtual void TBuffer::ReadFastArray ( UChar_t c,
Int_t  n 
)
pure virtual
virtual void TBuffer::ReadFastArray ( Short_t h,
Int_t  n 
)
pure virtual
virtual void TBuffer::ReadFastArray ( UShort_t h,
Int_t  n 
)
pure virtual
virtual void TBuffer::ReadFastArray ( Int_t i,
Int_t  n 
)
pure virtual
virtual void TBuffer::ReadFastArray ( UInt_t i,
Int_t  n 
)
pure virtual
virtual void TBuffer::ReadFastArray ( Long_t l,
Int_t  n 
)
pure virtual
virtual void TBuffer::ReadFastArray ( ULong_t l,
Int_t  n 
)
pure virtual
virtual void TBuffer::ReadFastArray ( Long64_t l,
Int_t  n 
)
pure virtual
virtual void TBuffer::ReadFastArray ( ULong64_t l,
Int_t  n 
)
pure virtual
virtual void TBuffer::ReadFastArray ( Float_t f,
Int_t  n 
)
pure virtual
virtual void TBuffer::ReadFastArray ( Double_t d,
Int_t  n 
)
pure virtual
virtual void TBuffer::ReadFastArray ( void start,
const TClass cl,
Int_t  n = 1,
TMemberStreamer s = 0,
const TClass onFileClass = 0 
)
pure virtual
virtual void TBuffer::ReadFastArray ( void **  startp,
const TClass cl,
Int_t  n = 1,
Bool_t  isPreAlloc = kFALSE,
TMemberStreamer s = 0,
const TClass onFileClass = 0 
)
pure virtual
virtual void TBuffer::ReadFastArrayDouble32 ( Double_t d,
Int_t  n,
TStreamerElement ele = 0 
)
pure virtual
virtual void TBuffer::ReadFastArrayFloat16 ( Float_t f,
Int_t  n,
TStreamerElement ele = 0 
)
pure virtual
virtual void TBuffer::ReadFastArrayString ( Char_t c,
Int_t  n 
)
pure virtual

Implemented in TBufferFile, TBufferJSON, and TBufferSQL.

Referenced by TLeafC::ReadBasket().

virtual void TBuffer::ReadFastArrayWithFactor ( Float_t ptr,
Int_t  n,
Double_t  factor,
Double_t  minvalue 
)
pure virtual
virtual void TBuffer::ReadFastArrayWithFactor ( Double_t ptr,
Int_t  n,
Double_t  factor,
Double_t  minvalue 
)
pure virtual
virtual void TBuffer::ReadFastArrayWithNbits ( Float_t ptr,
Int_t  n,
Int_t  nbits 
)
pure virtual
virtual void TBuffer::ReadFastArrayWithNbits ( Double_t ptr,
Int_t  n,
Int_t  nbits 
)
pure virtual
virtual void TBuffer::ReadFloat ( Float_t f)
pure virtual
virtual void TBuffer::ReadFloat16 ( Float_t f,
TStreamerElement ele = 0 
)
pure virtual
virtual void TBuffer::ReadInt ( Int_t i)
pure virtual
virtual void TBuffer::ReadLong ( Long_t l)
pure virtual

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

Referenced by operator>>().

virtual void TBuffer::ReadLong64 ( Long64_t l)
pure virtual
virtual TObject* TBuffer::ReadObject ( const TClass cl)
pure virtual

Implemented in TBufferJSON, and TBufferFile.

virtual void* TBuffer::ReadObjectAny ( const TClass cast)
pure virtual
TProcessID * TBuffer::ReadProcessID ( UShort_t  pidf)
pure virtual

Return the current Process-ID.

Implemented in TBufferJSON, and TBufferFile.

Definition at line 311 of file TBuffer.cxx.

Referenced by TStreamerInfoActions::HandleReferencedTObject(), TStreamerInfo::ReadBuffer(), and TStreamerInfo::ReadBufferConv().

virtual void TBuffer::ReadShort ( Short_t s)
pure virtual
virtual Int_t TBuffer::ReadStaticArray ( Bool_t b)
pure virtual
virtual Int_t TBuffer::ReadStaticArray ( Char_t c)
pure virtual
virtual Int_t TBuffer::ReadStaticArray ( UChar_t c)
pure virtual
virtual Int_t TBuffer::ReadStaticArray ( Short_t h)
pure virtual
virtual Int_t TBuffer::ReadStaticArray ( UShort_t h)
pure virtual
virtual Int_t TBuffer::ReadStaticArray ( Int_t i)
pure virtual
virtual Int_t TBuffer::ReadStaticArray ( UInt_t i)
pure virtual
virtual Int_t TBuffer::ReadStaticArray ( Long_t l)
pure virtual
virtual Int_t TBuffer::ReadStaticArray ( ULong_t l)
pure virtual
virtual Int_t TBuffer::ReadStaticArray ( Long64_t l)
pure virtual
virtual Int_t TBuffer::ReadStaticArray ( ULong64_t l)
pure virtual
virtual Int_t TBuffer::ReadStaticArray ( Float_t f)
pure virtual
virtual Int_t TBuffer::ReadStaticArray ( Double_t d)
pure virtual
virtual Int_t TBuffer::ReadStaticArrayDouble32 ( Double_t d,
TStreamerElement ele = 0 
)
pure virtual
virtual Int_t TBuffer::ReadStaticArrayFloat16 ( Float_t f,
TStreamerElement ele = 0 
)
pure virtual
virtual void TBuffer::ReadStdString ( std::string &  s)
pure virtual
virtual char* TBuffer::ReadString ( char *  s,
Int_t  max 
)
pure virtual

Implemented in TBufferJSON, and TBufferFile.

Referenced by TBranch::FillEntryBuffer(), and TClass::Load().

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

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

Referenced by operator>>().

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

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

Referenced by operator>>().

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

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

Referenced by operator>>().

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

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

Referenced by operator>>().

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

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

Referenced by operator>>().

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

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

Referenced by operator>>().

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

Implemented in TBufferFile, and TBufferJSON.

virtual void TBuffer::ReadWithFactor ( Float_t ptr,
Double_t  factor,
Double_t  minvalue 
)
pure virtual
virtual void TBuffer::ReadWithFactor ( Double_t ptr,
Double_t  factor,
Double_t  minvalue 
)
pure virtual
virtual void TBuffer::ReadWithNbits ( Float_t ptr,
Int_t  nbits 
)
pure virtual
virtual void TBuffer::ReadWithNbits ( Double_t ptr,
Int_t  nbits 
)
pure virtual
virtual void TBuffer::Reset ( )
pure virtual
virtual void TBuffer::ResetMap ( )
pure virtual
void TBuffer::SetBuffer ( void buf,
UInt_t  newsiz = 0,
Bool_t  adopt = kTRUE,
ReAllocCharFun_t  reallocfunc = 0 
)

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

Referenced by MPRecv(), and TBasket::ReadBasketBuffersUnzip().

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

Implemented in TBufferJSON, and TBufferFile.

void TBuffer::SetBufferOffset ( Int_t  offset = 0)
inline
virtual void TBuffer::SetByteCount ( UInt_t  cntpos,
Bool_t  packInVersion = kFALSE 
)
pure virtual
void TBuffer::SetParent ( TObject parent)
virtual void TBuffer::SetPidOffset ( UShort_t  offset)
pure virtual
void TBuffer::SetReadMode ( )
virtual void TBuffer::SetReadParam ( Int_t  mapsize)
pure virtual

Implemented in TBufferJSON, and TBufferFile.

void TBuffer::SetReAllocFunc ( ReAllocCharFun_t  reallocfunc = 0)

Set which memory reallocation method to use.

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

Definition at line 253 of file TBuffer.cxx.

Referenced by SetBuffer(), and TBuffer().

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

Implemented in TBufferJSON, and TBufferFile.

virtual void TBuffer::SkipObjectAny ( )
pure virtual
virtual void TBuffer::SkipVersion ( const TClass cl = 0)
pure virtual
virtual void TBuffer::StreamObject ( void obj,
const type_info &  typeinfo,
const TClass onFileClass = 0 
)
pure virtual
virtual void TBuffer::StreamObject ( void obj,
const char *  className,
const TClass onFileClass = 0 
)
pure virtual
virtual void TBuffer::StreamObject ( void obj,
const TClass cl,
const TClass onFileClass = 0 
)
pure virtual
virtual void TBuffer::StreamObject ( TObject obj)
pure virtual
virtual void TBuffer::TagStreamerInfo ( TVirtualStreamerInfo info)
pure virtual

Implemented in TBufferJSON, TBufferFile, and TMessage.

Referenced by TStreamerInfo::WriteBufferAux().

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

Write this object to the current directory.

For more see the const version of this method.

Reimplemented from TObject.

Definition at line 64 of file TBuffer.h.

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

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. 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 66 of file TBuffer.h.

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

Implemented in TBufferSQL2, TBufferFile, TBufferXML, and TBufferJSON.

Referenced by TBasket::WriteBuffer().

virtual void TBuffer::WriteArray ( const Char_t c,
Int_t  n 
)
pure virtual
virtual void TBuffer::WriteArray ( const UChar_t c,
Int_t  n 
)
pure virtual
virtual void TBuffer::WriteArray ( const Short_t h,
Int_t  n 
)
pure virtual
virtual void TBuffer::WriteArray ( const UShort_t h,
Int_t  n 
)
pure virtual
virtual void TBuffer::WriteArray ( const Int_t i,
Int_t  n 
)
pure virtual
virtual void TBuffer::WriteArray ( const UInt_t i,
Int_t  n 
)
pure virtual
virtual void TBuffer::WriteArray ( const Long_t l,
Int_t  n 
)
pure virtual
virtual void TBuffer::WriteArray ( const ULong_t l,
Int_t  n 
)
pure virtual
virtual void TBuffer::WriteArray ( const Long64_t l,
Int_t  n 
)
pure virtual
virtual void TBuffer::WriteArray ( const ULong64_t l,
Int_t  n 
)
pure virtual
virtual void TBuffer::WriteArray ( const Float_t f,
Int_t  n 
)
pure virtual
virtual void TBuffer::WriteArray ( const Double_t d,
Int_t  n 
)
pure virtual
virtual void TBuffer::WriteArrayDouble32 ( const Double_t d,
Int_t  n,
TStreamerElement ele = 0 
)
pure virtual
virtual void TBuffer::WriteArrayFloat16 ( const Float_t f,
Int_t  n,
TStreamerElement ele = 0 
)
pure virtual
virtual void TBuffer::WriteBool ( Bool_t  b)
pure virtual

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

Referenced by operator<<().

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

Implemented in TBufferJSON, and TBufferFile.

Referenced by TBranch::FillEntryBuffer().

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

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

Referenced by operator<<().

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

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

Referenced by operator<<().

virtual void TBuffer::WriteClass ( const TClass cl)
pure virtual
virtual Int_t TBuffer::WriteClassBuffer ( const TClass cl,
void pointer 
)
pure virtual
virtual Int_t TBuffer::WriteClones ( TClonesArray a,
Int_t  nobjects 
)
pure virtual

Implemented in TBufferFile, and TBufferJSON.

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

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

Referenced by operator<<().

virtual void TBuffer::WriteDouble32 ( Double_t d,
TStreamerElement ele = 0 
)
pure virtual
virtual void TBuffer::WriteFastArray ( const Bool_t b,
Int_t  n 
)
pure virtual
virtual void TBuffer::WriteFastArray ( const Char_t c,
Int_t  n 
)
pure virtual
virtual void TBuffer::WriteFastArray ( const UChar_t c,
Int_t  n 
)
pure virtual
virtual void TBuffer::WriteFastArray ( const Short_t h,
Int_t  n 
)
pure virtual
virtual void TBuffer::WriteFastArray ( const UShort_t h,
Int_t  n 
)
pure virtual
virtual void TBuffer::WriteFastArray ( const Int_t i,
Int_t  n 
)
pure virtual
virtual void TBuffer::WriteFastArray ( const UInt_t i,
Int_t  n 
)
pure virtual
virtual void TBuffer::WriteFastArray ( const Long_t l,
Int_t  n 
)
pure virtual
virtual void TBuffer::WriteFastArray ( const ULong_t l,
Int_t  n 
)
pure virtual
virtual void TBuffer::WriteFastArray ( const Long64_t l,
Int_t  n 
)
pure virtual
virtual void TBuffer::WriteFastArray ( const ULong64_t l,
Int_t  n 
)
pure virtual
virtual void TBuffer::WriteFastArray ( const Float_t f,
Int_t  n 
)
pure virtual
virtual void TBuffer::WriteFastArray ( const Double_t d,
Int_t  n 
)
pure virtual
virtual void TBuffer::WriteFastArray ( void start,
const TClass cl,
Int_t  n = 1,
TMemberStreamer s = 0 
)
pure virtual
virtual Int_t TBuffer::WriteFastArray ( void **  startp,
const TClass cl,
Int_t  n = 1,
Bool_t  isPreAlloc = kFALSE,
TMemberStreamer s = 0 
)
pure virtual
virtual void TBuffer::WriteFastArrayDouble32 ( const Double_t d,
Int_t  n,
TStreamerElement ele = 0 
)
pure virtual
virtual void TBuffer::WriteFastArrayFloat16 ( const Float_t f,
Int_t  n,
TStreamerElement ele = 0 
)
pure virtual
virtual void TBuffer::WriteFastArrayString ( const Char_t c,
Int_t  n 
)
pure virtual

Implemented in TBufferFile, TBufferJSON, and TBufferSQL.

Referenced by TLeafC::FillBasket().

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

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

Referenced by operator<<().

virtual void TBuffer::WriteFloat16 ( Float_t f,
TStreamerElement ele = 0 
)
pure virtual
virtual void TBuffer::WriteInt ( Int_t  i)
pure virtual

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

Referenced by operator<<().

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

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

Referenced by operator<<().

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

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

Referenced by operator<<().

virtual void TBuffer::WriteObject ( const TObject obj)
pure virtual
virtual Int_t TBuffer::WriteObjectAny ( const void obj,
const TClass ptrClass 
)
pure virtual
UShort_t TBuffer::WriteProcessID ( TProcessID pid)
pure virtual

Always return 0 (current processID).

Implemented in TBufferJSON, TBufferFile, and TMessage.

Definition at line 320 of file TBuffer.cxx.

Referenced by TStreamerInfo::WriteBufferAux().

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

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

Referenced by operator<<().

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

Implemented in TBufferJSON, and TBufferFile.

Referenced by TClass::Store().

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

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

Referenced by operator<<().

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

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

Referenced by operator<<().

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

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

Referenced by operator<<().

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

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

Referenced by operator<<().

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

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

Referenced by operator<<().

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

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

Referenced by operator<<().

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

Implemented in TBufferJSON, and TBufferFile.

Referenced by TStreamerInfo::WriteBufferAux().

Member Data Documentation

char* TBuffer::fBufCur
protected

Definition at line 49 of file TBuffer.h.

Referenced by TBufferFile::CheckByteCount(), TBufferFile::CheckObject(), TMessage::Compress(), Expand(), TMessage::Forward(), TBufferFile::ReadArray(), TBufferFile::ReadBool(), TBufferFile::ReadBuf(), TBufferFile::ReadChar(), TBufferFile::ReadClass(), TBufferFile::ReadDouble(), TBufferFile::ReadFastArray(), TBufferFile::ReadFastArrayString(), TBufferFile::ReadFloat(), TBufferFile::ReadInt(), TBufferFile::ReadLong(), TBufferFile::ReadLong64(), TBufferFile::ReadObjectAny(), TBufferFile::ReadShort(), TBufferFile::ReadStaticArray(), TBufferFile::ReadVersion(), TBufferFile::ReadVersionForMemberWise(), TBufferFile::ReadVersionNoCheckSum(), TBufferFile::ReadWithFactor(), TBufferFile::ReadWithNbits(), SetBuffer(), TBufferFile::SetByteCount(), TBufferFile::SkipVersion(), TBuffer(), TMessage::TMessage(), TMessage::Uncompress(), TBufferFile::WriteArray(), TBufferFile::WriteArrayDouble32(), TBufferFile::WriteArrayFloat16(), TBufferFile::WriteBool(), TBufferFile::WriteBuf(), TBufferFile::WriteChar(), TBufferFile::WriteClass(), TBufferFile::WriteClassBuffer(), TBufferFile::WriteDouble(), TBufferFile::WriteFastArray(), TBufferFile::WriteFastArrayDouble32(), TBufferFile::WriteFastArrayFloat16(), TBufferFile::WriteFastArrayString(), TBufferFile::WriteFloat(), TBufferFile::WriteInt(), TBufferFile::WriteLong(), TBufferFile::WriteLong64(), TBufferFile::WriteObjectClass(), TBufferFile::WriteShort(), TBufferFile::WriteUChar(), TBufferFile::WriteUInt(), TBufferFile::WriteULong(), TBufferFile::WriteULong64(), TBufferFile::WriteUShort(), TBufferFile::WriteVersion(), and TBufferFile::WriteVersionMemberWise().

char* TBuffer::fBuffer
protected
char* TBuffer::fBufMax
protected
Int_t TBuffer::fBufSize
protected
CacheList_t TBuffer::fCacheStack
protected

Realloc function to be used when extending the buffer.

Definition at line 53 of file TBuffer.h.

Referenced by PeekDataCache(), PopDataCache(), and PushDataCache().

Bool_t TBuffer::fMode
protected

Definition at line 45 of file TBuffer.h.

Referenced by Expand(), SetBuffer(), SetReadMode(), SetWriteMode(), and TBuffer().

TObject* TBuffer::fParent
protected
ReAllocCharFun_t TBuffer::fReAllocFunc
protected

Definition at line 52 of file TBuffer.h.

Referenced by Expand(), GetReAllocFunc(), and SetReAllocFunc().

Int_t TBuffer::fVersion
protected

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