Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TBufferXML Class Referencefinal

Class for serializing/deserializing object to/from xml.

The simple way to create XML representation is:

TNamed *obj = new TNamed("name", "title");
static TString ToXML(const T *obj, Bool_t GenericLayout=kFALSE, Bool_t UseNamespaces=kFALSE)
Definition TBufferXML.h:47
The TNamed class is the base class for all named ROOT classes.
Definition TNamed.h:29
Basic string class.
Definition TString.h:139

Produced xml can be decoded into new object:

TNamed *obj2 = nullptr;
static Bool_t FromXML(T *&obj, const char *xml, Bool_t GenericLayout=kFALSE, Bool_t UseNamespaces=kFALSE)
Definition TBufferXML.h:57

TBufferXML class uses streaming mechanism, provided by ROOT system, therefore most of ROOT and user classes can be stored to xml. There are limitations for complex objects like TTree, which can not be converted to xml.

Definition at line 33 of file TBufferXML.h.

Public Member Functions

 TBufferXML (TBuffer::EMode mode)
 Creates buffer object to serialize/deserialize data to/from xml.
 
 TBufferXML (TBuffer::EMode mode, TXMLFile *file)
 Creates buffer object to serialize/deserialize data to/from xml.
 
 ~TBufferXML () override
 Destroy xml buffer.
 
void ClassBegin (const TClass *, Version_t=-1) final
 Should be called at the beginning of custom class streamer.
 
void ClassEnd (const TClass *) final
 Should be called at the end of custom streamer See TBufferXML::ClassBegin for more details.
 
void ClassMember (const char *name, const char *typeName=nullptr, Int_t arrsize1=-1, Int_t arrsize2=-1) final
 Method indicates name and typename of class member, which should be now streamed in custom streamer.
 
void DecrementLevel (TVirtualStreamerInfo *) final
 Function is called from TStreamerInfo WriteBuffer and ReadBuffer functions and decrease level in xml structure.
 
TVirtualStreamerInfoGetInfo () final
 Return current streamer info element.
 
Int_t GetIOVersion () const
 
void IncrementLevel (TVirtualStreamerInfo *) final
 Function is called from TStreamerInfo WriteBuffer and ReadBuffer functions and indent new level in xml structure.
 
TClassIsA () const override
 
Int_t ReadArray (Bool_t *&b) final
 Read array of Bool_t from buffer.
 
Int_t ReadArray (Char_t *&c) final
 Read array of Char_t from buffer.
 
Int_t ReadArray (Double_t *&d) final
 Read array of Double_t from buffer.
 
Int_t ReadArray (Float_t *&f) final
 Read array of Float_t from buffer.
 
Int_t ReadArray (Int_t *&i) final
 Read array of Int_t from buffer.
 
Int_t ReadArray (Long64_t *&l) final
 Read array of Long64_t from buffer.
 
Int_t ReadArray (Long_t *&l) final
 Read array of Long_t from buffer.
 
Int_t ReadArray (Short_t *&h) final
 Read array of Short_t from buffer.
 
Int_t ReadArray (UChar_t *&c) final
 Read array of UChar_t from buffer.
 
Int_t ReadArray (UInt_t *&i) final
 Read array of UInt_t from buffer.
 
Int_t ReadArray (ULong64_t *&l) final
 Read array of ULong64_t from buffer.
 
Int_t ReadArray (ULong_t *&l) final
 Read array of ULong_t from buffer.
 
Int_t ReadArray (UShort_t *&h) final
 Read array of UShort_t from buffer.
 
void ReadBool (Bool_t &b) final
 Reads Bool_t value from buffer.
 
void ReadChar (Char_t &c) final
 Reads Char_t value from buffer.
 
void ReadCharP (Char_t *c) final
 Reads array of characters from buffer.
 
void ReadCharStar (char *&s) final
 Read a char* string.
 
TClassReadClass (const TClass *cl=nullptr, UInt_t *objTag=nullptr) final
 Function to read class from buffer, used in old-style streamers.
 
void ReadDouble (Double_t &d) final
 Reads Double_t value from buffer.
 
void ReadFastArray (Bool_t *b, Int_t n) final
 Read array of Bool_t from buffer.
 
void ReadFastArray (Char_t *c, Int_t n) final
 Read array of Char_t from buffer if nodename==CharStar, read all array as string.
 
void ReadFastArray (Double_t *d, Int_t n) final
 Read array of Double_t from buffer.
 
void ReadFastArray (Float_t *f, Int_t n) final
 Read array of Float_t from buffer.
 
void ReadFastArray (Int_t *i, Int_t n) final
 Read array of Int_t from buffer.
 
void ReadFastArray (Long64_t *l, Int_t n) final
 Read array of Long64_t from buffer.
 
void ReadFastArray (Long_t *l, Int_t n) final
 Read array of Long_t from buffer.
 
void ReadFastArray (Short_t *h, Int_t n) final
 Read array of Short_t from buffer.
 
void ReadFastArray (UChar_t *c, Int_t n) final
 Read array of UChar_t from buffer.
 
void ReadFastArray (UInt_t *i, Int_t n) final
 Read array of UInt_t from buffer.
 
void ReadFastArray (ULong64_t *l, Int_t n) final
 Read array of ULong64_t from buffer.
 
void ReadFastArray (ULong_t *l, Int_t n) final
 Read array of ULong_t from buffer.
 
void ReadFastArray (UShort_t *h, Int_t n) final
 Read array of UShort_t from buffer.
 
void ReadFastArray (void **startp, const TClass *cl, Int_t n=1, Bool_t isPreAlloc=kFALSE, TMemberStreamer *s=nullptr, const TClass *onFileClass=nullptr) final
 Read an array of 'n' objects from the I/O buffer.
 
void ReadFastArray (void *start, const TClass *cl, Int_t n=1, TMemberStreamer *s=nullptr, const TClass *onFileClass=nullptr) final
 Read an array of 'n' objects from the I/O buffer.
 
void ReadFastArrayString (Char_t *c, Int_t n) final
 Read array of n characters from the I/O buffer.
 
void ReadFloat (Float_t &f) final
 Reads Float_t value from buffer.
 
void ReadInt (Int_t &i) final
 Reads Int_t value from buffer.
 
void ReadLong (Long_t &l) final
 Reads Long_t value from buffer.
 
void ReadLong64 (Long64_t &l) final
 Reads Long64_t value from buffer.
 
void * ReadObjectAny (const TClass *clCast) final
 Read object from buffer. Only used from TBuffer.
 
void ReadShort (Short_t &s) final
 Reads Short_t value from buffer.
 
Int_t ReadStaticArray (Bool_t *b) final
 Read array of Bool_t from buffer.
 
Int_t ReadStaticArray (Char_t *c) final
 Read array of Char_t from buffer.
 
Int_t ReadStaticArray (Double_t *d) final
 Read array of Double_t from buffer.
 
Int_t ReadStaticArray (Float_t *f) final
 Read array of Float_t from buffer.
 
Int_t ReadStaticArray (Int_t *i) final
 Read array of Int_t from buffer.
 
Int_t ReadStaticArray (Long64_t *l) final
 Read array of Long64_t from buffer.
 
Int_t ReadStaticArray (Long_t *l) final
 Read array of Long_t from buffer.
 
Int_t ReadStaticArray (Short_t *h) final
 Read array of Short_t from buffer.
 
Int_t ReadStaticArray (UChar_t *c) final
 Read array of UChar_t from buffer.
 
Int_t ReadStaticArray (UInt_t *i) final
 Read array of UInt_t from buffer.
 
Int_t ReadStaticArray (ULong64_t *l) final
 Read array of ULong64_t from buffer.
 
Int_t ReadStaticArray (ULong_t *l) final
 Read array of ULong_t from buffer.
 
Int_t ReadStaticArray (UShort_t *h) final
 Read array of UShort_t from buffer.
 
virtual void ReadStdString (std::string &s)
 
void ReadStdString (std::string *s) final
 Reads a std::string.
 
virtual void ReadStdString (std::string *s)=0
 
void ReadTString (TString &s) final
 Reads a TString.
 
void ReadUChar (UChar_t &c) final
 Reads UChar_t value from buffer.
 
void ReadUInt (UInt_t &i) final
 Reads UInt_t value from buffer.
 
void ReadULong (ULong_t &l) final
 Reads ULong_t value from buffer.
 
void ReadULong64 (ULong64_t &l) final
 Reads ULong64_t value from buffer.
 
void ReadUShort (UShort_t &s) final
 Reads UShort_t value from buffer.
 
Version_t ReadVersion (UInt_t *start=nullptr, UInt_t *bcnt=nullptr, const TClass *cl=nullptr) final
 Read version value from buffer.
 
void SetIOVersion (Int_t v)
 
void SetStreamerElementNumber (TStreamerElement *elem, Int_t comp_type) final
 Function is called from TStreamerInfo WriteBuffer and ReadBuffer functions and add/verify next element of xml structure This calls allows separate data, correspondent to one class member, from another.
 
void SkipObjectAny () final
 Skip any kind of object from buffer Actually skip only one node on current level of xml structure.
 
void Streamer (TBuffer &) override
 Stream an object of class TObject.
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
void StreamObject (TObject *obj) override
 
virtual void StreamObject (TObject *obj)=0
 
void StreamObject (void *obj, const char *className, const TClass *onFileClass=nullptr) override
 stream object to/from buffer
 
virtual void StreamObject (void *obj, const char *className, const TClass *onFileClass=nullptr)=0
 stream object to/from buffer
 
void StreamObject (void *obj, const std::type_info &typeinfo, const TClass *onFileClass=nullptr) override
 stream object to/from buffer
 
virtual void StreamObject (void *obj, const std::type_info &typeinfo, const TClass *onFileClass=nullptr)=0
 stream object to/from buffer
 
void StreamObject (void *obj, const TClass *cl, const TClass *onFileClass=nullptr) final
 Stream object to/from buffer.
 
virtual void StreamObject (void *obj, const TClass *cl, const TClass *onFileClass=nullptr)=0
 
void WriteArray (const Bool_t *b, Int_t n) final
 Write array of Bool_t to buffer.
 
void WriteArray (const Char_t *c, Int_t n) final
 Write array of Char_t to buffer.
 
void WriteArray (const Double_t *d, Int_t n) final
 Write array of Double_t to buffer.
 
void WriteArray (const Float_t *f, Int_t n) final
 Write array of Float_t to buffer.
 
void WriteArray (const Int_t *i, Int_t n) final
 Write array of Int_ to buffer.
 
void WriteArray (const Long64_t *l, Int_t n) final
 Write array of Long64_t to buffer.
 
void WriteArray (const Long_t *l, Int_t n) final
 Write array of Long_t to buffer.
 
void WriteArray (const Short_t *h, Int_t n) final
 Write array of Short_t to buffer.
 
void WriteArray (const UChar_t *c, Int_t n) final
 Write array of UChar_t to buffer.
 
void WriteArray (const UInt_t *i, Int_t n) final
 Write array of UInt_t to buffer.
 
void WriteArray (const ULong64_t *l, Int_t n) final
 Write array of ULong64_t to buffer.
 
void WriteArray (const ULong_t *l, Int_t n) final
 Write array of ULong_t to buffer.
 
void WriteArray (const UShort_t *h, Int_t n) final
 Write array of UShort_t to buffer.
 
void WriteBool (Bool_t b) final
 Writes Bool_t value to buffer.
 
void WriteChar (Char_t c) final
 Writes Char_t value to buffer.
 
void WriteCharP (const Char_t *c) final
 Writes array of characters to buffer.
 
void WriteCharStar (char *s) final
 Write a char* string.
 
void WriteClass (const TClass *cl) final
 Function to write class into buffer, used in old-style streamers.
 
void WriteDouble (Double_t d) final
 Writes Double_t value to buffer.
 
void WriteFastArray (const Bool_t *b, Long64_t n) final
 Write array of Bool_t to buffer.
 
void WriteFastArray (const Char_t *c, Long64_t n) final
 Write array of Char_t to buffer If array does not include any special characters, it will be reproduced as CharStar node with string as attribute.
 
void WriteFastArray (const Double_t *d, Long64_t n) final
 Write array of Double_t to buffer.
 
void WriteFastArray (const Float_t *f, Long64_t n) final
 Write array of Float_t to buffer.
 
void WriteFastArray (const Int_t *i, Long64_t n) final
 Write array of Int_t to buffer.
 
void WriteFastArray (const Long64_t *l, Long64_t n) final
 Write array of Long64_t to buffer.
 
void WriteFastArray (const Long_t *l, Long64_t n) final
 Write array of Long_t to buffer.
 
void WriteFastArray (const Short_t *h, Long64_t n) final
 Write array of Short_t to buffer.
 
void WriteFastArray (const UChar_t *c, Long64_t n) final
 Write array of UChar_t to buffer.
 
void WriteFastArray (const UInt_t *i, Long64_t n) final
 Write array of UInt_t to buffer.
 
void WriteFastArray (const ULong64_t *l, Long64_t n) final
 Write array of ULong64_t to buffer.
 
void WriteFastArray (const ULong_t *l, Long64_t n) final
 Write array of ULong_t to buffer.
 
void WriteFastArray (const UShort_t *h, Long64_t n) final
 Write array of UShort_t to buffer.
 
Int_t WriteFastArray (void **startp, const TClass *cl, Long64_t n=1, Bool_t isPreAlloc=kFALSE, TMemberStreamer *s=nullptr) final
 Write an array of object starting at the address '*start' and of length 'n' the objects in the array are of class 'cl' 'isPreAlloc' indicates whether the data member is marked with '->' Return:
 
void WriteFastArray (void *start, const TClass *cl, Long64_t n=1, TMemberStreamer *s=nullptr) final
 Write an array of object starting at the address 'start' and of length 'n' the objects in the array are assumed to be of class 'cl'.
 
void WriteFastArrayString (const Char_t *c, Long64_t n) final
 Write array of n characters into the I/O buffer.
 
void WriteFloat (Float_t f) final
 Writes Float_t value to buffer.
 
void WriteInt (Int_t i) final
 Writes Int_t value to buffer.
 
void WriteLong (Long_t l) final
 Writes Long_t value to buffer.
 
void WriteLong64 (Long64_t l) final
 Writes Long64_t value to buffer.
 
void WriteShort (Short_t s) final
 Writes Short_t value to buffer.
 
void WriteStdString (const std::string *s) final
 Writes a std::string.
 
virtual void WriteStdString (const std::string *s)=0
 
virtual void WriteStdString (std::string &s)
 
void WriteTString (const TString &s) final
 Writes a TString.
 
void WriteUChar (UChar_t c) final
 Writes UChar_t value to buffer.
 
void WriteUInt (UInt_t i) final
 Writes UInt_t value to buffer.
 
void WriteULong (ULong_t l) final
 Writes ULong_t value to buffer.
 
void WriteULong64 (ULong64_t l) final
 Writes ULong64_t value to buffer.
 
void WriteUShort (UShort_t s) final
 Writes UShort_t value to buffer.
 
UInt_t WriteVersion (const TClass *cl, Bool_t useBcnt=kFALSE) final
 Copies class version to buffer, but not writes it to xml Version will be written with next I/O operation or will be added as attribute of class tag, created by IncrementLevel call.
 
- Public Member Functions inherited from TBufferText
 ~TBufferText () override
 destructor
 
Int_t ApplySequence (const TStreamerInfoActions::TActionSequence &sequence, void *object) final
 Read one collection of objects from the buffer using the StreamerInfoLoopAction.
 
Int_t ApplySequence (const TStreamerInfoActions::TActionSequence &sequence, void *start_collection, void *end_collection) final
 Read one collection of objects from the buffer using the StreamerInfoLoopAction.
 
Int_t ApplySequenceVecPtr (const TStreamerInfoActions::TActionSequence &sequence, void *start_collection, void *end_collection) final
 Read one collection of objects from the buffer using the StreamerInfoLoopAction.
 
Int_t CheckByteCount (UInt_t, UInt_t, const char *) final
 
Int_t CheckByteCount (UInt_t, UInt_t, const TClass *) final
 
Int_t ReadArrayDouble32 (Double_t *&d, TStreamerElement *ele=nullptr) override
 Read array of Double32_t from buffer.
 
Int_t ReadArrayFloat16 (Float_t *&f, TStreamerElement *ele=nullptr) override
 Read array of Float16_t from buffer.
 
virtual void ReadBaseClass (void *start, TStreamerBase *elem)
 Read data of base class.
 
Int_t ReadBuf (void *, Int_t) final
 
Int_t ReadClassBuffer (const TClass *, void *, const TClass *=nullptr) override
 Deserialize information from a buffer into an object.
 
Int_t ReadClassBuffer (const TClass *, void *, Int_t, UInt_t, UInt_t, const TClass *=nullptr) override
 Deserialize information from a buffer into an object.
 
Int_t ReadClassEmulated (const TClass *, void *, const TClass *=nullptr) final
 
void ReadDouble32 (Double_t *d, TStreamerElement *ele=nullptr) final
 read a Double32_t from the buffer
 
void ReadFastArrayDouble32 (Double_t *d, Int_t n, TStreamerElement *ele=nullptr) final
 read array of Double32_t from buffer
 
void ReadFastArrayFloat16 (Float_t *f, Int_t n, TStreamerElement *ele=nullptr) final
 read array of Float16_t from buffer
 
void ReadFastArrayWithFactor (Double_t *ptr, Int_t n, Double_t factor, Double_t minvalue) final
 read array of Double32_t from buffer
 
void ReadFastArrayWithFactor (Float_t *ptr, Int_t n, Double_t factor, Double_t minvalue) final
 read array of Float16_t from buffer
 
void ReadFastArrayWithNbits (Double_t *ptr, Int_t n, Int_t nbits) final
 read array of Double32_t from buffer
 
void ReadFastArrayWithNbits (Float_t *ptr, Int_t n, Int_t nbits) final
 read array of Float16_t from buffer
 
void ReadFloat16 (Float_t *f, TStreamerElement *ele=nullptr) final
 read a Float16_t from the buffer
 
TObjectReadObject (const TClass *) final
 
Int_t ReadStaticArrayDouble32 (Double_t *d, TStreamerElement *ele=nullptr) final
 Read array of Double32_t from buffer.
 
Int_t ReadStaticArrayFloat16 (Float_t *f, TStreamerElement *ele=nullptr) final
 Read array of Float16_t from buffer.
 
char * ReadString (char *, Int_t) final
 
Version_t ReadVersionForMemberWise (const TClass *=nullptr) final
 
Version_t ReadVersionNoCheckSum (UInt_t *, UInt_t *) final
 
void ReadWithFactor (Double_t *ptr, Double_t factor, Double_t minvalue) final
 Read a Double32_t from the buffer when the factor and minimun value have been specified see comments about Double32_t encoding at TBufferFile::WriteDouble32().
 
void ReadWithFactor (Float_t *ptr, Double_t factor, Double_t minvalue) final
 Read a Double32_t from the buffer when the factor and minimun value have been specified see comments about Double32_t encoding at TBufferFile::WriteDouble32().
 
void ReadWithNbits (Double_t *ptr, Int_t nbits) final
 Read a Double32_t from the buffer when the number of bits is specified (explicitly or not) see comments about Double32_t encoding at TBufferFile::WriteDouble32().
 
void ReadWithNbits (Float_t *ptr, Int_t nbits) final
 Read a Float16_t from the buffer when the number of bits is specified (explicitly or not) see comments about Float16_t encoding at TBufferFile::WriteFloat16().
 
void SetByteCount (UInt_t, Bool_t=kFALSE) final
 
void SkipVersion (const TClass *cl=nullptr) final
 Skip class version from I/O buffer.
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
void WriteArrayDouble32 (const Double_t *d, Int_t n, TStreamerElement *ele=nullptr) final
 Write array of Double32_t to buffer.
 
void WriteArrayFloat16 (const Float_t *f, Int_t n, TStreamerElement *ele=nullptr) final
 Write array of Float16_t to buffer.
 
virtual void WriteBaseClass (void *start, TStreamerBase *elem)
 Write data of base class.
 
void WriteBuf (const void *, Int_t) final
 
Int_t WriteClassBuffer (const TClass *cl, void *pointer) override
 Function called by the Streamer functions to serialize object at p to buffer b.
 
void WriteDouble32 (Double_t *d, TStreamerElement *ele=nullptr) final
 write a Double32_t to the buffer
 
void WriteFastArrayDouble32 (const Double_t *d, Long64_t n, TStreamerElement *ele=nullptr) final
 Write array of Double32_t to buffer.
 
void WriteFastArrayFloat16 (const Float_t *d, Long64_t n, TStreamerElement *ele=nullptr) final
 Write array of Float16_t to buffer.
 
void WriteFloat16 (Float_t *f, TStreamerElement *ele=nullptr) final
 write a Float16_t to the buffer
 
void WriteString (const char *) final
 
UInt_t WriteVersionMemberWise (const TClass *, Bool_t=kFALSE) final
 
- Public Member Functions inherited from TBufferIO
 ~TBufferIO () override
 destructor
 
Bool_t CheckObject (const TObject *obj) override
 Check if the specified object is already in the buffer.
 
Bool_t CheckObject (const void *obj, const TClass *ptrClass) override
 Check if the specified object of the specified class is already in the buffer.
 
void ForceWriteInfo (TVirtualStreamerInfo *info, Bool_t force) override
 force writing the TStreamerInfo to the file
 
void ForceWriteInfoClones (TClonesArray *a) override
 Make sure TStreamerInfo is not optimized, otherwise it will not be possible to support schema evolution in read mode.
 
Int_t GetBufferDisplacement () const override
 
TProcessIDGetLastProcessID (TRefTable *reftable) const override
 Return the last TProcessID in the file.
 
Int_t GetMapCount () const override
 
void GetMappedObject (UInt_t tag, void *&ptr, TClass *&ClassPtr) const override
 Retrieve the object stored in the buffer's object map at 'tag' Set ptr and ClassPtr respectively to the address of the object and a pointer to its TClass.
 
UShort_t GetPidOffset () const override
 
UInt_t GetTRefExecId () override
 Return the exec id stored in the current TStreamerInfo element.
 
Int_t GetVersionOwner () const override
 Return the version number of the owner file.
 
void InitMap () override
 Create the fMap container and initialize them with the null object.
 
void MapObject (const TObject *obj, UInt_t offset=1) override
 Add object to the fMap container.
 
void MapObject (const void *obj, const TClass *cl, UInt_t offset=1) override
 Add object to the fMap container.
 
Int_t ReadClones (TClonesArray *a, Int_t nobjects, Version_t objvers) override
 Interface to TStreamerInfo::ReadBufferClones.
 
TProcessIDReadProcessID (UShort_t pidf) override
 The TProcessID with number pidf is read from file.
 
void Reset () override
 Reset buffer object. Resets map and buffer offset.
 
void ResetMap () override
 Delete existing fMap and reset map counter.
 
void SetBufferDisplacement () override
 
void SetBufferDisplacement (Int_t skipped) override
 
void SetPidOffset (UShort_t offset) override
 This offset is used when a key (or basket) is transfered from one file to the other.
 
void SetReadParam (Int_t mapsize) override
 Set the initial size of the map used to store object and class references during reading.
 
void SetWriteParam (Int_t mapsize) override
 Set the initial size of the hashtable used to store object and class references during writing.
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
void TagStreamerInfo (TVirtualStreamerInfo *info) override
 Mark the classindex of the current file as using this TStreamerInfo.
 
Int_t WriteClones (TClonesArray *a, Int_t nobjects) override
 Interface to TStreamerInfo::WriteBufferClones.
 
template<class T >
Int_t WriteObject (const T *objptr, Bool_t cacheReuse=kTRUE)
 
virtual void WriteObject (const TObject *obj, Bool_t cacheReuse)=0
 
void WriteObject (const TObject *obj, Bool_t cacheReuse=kTRUE) override
 Write object to I/O buffer.
 
Int_t WriteObjectAny (const void *obj, const TClass *ptrClass, Bool_t cacheReuse=kTRUE) override
 Write object to I/O buffer.
 
UShort_t WriteProcessID (TProcessID *pid) override
 Check if the ProcessID pid is already in the file.
 
- Public Member Functions inherited from TBuffer
 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.
 
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.
 
void DetachBuffer ()
 
void Expand (Int_t newsize, Bool_t copy=kTRUE)
 Expand (or shrink) the I/O buffer to newsize bytes.
 
Int_t GetBufferVersion () const
 
char * GetCurrent () const
 
TObjectGetParent () const
 Return pointer to parent of this buffer.
 
ReAllocCharFun_t GetReAllocFunc () const
 Return the reallocation method currently used.
 
Bool_t IsReading () const
 
Bool_t IsWriting () const
 
Int_t Length () const
 
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.
 
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.
 
void SetBufferOffset (Int_t offset=0)
 
void SetParent (TObject *parent)
 Set parent owning this buffer.
 
void SetReadMode ()
 Set buffer in read mode.
 
void SetReAllocFunc (ReAllocCharFun_t reallocfunc=nullptr)
 Set which memory reallocation method to use.
 
void SetWriteMode ()
 Set buffer in write mode.
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
template<class T >
Int_t WriteObject (const T *objptr, Bool_t cacheReuse=kTRUE)
 
- 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 (the base implementation is no-op).
 
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.
 
- Public Member Functions inherited from TXMLSetup
 TXMLSetup ()=default
 
 TXMLSetup (const char *opt)
 creates TXMLSetup object getting values from string
 
 TXMLSetup (const TXMLSetup &src)
 copy constructor of TXMLSetup class
 
virtual ~TXMLSetup ()=default
 
Int_t GetNextRefCounter ()
 
TString GetSetupAsString ()
 return setup values as string
 
EXMLLayout GetXmlLayout () const
 
Bool_t IsStoreStreamerInfos () const
 
Bool_t IsUseDtd () const
 
Bool_t IsUseNamespaces () const
 
TXMLSetupoperator= (const TXMLSetup &rhs)
 assign operator
 
void PrintSetup ()
 show setup values
 
virtual void SetStoreStreamerInfos (Bool_t iConvert=kTRUE)
 
virtual void SetUsedDtd (Bool_t use=kTRUE)
 
virtual void SetUseNamespaces (Bool_t iUseNamespaces=kTRUE)
 
virtual void SetXmlLayout (EXMLLayout layout)
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
const char * XmlClassNameSpaceRef (const TClass *cl)
 produce string which used as reference in class namespace definition
 
const char * XmlConvertClassName (const char *name)
 convert class name to exclude any special symbols like ':', '<' '>' ',' and spaces
 
const char * XmlGetElementName (const TStreamerElement *el)
 return converted name for TStreamerElement
 

Static Public Member Functions

static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static TObjectConvertFromXML (const char *str, Bool_t GenericLayout=kFALSE, Bool_t UseNamespaces=kFALSE)
 Read object from XML, produced by ConvertToXML() method.
 
static void * ConvertFromXMLAny (const char *str, TClass **cl=nullptr, Bool_t GenericLayout=kFALSE, Bool_t UseNamespaces=kFALSE)
 Read object of any class from XML, produced by ConvertToXML() method.
 
static TString ConvertToXML (const TObject *obj, Bool_t GenericLayout=kFALSE, Bool_t UseNamespaces=kFALSE)
 Converts object, inherited from TObject class, to XML string GenericLayout defines layout choice for XML file UseNamespaces allow XML namespaces.
 
static TString ConvertToXML (const void *obj, const TClass *cl, Bool_t GenericLayout=kFALSE, Bool_t UseNamespaces=kFALSE)
 Converts any type of object to XML string.
 
static const char * DeclFileName ()
 
template<class T >
static Bool_t FromXML (T *&obj, const char *xml, Bool_t GenericLayout=kFALSE, Bool_t UseNamespaces=kFALSE)
 
template<class T >
static TString ToXML (const T *obj, Bool_t GenericLayout=kFALSE, Bool_t UseNamespaces=kFALSE)
 
- Static Public Member Functions inherited from TBufferText
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static void CompactFloatString (char *buf, unsigned len)
 method compress float string, excluding exp and/or move float point
 
static const char * ConvertDouble (Double_t v, char *buf, unsigned len, Bool_t not_optimize=kFALSE)
 convert float to string with configured format
 
static const char * ConvertFloat (Float_t v, char *buf, unsigned len, Bool_t not_optimize=kFALSE)
 convert float to string with configured format
 
static const char * DeclFileName ()
 
static const char * GetDoubleFormat ()
 return current printf format for double members, default "%.14e"
 
static const char * GetFloatFormat ()
 return current printf format for float members, default "%e"
 
static void SetDoubleFormat (const char *fmt="%.14e")
 set printf format for double members, default "%.14e" use it after SetFloatFormat, which also overwrites format for doubles
 
static void SetFloatFormat (const char *fmt="%e")
 set printf format for float/double members, default "%e" to change format only for doubles, use SetDoubleFormat
 
- Static Public Member Functions inherited from TBufferIO
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
static Int_t GetGlobalReadParam ()
 Get default read map size.
 
static Int_t GetGlobalWriteParam ()
 Get default write map size.
 
static void SetGlobalReadParam (Int_t mapsize)
 Set the initial size of the map used to store object and class references during reading.
 
static void SetGlobalWriteParam (Int_t mapsize)
 Set the initial size of the map used to store object and class references during reading.
 
- Static Public Member Functions inherited from TBuffer
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.
 
- Static Public Member Functions inherited from TXMLSetup
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
static TString DefaultXmlSetup ()
 return default value for XML setup
 
static void SetNameSpaceBase (const char *namespacebase)
 set namespace base
 

Protected Member Functions

void BeforeIOoperation ()
 Function is called before any IO operation of TBuffer Now is used to store version value if no proper calls are discovered.
 
void CheckVersionBuf ()
 Checks buffer, filled by WriteVersion if next data is arriving, version should be stored in buffer.
 
void CreateElemNode (const TStreamerElement *elem)
 Create xml node correspondent to TStreamerElement object.
 
XMLNodePointer_t CreateItemNode (const char *name)
 Create item node of specified name.
 
Bool_t ExtractPointer (XMLNodePointer_t node, void *&ptr, TClass *&cl)
 Searches for "ptr" attribute and returns pointer to object and class, if "ptr" attribute reference to read object.
 
void ExtractReference (XMLNodePointer_t node, const void *ptr, const TClass *cl)
 Analyze if node has "ref" attribute and register it to object map.
 
Int_t GetCompressionAlgorithm () const
 
Int_t GetCompressionLevel () const
 
Int_t GetCompressionSettings () const
 
void PerformPostProcessing ()
 Function is converts TObject and TString structures to more compact representation.
 
void PerformPreProcessing (const TStreamerElement *elem, XMLNodePointer_t elemnode)
 Function is unpack TObject and TString structures to be able read them from custom streamers of this objects.
 
TXMLStackObjPopStack ()
 Remove one level from xml stack.
 
Bool_t ProcessPointer (const void *ptr, XMLNodePointer_t node)
 Add "ptr" attribute to node, if ptr is null or if ptr is pointer on object, which is already saved in buffer Automatically add "ref" attribute to node, where referenced object is stored.
 
TXMLStackObjPushStack (XMLNodePointer_t current, Bool_t simple=kFALSE)
 Add new level to xml stack.
 
void SetCompressionAlgorithm (Int_t algorithm=ROOT::RCompressionSetting::EAlgorithm::kUseGlobal)
 See comments for function SetCompressionSettings.
 
void SetCompressionLevel (Int_t level=ROOT::RCompressionSetting::ELevel::kUseMin)
 See comments for function SetCompressionSettings.
 
void SetCompressionSettings (Int_t settings=ROOT::RCompressionSetting::EDefaults::kUseCompiledDefault)
 Used to specify the compression level and algorithm.
 
void SetXML (TXMLEngine *xml)
 
void ShiftStack (const char *info=nullptr)
 Shift stack node to next.
 
TXMLStackObjStack (UInt_t depth=0)
 
XMLNodePointer_t StackNode ()
 Return pointer on current xml node.
 
Bool_t VerifyAttr (XMLNodePointer_t node, const char *name, const char *value, const char *errinfo=nullptr)
 Checks, that attribute of specified name exists and has specified value.
 
Bool_t VerifyElemNode (const TStreamerElement *elem)
 Checks if stack node correspond to TStreamerElement object.
 
Bool_t VerifyItemNode (const char *name, const char *errinfo=nullptr)
 Checks, if stack node is item and has specified name.
 
Bool_t VerifyNode (XMLNodePointer_t node, const char *name, const char *errinfo=nullptr)
 Check if node has specified name.
 
Bool_t VerifyStackAttr (const char *name, const char *value, const char *errinfo=nullptr)
 Checks stack attribute.
 
Bool_t VerifyStackNode (const char *name, const char *errinfo=nullptr)
 Check, if stack node has specified name.
 
void WorkWithClass (TStreamerInfo *info, const TClass *cl=nullptr)
 Prepares buffer to stream data of specified class.
 
void WorkWithElement (TStreamerElement *elem, Int_t comp_type)
 This function is a part of SetStreamerElementNumber method.
 
void WriteObjectClass (const void *actualObjStart, const TClass *actualClass, Bool_t cacheReuse) final
 Write object to buffer. Only used from TBuffer.
 
TXMLFileXmlFile ()
 Returns pointer to TXMLFile object.
 
void * XmlReadAny (XMLNodePointer_t node, void *obj, TClass **cl)
 Recreate object from xml structure.
 
template<typename T >
R__ALWAYS_INLINE Int_t XmlReadArray (T *&arr, bool is_static=false)
 Template method to read array with size attribute If necessary, array is created.
 
template<typename T >
R__ALWAYS_INLINE void XmlReadArrayContent (T *arr, Int_t arrsize)
 Template method to read array content.
 
void XmlReadBasic (Bool_t &value)
 Reads string from current xml node and convert it to Bool_t value.
 
void XmlReadBasic (Char_t &value)
 Reads string from current xml node and convert it to Char_t value.
 
void XmlReadBasic (Double_t &value)
 Reads string from current xml node and convert it to Double_t value.
 
void XmlReadBasic (Float_t &value)
 Reads string from current xml node and convert it to Float_t value.
 
void XmlReadBasic (Int_t &value)
 Reads string from current xml node and convert it to Int_t value.
 
void XmlReadBasic (Long64_t &value)
 Reads string from current xml node and convert it to Long64_t value.
 
void XmlReadBasic (Long_t &value)
 Reads string from current xml node and convert it to Long_t value.
 
void XmlReadBasic (Short_t &value)
 Reads string from current xml node and convert it to Short_t value.
 
void XmlReadBasic (UChar_t &value)
 Reads string from current xml node and convert it to UChar_t value.
 
void XmlReadBasic (UInt_t &value)
 Reads string from current xml node and convert it to UInt_t value.
 
void XmlReadBasic (ULong64_t &value)
 Reads string from current xml node and convert it to ULong64_t value.
 
void XmlReadBasic (ULong_t &value)
 Reads string from current xml node and convert it to ULong_t value.
 
void XmlReadBasic (UShort_t &value)
 Reads string from current xml node and convert it to UShort_t value.
 
void XmlReadBlock (XMLNodePointer_t node)
 Read binary block of data from xml.
 
template<typename T >
R__ALWAYS_INLINE void XmlReadFastArray (T *arr, Int_t n)
 Template method to read content of array, which not include size of array Also treated situation, when instead of one single array chain of several elements should be produced.
 
void * XmlReadObject (void *obj, TClass **cl=nullptr)
 Read object from the buffer.
 
const char * XmlReadValue (const char *name)
 read string value from current stack node
 
XMLNodePointer_t XmlWriteAny (const void *obj, const TClass *cl)
 Convert object of any class to xml structures Return pointer on top xml element.
 
template<typename T >
R__ALWAYS_INLINE void XmlWriteArray (const T *arr, Int_t arrsize)
 Write array, including it size Content may be compressed.
 
template<typename T >
R__ALWAYS_INLINE void XmlWriteArrayContent (const T *arr, Int_t arrsize)
 
XMLNodePointer_t XmlWriteBasic (Bool_t value)
 Converts Bool_t to string and add xml node to buffer.
 
XMLNodePointer_t XmlWriteBasic (Char_t value)
 Converts Char_t to string and add xml node to buffer.
 
XMLNodePointer_t XmlWriteBasic (Double_t value)
 Converts Double_t to string and add xml node to buffer.
 
XMLNodePointer_t XmlWriteBasic (Float_t value)
 Converts Float_t to string and add xml node to buffer.
 
XMLNodePointer_t XmlWriteBasic (Int_t value)
 Converts Int_t to string and add xml node to buffer.
 
XMLNodePointer_t XmlWriteBasic (Long64_t value)
 Converts Long64_t to string and add xml node to buffer.
 
XMLNodePointer_t XmlWriteBasic (Long_t value)
 Converts Long_t to string and add xml node to buffer.
 
XMLNodePointer_t XmlWriteBasic (Short_t value)
 Converts Short_t to string and add xml node to buffer.
 
XMLNodePointer_t XmlWriteBasic (UChar_t value)
 Converts UChar_t to string and add xml node to buffer.
 
XMLNodePointer_t XmlWriteBasic (UInt_t value)
 Converts UInt_t to string and add xml node to buffer.
 
XMLNodePointer_t XmlWriteBasic (ULong64_t value)
 Converts ULong64_t to string and add xml node to buffer.
 
XMLNodePointer_t XmlWriteBasic (ULong_t value)
 Converts ULong_t to string and add xml node to buffer.
 
XMLNodePointer_t XmlWriteBasic (UShort_t value)
 Converts UShort_t to string and add xml node to buffer.
 
void XmlWriteBlock (XMLNodePointer_t node)
 Write binary data block from buffer to xml.
 
template<typename T >
R__ALWAYS_INLINE void XmlWriteFastArray (const T *arr, Long64_t n)
 Write array without size attribute Also treat situation, when instead of one single array chain of several elements should be produced.
 
XMLNodePointer_t XmlWriteObject (const void *obj, const TClass *objClass, Bool_t cacheReuse)
 Write object to buffer If object was written before, only pointer will be stored Return pointer to top xml node, representing object.
 
XMLNodePointer_t XmlWriteValue (const char *value, const char *name)
 Create xml node with specified name and adds it to stack node.
 
- Protected Member Functions inherited from TBufferText
 TBufferText ()
 Default constructor.
 
 TBufferText (TBuffer::EMode mode, TObject *parent=nullptr)
 Normal constructor.
 
- Protected Member Functions inherited from TBufferIO
 TBufferIO ()
 
 TBufferIO (TBuffer::EMode mode)
 constructor
 
 TBufferIO (TBuffer::EMode mode, Int_t bufsiz)
 constructor
 
 TBufferIO (TBuffer::EMode mode, Int_t bufsiz, void *buf, Bool_t adopt=kTRUE, ReAllocCharFun_t reallocfunc=nullptr)
 constructor
 
virtual void CheckCount (UInt_t)
 
Long64_t GetObjectTag (const void *obj)
 Returns tag for specified object from objects map (if exists) Returns 0 if object not included into objects map.
 
- Protected Member Functions inherited from TBuffer
 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 Member Functions inherited from TXMLSetup
Int_t AtoI (const char *sbuf, Int_t def=0, const char *errinfo=nullptr)
 converts string to integer.
 
const char * GetElItemName (TStreamerElement *el)
 get item name for given element
 
Bool_t IsValidXmlSetup (const char *setupstr)
 checks if string is valid setup
 
Bool_t ReadSetupFromStr (const char *setupstr)
 get values from string
 
TClassXmlDefineClass (const char *xmlClassName)
 define class for the converted class name, where special symbols were replaced by '_'
 

Static Protected Member Functions

static void * ConvertFromXMLChecked (const char *xml, const TClass *expectedClass, Bool_t GenericLayout=kFALSE, Bool_t UseNamespaces=kFALSE)
 Convert from XML and check if object derived from specified class When possible, cast to given class.
 
- Static Protected Member Functions inherited from TBufferIO
static R__ALWAYS_INLINE ULong_t Void_Hash (const void *ptr)
 Return hash value for provided object.
 

Protected Attributes

Bool_t fCanUseCompact {kFALSE}
 ! Flag indicate that basic type (like Int_t) can be placed in the same tag
 
Int_t fCompressLevel {0}
 ! Compression level and algorithm
 
Int_t fErrorFlag {0}
 ! Error flag
 
TClassfExpectedBaseClass {nullptr}
 ! Pointer to class, which should be stored as parent of current
 
Int_t fIOVersion {3}
 ! Indicates format of ROOT xml file
 
std::deque< std::unique_ptr< TXMLStackObj > > fStack
 ! Stack of processed objects
 
TString fValueBuf
 ! Current value buffer
 
Version_t fVersionBuf {-111}
 ! Current version buffer
 
TXMLEnginefXML {nullptr}
 ! instance of TXMLEngine for working with XML structures
 
- Protected Attributes inherited from TBufferIO
TExMapfClassMap {nullptr}
 Map containing object,class pairs for reading.
 
Int_t fDisplacement {0}
 Value to be added to the map offsets.
 
TExMapfMap {nullptr}
 Map containing object,offset pairs for reading/writing.
 
Int_t fMapCount {0}
 Number of objects or classes in map.
 
Int_t fMapSize {0}
 Default size of map.
 
UShort_t fPidOffset {0}
 Offset to be added to the pid index in this key/buffer.
 
- Protected Attributes inherited from TBuffer
char * fBufCur
 
char * fBuffer
 
char * fBufMax
 
Int_t fBufSize
 
CacheList_t fCacheStack
 Realloc function to be used when extending the buffer.
 
Bool_t fMode
 
TObjectfParent
 
ReAllocCharFun_t fReAllocFunc
 
Int_t fVersion
 
- Protected Attributes inherited from TXMLSetup
Int_t fRefCounter {0}
 
Bool_t fStoreStreamerInfos {kTRUE}
 
TString fStrBuf
 counter , used to build id of xml references
 
Bool_t fUseDtd {kFALSE}
 
Bool_t fUseNamespaces {kFALSE}
 
EXMLLayout fXmlLayout {kSpecialized}
 

Friends

class TKeyXML
 

Additional Inherited Members

- Public Types inherited from TBufferIO
enum  { kMapSize = 503 }
 
enum  EStatusBits {
  kNotDecompressed = (1ULL << ( 15 )) , kTextBasedStreaming = (1ULL << ( 18 )) , kUser1 = (1ULL << ( 21 )) , kUser2 = (1ULL << ( 22 )) ,
  kUser3 = (1ULL << ( 23 ))
}
 
- Public Types inherited from TBuffer
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 Types inherited from TXMLSetup
enum  EXMLLayout { kSpecialized = 2 , kGeneralized = 3 }
 
- Protected Types inherited from TBufferIO
enum  { kNullTag = 0 }
 
- Protected Types inherited from TBuffer
typedef std::vector< TVirtualArray * > CacheList_t
 
- Protected Types inherited from TObject
enum  { kOnlyPrepStep = (1ULL << ( 3 )) }
 
- Static Protected Attributes inherited from TBufferText
static const char * fgDoubleFmt = "%.14e"
 ! printf argument for doubles, either "%f" or "%e" or "%10f" and so on
 
static const char * fgFloatFmt = "%e"
 ! printf argument for floats, either "%f" or "%e" or "%10f" and so on
 
- Static Protected Attributes inherited from TBufferIO
static Int_t fgMapSize = kMapSize
 Default map size for all TBuffer objects.
 
- Static Protected Attributes inherited from TXMLSetup
static TString fgNameSpaceBase = "http://root.cern/root/htmldoc/"
 buffer, used in XmlDefineClass() function
 

#include <TBufferXML.h>

Inheritance diagram for TBufferXML:
[legend]

Constructor & Destructor Documentation

◆ TBufferXML() [1/2]

TBufferXML::TBufferXML ( TBuffer::EMode  mode)

Creates buffer object to serialize/deserialize data to/from xml.

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

Definition at line 59 of file TBufferXML.cxx.

◆ TBufferXML() [2/2]

TBufferXML::TBufferXML ( TBuffer::EMode  mode,
TXMLFile file 
)

Creates buffer object to serialize/deserialize data to/from xml.

This constructor should be used, if data from buffer supposed to be stored in file. Mode should be either TBuffer::kRead or TBuffer::kWrite.

Definition at line 68 of file TBufferXML.cxx.

◆ ~TBufferXML()

TBufferXML::~TBufferXML ( )
override

Destroy xml buffer.

Definition at line 86 of file TBufferXML.cxx.

Member Function Documentation

◆ BeforeIOoperation()

void TBufferXML::BeforeIOoperation ( )
protected

Function is called before any IO operation of TBuffer Now is used to store version value if no proper calls are discovered.

Definition at line 1395 of file TBufferXML.cxx.

◆ CheckVersionBuf()

void TBufferXML::CheckVersionBuf ( )
protected

Checks buffer, filled by WriteVersion if next data is arriving, version should be stored in buffer.

Definition at line 1462 of file TBufferXML.cxx.

◆ Class()

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

◆ Class_Name()

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

◆ Class_Version()

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

Definition at line 332 of file TBufferXML.h.

◆ ClassBegin()

void TBufferXML::ClassBegin ( const TClass cl,
Version_t  = -1 
)
finalvirtual

Should be called at the beginning of custom class streamer.

Informs buffer data about class which will be streamed now. ClassBegin(), ClassEnd() and ClassMemeber() should be used in custom class streamers to specify which kind of data are now streamed. Such information is used to correctly convert class data to XML. Without that functions calls classes with custom streamers cannot be used with TBufferXML

Implements TBuffer.

Definition at line 1050 of file TBufferXML.cxx.

◆ ClassEnd()

void TBufferXML::ClassEnd ( const TClass )
finalvirtual

Should be called at the end of custom streamer See TBufferXML::ClassBegin for more details.

Implements TBuffer.

Definition at line 1059 of file TBufferXML.cxx.

◆ ClassMember()

void TBufferXML::ClassMember ( const char *  name,
const char *  typeName = nullptr,
Int_t  arrsize1 = -1,
Int_t  arrsize2 = -1 
)
finalvirtual

Method indicates name and typename of class member, which should be now streamed in custom streamer.

Following combinations are supported:

  1. name = "ClassName", typeName = 0 or typename==ClassName. This is a case, when data of parent class "ClassName" should be streamed. For instance, if class directly inherited from TObject, custom streamer should include following code:
    b.ClassMember("TObject");
    #define b(i)
    Definition RSha256.hxx:100
    virtual void Streamer(TBuffer &)
    Stream an object of class TObject.
    Definition TObject.cxx:888
  2. Basic data type
    b.ClassMember("fInt","Int_t");
    b >> fInt;
  3. Array of basic data types
    b.ClassMember("fArr","Int_t", 5);
    b.ReadFastArray(fArr, 5);
  4. Object as data member
    b.ClassMemeber("fName","TString");
    fName.Streamer(b);
  5. Pointer on object as data member
    b.ClassMemeber("fObj","TObject*");
    b.StreamObject(fObj);

Arrsize1 and arrsize2 arguments (when specified) indicate first and second dimension of array. Can be used for array of basic types. See ClassBegin() method for more details.

Implements TBuffer.

Definition at line 1102 of file TBufferXML.cxx.

◆ ConvertFromXML()

TObject * TBufferXML::ConvertFromXML ( const char *  str,
Bool_t  GenericLayout = kFALSE,
Bool_t  UseNamespaces = kFALSE 
)
static

Read object from XML, produced by ConvertToXML() method.

If object does not inherit from TObject class, return 0. GenericLayout and UseNamespaces should be the same as in ConvertToXML()

Definition at line 154 of file TBufferXML.cxx.

◆ ConvertFromXMLAny()

void * TBufferXML::ConvertFromXMLAny ( const char *  str,
TClass **  cl = nullptr,
Bool_t  GenericLayout = kFALSE,
Bool_t  UseNamespaces = kFALSE 
)
static

Read object of any class from XML, produced by ConvertToXML() method.

If cl!=0, return actual class of object. GenericLayout and UseNamespaces should be the same as in ConvertToXML()

Definition at line 177 of file TBufferXML.cxx.

◆ ConvertFromXMLChecked()

void * TBufferXML::ConvertFromXMLChecked ( const char *  xml,
const TClass expectedClass,
Bool_t  GenericLayout = kFALSE,
Bool_t  UseNamespaces = kFALSE 
)
staticprotected

Convert from XML and check if object derived from specified class When possible, cast to given class.

Definition at line 201 of file TBufferXML.cxx.

◆ ConvertToXML() [1/2]

TString TBufferXML::ConvertToXML ( const TObject obj,
Bool_t  GenericLayout = kFALSE,
Bool_t  UseNamespaces = kFALSE 
)
static

Converts object, inherited from TObject class, to XML string GenericLayout defines layout choice for XML file UseNamespaces allow XML namespaces.

See TXMLSetup class for details

Definition at line 105 of file TBufferXML.cxx.

◆ ConvertToXML() [2/2]

TString TBufferXML::ConvertToXML ( const void *  obj,
const TClass cl,
Bool_t  GenericLayout = kFALSE,
Bool_t  UseNamespaces = kFALSE 
)
static

Converts any type of object to XML string.

GenericLayout defines layout choice for XML file UseNamespaces allow XML namespaces. See TXMLSetup class for details

Definition at line 127 of file TBufferXML.cxx.

◆ CreateElemNode()

void TBufferXML::CreateElemNode ( const TStreamerElement elem)
protected

Create xml node correspondent to TStreamerElement object.

Definition at line 702 of file TBufferXML.cxx.

◆ CreateItemNode()

XMLNodePointer_t TBufferXML::CreateItemNode ( const char *  name)
protected

Create item node of specified name.

Definition at line 675 of file TBufferXML.cxx.

◆ DeclFileName()

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

Definition at line 332 of file TBufferXML.h.

◆ DecrementLevel()

void TBufferXML::DecrementLevel ( TVirtualStreamerInfo info)
finalvirtual

Function is called from TStreamerInfo WriteBuffer and ReadBuffer functions and decrease level in xml structure.

Implements TBuffer.

Definition at line 929 of file TBufferXML.cxx.

◆ ExtractPointer()

Bool_t TBufferXML::ExtractPointer ( XMLNodePointer_t  node,
void *&  ptr,
TClass *&  cl 
)
protected

Searches for "ptr" attribute and returns pointer to object and class, if "ptr" attribute reference to read object.

Definition at line 560 of file TBufferXML.cxx.

◆ ExtractReference()

void TBufferXML::ExtractReference ( XMLNodePointer_t  node,
const void *  ptr,
const TClass cl 
)
protected

Analyze if node has "ref" attribute and register it to object map.

Definition at line 596 of file TBufferXML.cxx.

◆ FromXML()

template<class T >
static Bool_t TBufferXML::FromXML ( T *&  obj,
const char *  xml,
Bool_t  GenericLayout = kFALSE,
Bool_t  UseNamespaces = kFALSE 
)
inlinestatic

Definition at line 57 of file TBufferXML.h.

◆ GetCompressionAlgorithm()

Int_t TBufferXML::GetCompressionAlgorithm ( ) const
inlineprotected

Definition at line 336 of file TBufferXML.h.

◆ GetCompressionLevel()

Int_t TBufferXML::GetCompressionLevel ( ) const
inlineprotected

Definition at line 342 of file TBufferXML.h.

◆ GetCompressionSettings()

Int_t TBufferXML::GetCompressionSettings ( ) const
inlineprotected

Definition at line 348 of file TBufferXML.h.

◆ GetInfo()

TVirtualStreamerInfo * TBufferXML::GetInfo ( )
finalvirtual

Return current streamer info element.

Implements TBuffer.

Definition at line 3171 of file TBufferXML.cxx.

◆ GetIOVersion()

Int_t TBufferXML::GetIOVersion ( ) const
inline

Definition at line 65 of file TBufferXML.h.

◆ IncrementLevel()

void TBufferXML::IncrementLevel ( TVirtualStreamerInfo info)
finalvirtual

Function is called from TStreamerInfo WriteBuffer and ReadBuffer functions and indent new level in xml structure.

This call indicates, that TStreamerInfo functions starts streaming object data of correspondent class

Implements TBuffer.

Definition at line 855 of file TBufferXML.cxx.

◆ IsA()

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

Reimplemented from TBufferText.

Definition at line 332 of file TBufferXML.h.

◆ PerformPostProcessing()

void TBufferXML::PerformPostProcessing ( )
protected

Function is converts TObject and TString structures to more compact representation.

Definition at line 1203 of file TBufferXML.cxx.

◆ PerformPreProcessing()

void TBufferXML::PerformPreProcessing ( const TStreamerElement elem,
XMLNodePointer_t  elemnode 
)
protected

Function is unpack TObject and TString structures to be able read them from custom streamers of this objects.

Definition at line 1321 of file TBufferXML.cxx.

◆ PopStack()

TXMLStackObj * TBufferXML::PopStack ( )
protected

Remove one level from xml stack.

Definition at line 312 of file TBufferXML.cxx.

◆ ProcessPointer()

Bool_t TBufferXML::ProcessPointer ( const void *  ptr,
XMLNodePointer_t  node 
)
protected

Add "ptr" attribute to node, if ptr is null or if ptr is pointer on object, which is already saved in buffer Automatically add "ref" attribute to node, where referenced object is stored.

Definition at line 523 of file TBufferXML.cxx.

◆ PushStack()

TXMLStackObj * TBufferXML::PushStack ( XMLNodePointer_t  current,
Bool_t  simple = kFALSE 
)
protected

Add new level to xml stack.

Definition at line 298 of file TBufferXML.cxx.

◆ ReadArray() [1/13]

Int_t TBufferXML::ReadArray ( Bool_t *&  b)
finalvirtual

Read array of Bool_t from buffer.

Implements TBuffer.

Definition at line 1570 of file TBufferXML.cxx.

◆ ReadArray() [2/13]

Int_t TBufferXML::ReadArray ( Char_t *&  c)
finalvirtual

Read array of Char_t from buffer.

Implements TBuffer.

Definition at line 1578 of file TBufferXML.cxx.

◆ ReadArray() [3/13]

Int_t TBufferXML::ReadArray ( Double_t *&  d)
finalvirtual

Read array of Double_t from buffer.

Implements TBuffer.

Definition at line 1666 of file TBufferXML.cxx.

◆ ReadArray() [4/13]

Int_t TBufferXML::ReadArray ( Float_t *&  f)
finalvirtual

Read array of Float_t from buffer.

Implements TBuffer.

Definition at line 1658 of file TBufferXML.cxx.

◆ ReadArray() [5/13]

Int_t TBufferXML::ReadArray ( Int_t *&  i)
finalvirtual

Read array of Int_t from buffer.

Implements TBuffer.

Definition at line 1610 of file TBufferXML.cxx.

◆ ReadArray() [6/13]

Int_t TBufferXML::ReadArray ( Long64_t *&  l)
finalvirtual

Read array of Long64_t from buffer.

Implements TBuffer.

Definition at line 1642 of file TBufferXML.cxx.

◆ ReadArray() [7/13]

Int_t TBufferXML::ReadArray ( Long_t *&  l)
finalvirtual

Read array of Long_t from buffer.

Implements TBuffer.

Definition at line 1626 of file TBufferXML.cxx.

◆ ReadArray() [8/13]

Int_t TBufferXML::ReadArray ( Short_t *&  h)
finalvirtual

Read array of Short_t from buffer.

Implements TBuffer.

Definition at line 1594 of file TBufferXML.cxx.

◆ ReadArray() [9/13]

Int_t TBufferXML::ReadArray ( UChar_t *&  c)
finalvirtual

Read array of UChar_t from buffer.

Implements TBuffer.

Definition at line 1586 of file TBufferXML.cxx.

◆ ReadArray() [10/13]

Int_t TBufferXML::ReadArray ( UInt_t *&  i)
finalvirtual

Read array of UInt_t from buffer.

Implements TBuffer.

Definition at line 1618 of file TBufferXML.cxx.

◆ ReadArray() [11/13]

Int_t TBufferXML::ReadArray ( ULong64_t *&  l)
finalvirtual

Read array of ULong64_t from buffer.

Implements TBuffer.

Definition at line 1650 of file TBufferXML.cxx.

◆ ReadArray() [12/13]

Int_t TBufferXML::ReadArray ( ULong_t *&  l)
finalvirtual

Read array of ULong_t from buffer.

Implements TBuffer.

Definition at line 1634 of file TBufferXML.cxx.

◆ ReadArray() [13/13]

Int_t TBufferXML::ReadArray ( UShort_t *&  h)
finalvirtual

Read array of UShort_t from buffer.

Implements TBuffer.

Definition at line 1602 of file TBufferXML.cxx.

◆ ReadBool()

void TBufferXML::ReadBool ( Bool_t b)
finalvirtual

Reads Bool_t value from buffer.

Implements TBuffer.

Definition at line 2423 of file TBufferXML.cxx.

◆ ReadChar()

void TBufferXML::ReadChar ( Char_t c)
finalvirtual

Reads Char_t value from buffer.

Implements TBuffer.

Definition at line 2432 of file TBufferXML.cxx.

◆ ReadCharP()

void TBufferXML::ReadCharP ( Char_t c)
finalvirtual

Reads array of characters from buffer.

Implements TBuffer.

Definition at line 2540 of file TBufferXML.cxx.

◆ ReadCharStar()

void TBufferXML::ReadCharStar ( char *&  s)
finalvirtual

Read a char* string.

Implements TBuffer.

Definition at line 2621 of file TBufferXML.cxx.

◆ ReadClass()

TClass * TBufferXML::ReadClass ( const TClass cl = nullptr,
UInt_t objTag = nullptr 
)
finalvirtual

Function to read class from buffer, used in old-style streamers.

Implements TBuffer.

Definition at line 1403 of file TBufferXML.cxx.

◆ ReadDouble()

void TBufferXML::ReadDouble ( Double_t d)
finalvirtual

Reads Double_t value from buffer.

Implements TBuffer.

Definition at line 2531 of file TBufferXML.cxx.

◆ ReadFastArray() [1/15]

void TBufferXML::ReadFastArray ( Bool_t b,
Int_t  n 
)
finalvirtual

Read array of Bool_t from buffer.

Implements TBuffer.

Definition at line 1797 of file TBufferXML.cxx.

◆ ReadFastArray() [2/15]

void TBufferXML::ReadFastArray ( Char_t c,
Int_t  n 
)
finalvirtual

Read array of Char_t from buffer if nodename==CharStar, read all array as string.

Implements TBuffer.

Definition at line 1806 of file TBufferXML.cxx.

◆ ReadFastArray() [3/15]

void TBufferXML::ReadFastArray ( Double_t d,
Int_t  n 
)
finalvirtual

Read array of Double_t from buffer.

Implements TBuffer.

Definition at line 1913 of file TBufferXML.cxx.

◆ ReadFastArray() [4/15]

void TBufferXML::ReadFastArray ( Float_t f,
Int_t  n 
)
finalvirtual

Read array of Float_t from buffer.

Implements TBuffer.

Definition at line 1905 of file TBufferXML.cxx.

◆ ReadFastArray() [5/15]

void TBufferXML::ReadFastArray ( Int_t i,
Int_t  n 
)
finalvirtual

Read array of Int_t from buffer.

Implements TBuffer.

Definition at line 1857 of file TBufferXML.cxx.

◆ ReadFastArray() [6/15]

void TBufferXML::ReadFastArray ( Long64_t l,
Int_t  n 
)
finalvirtual

Read array of Long64_t from buffer.

Implements TBuffer.

Definition at line 1889 of file TBufferXML.cxx.

◆ ReadFastArray() [7/15]

void TBufferXML::ReadFastArray ( Long_t l,
Int_t  n 
)
finalvirtual

Read array of Long_t from buffer.

Implements TBuffer.

Definition at line 1873 of file TBufferXML.cxx.

◆ ReadFastArray() [8/15]

void TBufferXML::ReadFastArray ( Short_t h,
Int_t  n 
)
finalvirtual

Read array of Short_t from buffer.

Implements TBuffer.

Definition at line 1841 of file TBufferXML.cxx.

◆ ReadFastArray() [9/15]

void TBufferXML::ReadFastArray ( UChar_t c,
Int_t  n 
)
finalvirtual

Read array of UChar_t from buffer.

Implements TBuffer.

Definition at line 1833 of file TBufferXML.cxx.

◆ ReadFastArray() [10/15]

void TBufferXML::ReadFastArray ( UInt_t i,
Int_t  n 
)
finalvirtual

Read array of UInt_t from buffer.

Implements TBuffer.

Definition at line 1865 of file TBufferXML.cxx.

◆ ReadFastArray() [11/15]

void TBufferXML::ReadFastArray ( ULong64_t l,
Int_t  n 
)
finalvirtual

Read array of ULong64_t from buffer.

Implements TBuffer.

Definition at line 1897 of file TBufferXML.cxx.

◆ ReadFastArray() [12/15]

void TBufferXML::ReadFastArray ( ULong_t l,
Int_t  n 
)
finalvirtual

Read array of ULong_t from buffer.

Implements TBuffer.

Definition at line 1881 of file TBufferXML.cxx.

◆ ReadFastArray() [13/15]

void TBufferXML::ReadFastArray ( UShort_t h,
Int_t  n 
)
finalvirtual

Read array of UShort_t from buffer.

Implements TBuffer.

Definition at line 1849 of file TBufferXML.cxx.

◆ ReadFastArray() [14/15]

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

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

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

Implements TBuffer.

Definition at line 1947 of file TBufferXML.cxx.

◆ ReadFastArray() [15/15]

void TBufferXML::ReadFastArray ( void *  start,
const TClass cl,
Int_t  n = 1,
TMemberStreamer streamer = nullptr,
const TClass onFileClass = nullptr 
)
finalvirtual

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

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

Implements TBuffer.

Definition at line 1923 of file TBufferXML.cxx.

◆ ReadFastArrayString()

void TBufferXML::ReadFastArrayString ( Char_t c,
Int_t  n 
)
finalvirtual

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

Used only from TLeafC, dummy implementation here

Implements TBuffer.

Definition at line 1825 of file TBufferXML.cxx.

◆ ReadFloat()

void TBufferXML::ReadFloat ( Float_t f)
finalvirtual

Reads Float_t value from buffer.

Implements TBuffer.

Definition at line 2522 of file TBufferXML.cxx.

◆ ReadInt()

void TBufferXML::ReadInt ( Int_t i)
finalvirtual

Reads Int_t value from buffer.

Implements TBuffer.

Definition at line 2468 of file TBufferXML.cxx.

◆ ReadLong()

void TBufferXML::ReadLong ( Long_t l)
finalvirtual

Reads Long_t value from buffer.

Implements TBuffer.

Definition at line 2486 of file TBufferXML.cxx.

◆ ReadLong64()

void TBufferXML::ReadLong64 ( Long64_t l)
finalvirtual

Reads Long64_t value from buffer.

Implements TBuffer.

Definition at line 2504 of file TBufferXML.cxx.

◆ ReadObjectAny()

void * TBufferXML::ReadObjectAny ( const TClass clCast)
finalvirtual

Read object from buffer. Only used from TBuffer.

Implements TBuffer.

Definition at line 1495 of file TBufferXML.cxx.

◆ ReadShort()

void TBufferXML::ReadShort ( Short_t s)
finalvirtual

Reads Short_t value from buffer.

Implements TBuffer.

Definition at line 2450 of file TBufferXML.cxx.

◆ ReadStaticArray() [1/13]

Int_t TBufferXML::ReadStaticArray ( Bool_t b)
finalvirtual

Read array of Bool_t from buffer.

Implements TBuffer.

Definition at line 1674 of file TBufferXML.cxx.

◆ ReadStaticArray() [2/13]

Int_t TBufferXML::ReadStaticArray ( Char_t c)
finalvirtual

Read array of Char_t from buffer.

Implements TBuffer.

Definition at line 1682 of file TBufferXML.cxx.

◆ ReadStaticArray() [3/13]

Int_t TBufferXML::ReadStaticArray ( Double_t d)
finalvirtual

Read array of Double_t from buffer.

Implements TBuffer.

Definition at line 1770 of file TBufferXML.cxx.

◆ ReadStaticArray() [4/13]

Int_t TBufferXML::ReadStaticArray ( Float_t f)
finalvirtual

Read array of Float_t from buffer.

Implements TBuffer.

Definition at line 1762 of file TBufferXML.cxx.

◆ ReadStaticArray() [5/13]

Int_t TBufferXML::ReadStaticArray ( Int_t i)
finalvirtual

Read array of Int_t from buffer.

Implements TBuffer.

Definition at line 1714 of file TBufferXML.cxx.

◆ ReadStaticArray() [6/13]

Int_t TBufferXML::ReadStaticArray ( Long64_t l)
finalvirtual

Read array of Long64_t from buffer.

Implements TBuffer.

Definition at line 1746 of file TBufferXML.cxx.

◆ ReadStaticArray() [7/13]

Int_t TBufferXML::ReadStaticArray ( Long_t l)
finalvirtual

Read array of Long_t from buffer.

Implements TBuffer.

Definition at line 1730 of file TBufferXML.cxx.

◆ ReadStaticArray() [8/13]

Int_t TBufferXML::ReadStaticArray ( Short_t h)
finalvirtual

Read array of Short_t from buffer.

Implements TBuffer.

Definition at line 1698 of file TBufferXML.cxx.

◆ ReadStaticArray() [9/13]

Int_t TBufferXML::ReadStaticArray ( UChar_t c)
finalvirtual

Read array of UChar_t from buffer.

Implements TBuffer.

Definition at line 1690 of file TBufferXML.cxx.

◆ ReadStaticArray() [10/13]

Int_t TBufferXML::ReadStaticArray ( UInt_t i)
finalvirtual

Read array of UInt_t from buffer.

Implements TBuffer.

Definition at line 1722 of file TBufferXML.cxx.

◆ ReadStaticArray() [11/13]

Int_t TBufferXML::ReadStaticArray ( ULong64_t l)
finalvirtual

Read array of ULong64_t from buffer.

Implements TBuffer.

Definition at line 1754 of file TBufferXML.cxx.

◆ ReadStaticArray() [12/13]

Int_t TBufferXML::ReadStaticArray ( ULong_t l)
finalvirtual

Read array of ULong_t from buffer.

Implements TBuffer.

Definition at line 1738 of file TBufferXML.cxx.

◆ ReadStaticArray() [13/13]

Int_t TBufferXML::ReadStaticArray ( UShort_t h)
finalvirtual

Read array of UShort_t from buffer.

Implements TBuffer.

Definition at line 1706 of file TBufferXML.cxx.

◆ ReadStdString() [1/3]

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

Reimplemented from TBuffer.

Definition at line 292 of file TBuffer.h.

◆ ReadStdString() [2/3]

void TBufferXML::ReadStdString ( std::string *  s)
finalvirtual

Reads a std::string.

Implements TBuffer.

Definition at line 2584 of file TBufferXML.cxx.

◆ ReadStdString() [3/3]

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

Implements TBuffer.

◆ ReadTString()

void TBufferXML::ReadTString ( TString s)
finalvirtual

Reads a TString.

Implements TBuffer.

Definition at line 2551 of file TBufferXML.cxx.

◆ ReadUChar()

void TBufferXML::ReadUChar ( UChar_t c)
finalvirtual

Reads UChar_t value from buffer.

Implements TBuffer.

Definition at line 2441 of file TBufferXML.cxx.

◆ ReadUInt()

void TBufferXML::ReadUInt ( UInt_t i)
finalvirtual

Reads UInt_t value from buffer.

Implements TBuffer.

Definition at line 2477 of file TBufferXML.cxx.

◆ ReadULong()

void TBufferXML::ReadULong ( ULong_t l)
finalvirtual

Reads ULong_t value from buffer.

Implements TBuffer.

Definition at line 2495 of file TBufferXML.cxx.

◆ ReadULong64()

void TBufferXML::ReadULong64 ( ULong64_t l)
finalvirtual

Reads ULong64_t value from buffer.

Implements TBuffer.

Definition at line 2513 of file TBufferXML.cxx.

◆ ReadUShort()

void TBufferXML::ReadUShort ( UShort_t s)
finalvirtual

Reads UShort_t value from buffer.

Implements TBuffer.

Definition at line 2459 of file TBufferXML.cxx.

◆ ReadVersion()

Version_t TBufferXML::ReadVersion ( UInt_t start = nullptr,
UInt_t bcnt = nullptr,
const TClass cl = nullptr 
)
finalvirtual

Read version value from buffer.

Implements TBuffer.

Definition at line 1430 of file TBufferXML.cxx.

◆ SetCompressionAlgorithm()

void TBufferXML::SetCompressionAlgorithm ( Int_t  algorithm = ROOT::RCompressionSetting::EAlgorithm::kUseGlobal)
protected

See comments for function SetCompressionSettings.

Definition at line 344 of file TBufferXML.cxx.

◆ SetCompressionLevel()

void TBufferXML::SetCompressionLevel ( Int_t  level = ROOT::RCompressionSetting::ELevel::kUseMin)
protected

See comments for function SetCompressionSettings.

Definition at line 359 of file TBufferXML.cxx.

◆ SetCompressionSettings()

void TBufferXML::SetCompressionSettings ( Int_t  settings = ROOT::RCompressionSetting::EDefaults::kUseCompiledDefault)
protected

Used to specify the compression level and algorithm.

See TFile constructor for the details.

Definition at line 381 of file TBufferXML.cxx.

◆ SetIOVersion()

void TBufferXML::SetIOVersion ( Int_t  v)
inline

Definition at line 66 of file TBufferXML.h.

◆ SetStreamerElementNumber()

void TBufferXML::SetStreamerElementNumber ( TStreamerElement elem,
Int_t  comp_type 
)
finalvirtual

Function is called from TStreamerInfo WriteBuffer and ReadBuffer functions and add/verify next element of xml structure This calls allows separate data, correspondent to one class member, from another.

Implements TBuffer.

Definition at line 961 of file TBufferXML.cxx.

◆ SetXML()

void TBufferXML::SetXML ( TXMLEngine xml)
inlineprotected

Definition at line 229 of file TBufferXML.h.

◆ ShiftStack()

void TBufferXML::ShiftStack ( const char *  info = nullptr)
protected

Shift stack node to next.

Definition at line 331 of file TBufferXML.cxx.

◆ SkipObjectAny()

void TBufferXML::SkipObjectAny ( )
finalvirtual

Skip any kind of object from buffer Actually skip only one node on current level of xml structure.

Implements TBuffer.

Definition at line 1508 of file TBufferXML.cxx.

◆ Stack()

TXMLStackObj * TBufferXML::Stack ( UInt_t  depth = 0)
inlineprotected

Definition at line 242 of file TBufferXML.h.

◆ StackNode()

XMLNodePointer_t TBufferXML::StackNode ( )
protected

Return pointer on current xml node.

Definition at line 322 of file TBufferXML.cxx.

◆ Streamer()

void TBufferXML::Streamer ( TBuffer R__b)
overridevirtual

Stream an object of class TObject.

Reimplemented from TBufferText.

◆ StreamerNVirtual()

void TBufferXML::StreamerNVirtual ( TBuffer ClassDef_StreamerNVirtual_b)
inline

Definition at line 332 of file TBufferXML.h.

◆ StreamObject() [1/8]

void TBufferText::StreamObject ( TObject obj)
overridevirtual

Reimplemented from TBufferText.

Definition at line 33 of file TBufferText.cxx.

◆ StreamObject() [2/8]

virtual void TBuffer::StreamObject ( TObject obj)
virtual

Reimplemented from TBufferText.

◆ StreamObject() [3/8]

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

stream object to/from buffer

Reimplemented from TBufferText.

Definition at line 32 of file TBufferText.cxx.

◆ StreamObject() [4/8]

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

stream object to/from buffer

Reimplemented from TBufferText.

◆ StreamObject() [5/8]

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

stream object to/from buffer

Reimplemented from TBufferText.

Definition at line 31 of file TBufferText.cxx.

◆ StreamObject() [6/8]

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

stream object to/from buffer

Reimplemented from TBufferText.

◆ StreamObject() [7/8]

void TBufferXML::StreamObject ( void *  obj,
const TClass cl,
const TClass onFileClass = nullptr 
)
finalvirtual

Stream object to/from buffer.

Reimplemented from TBufferText.

Definition at line 2398 of file TBufferXML.cxx.

◆ StreamObject() [8/8]

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

Reimplemented from TBufferText.

◆ ToXML()

template<class T >
static TString TBufferXML::ToXML ( const T *  obj,
Bool_t  GenericLayout = kFALSE,
Bool_t  UseNamespaces = kFALSE 
)
inlinestatic

Definition at line 47 of file TBufferXML.h.

◆ VerifyAttr()

Bool_t TBufferXML::VerifyAttr ( XMLNodePointer_t  node,
const char *  name,
const char *  value,
const char *  errinfo = nullptr 
)
protected

Checks, that attribute of specified name exists and has specified value.

Definition at line 648 of file TBufferXML.cxx.

◆ VerifyElemNode()

Bool_t TBufferXML::VerifyElemNode ( const TStreamerElement elem)
protected

Checks if stack node correspond to TStreamerElement object.

Definition at line 730 of file TBufferXML.cxx.

◆ VerifyItemNode()

Bool_t TBufferXML::VerifyItemNode ( const char *  name,
const char *  errinfo = nullptr 
)
protected

Checks, if stack node is item and has specified name.

Definition at line 689 of file TBufferXML.cxx.

◆ VerifyNode()

Bool_t TBufferXML::VerifyNode ( XMLNodePointer_t  node,
const char *  name,
const char *  errinfo = nullptr 
)
protected

Check if node has specified name.

Definition at line 622 of file TBufferXML.cxx.

◆ VerifyStackAttr()

Bool_t TBufferXML::VerifyStackAttr ( const char *  name,
const char *  value,
const char *  errinfo = nullptr 
)
protected

Checks stack attribute.

Definition at line 667 of file TBufferXML.cxx.

◆ VerifyStackNode()

Bool_t TBufferXML::VerifyStackNode ( const char *  name,
const char *  errinfo = nullptr 
)
protected

Check, if stack node has specified name.

Definition at line 640 of file TBufferXML.cxx.

◆ WorkWithClass()

void TBufferXML::WorkWithClass ( TStreamerInfo info,
const TClass cl = nullptr 
)
protected

Prepares buffer to stream data of specified class.

Definition at line 863 of file TBufferXML.cxx.

◆ WorkWithElement()

void TBufferXML::WorkWithElement ( TStreamerElement elem,
Int_t  comp_type 
)
protected

This function is a part of SetStreamerElementNumber method.

It is introduced for reading of data for specified data member of class. Used also in ReadFastArray methods to resolve problem of compressed data, when several data members of the same basic type streamed with single ...FastArray call

Definition at line 972 of file TBufferXML.cxx.

◆ WriteArray() [1/13]

void TBufferXML::WriteArray ( const Bool_t b,
Int_t  n 
)
finalvirtual

Write array of Bool_t to buffer.

Implements TBuffer.

Definition at line 2053 of file TBufferXML.cxx.

◆ WriteArray() [2/13]

void TBufferXML::WriteArray ( const Char_t c,
Int_t  n 
)
finalvirtual

Write array of Char_t to buffer.

Implements TBuffer.

Definition at line 2061 of file TBufferXML.cxx.

◆ WriteArray() [3/13]

void TBufferXML::WriteArray ( const Double_t d,
Int_t  n 
)
finalvirtual

Write array of Double_t to buffer.

Implements TBuffer.

Definition at line 2149 of file TBufferXML.cxx.

◆ WriteArray() [4/13]

void TBufferXML::WriteArray ( const Float_t f,
Int_t  n 
)
finalvirtual

Write array of Float_t to buffer.

Implements TBuffer.

Definition at line 2141 of file TBufferXML.cxx.

◆ WriteArray() [5/13]

void TBufferXML::WriteArray ( const Int_t i,
Int_t  n 
)
finalvirtual

Write array of Int_ to buffer.

Implements TBuffer.

Definition at line 2093 of file TBufferXML.cxx.

◆ WriteArray() [6/13]

void TBufferXML::WriteArray ( const Long64_t l,
Int_t  n 
)
finalvirtual

Write array of Long64_t to buffer.

Implements TBuffer.

Definition at line 2125 of file TBufferXML.cxx.

◆ WriteArray() [7/13]

void TBufferXML::WriteArray ( const Long_t l,
Int_t  n 
)
finalvirtual

Write array of Long_t to buffer.

Implements TBuffer.

Definition at line 2109 of file TBufferXML.cxx.

◆ WriteArray() [8/13]

void TBufferXML::WriteArray ( const Short_t h,
Int_t  n 
)
finalvirtual

Write array of Short_t to buffer.

Implements TBuffer.

Definition at line 2077 of file TBufferXML.cxx.

◆ WriteArray() [9/13]

void TBufferXML::WriteArray ( const UChar_t c,
Int_t  n 
)
finalvirtual

Write array of UChar_t to buffer.

Implements TBuffer.

Definition at line 2069 of file TBufferXML.cxx.

◆ WriteArray() [10/13]

void TBufferXML::WriteArray ( const UInt_t i,
Int_t  n 
)
finalvirtual

Write array of UInt_t to buffer.

Implements TBuffer.

Definition at line 2101 of file TBufferXML.cxx.

◆ WriteArray() [11/13]

void TBufferXML::WriteArray ( const ULong64_t l,
Int_t  n 
)
finalvirtual

Write array of ULong64_t to buffer.

Implements TBuffer.

Definition at line 2133 of file TBufferXML.cxx.

◆ WriteArray() [12/13]

void TBufferXML::WriteArray ( const ULong_t l,
Int_t  n 
)
finalvirtual

Write array of ULong_t to buffer.

Implements TBuffer.

Definition at line 2117 of file TBufferXML.cxx.

◆ WriteArray() [13/13]

void TBufferXML::WriteArray ( const UShort_t h,
Int_t  n 
)
finalvirtual

Write array of UShort_t to buffer.

Implements TBuffer.

Definition at line 2085 of file TBufferXML.cxx.

◆ WriteBool()

void TBufferXML::WriteBool ( Bool_t  b)
finalvirtual

Writes Bool_t value to buffer.

Implements TBuffer.

Definition at line 2638 of file TBufferXML.cxx.

◆ WriteChar()

void TBufferXML::WriteChar ( Char_t  c)
finalvirtual

Writes Char_t value to buffer.

Implements TBuffer.

Definition at line 2647 of file TBufferXML.cxx.

◆ WriteCharP()

void TBufferXML::WriteCharP ( const Char_t c)
finalvirtual

Writes array of characters to buffer.

Implements TBuffer.

Definition at line 2755 of file TBufferXML.cxx.

◆ WriteCharStar()

void TBufferXML::WriteCharStar ( char *  s)
finalvirtual

Write a char* string.

Implements TBuffer.

Definition at line 2818 of file TBufferXML.cxx.

◆ WriteClass()

void TBufferXML::WriteClass ( const TClass cl)
finalvirtual

Function to write class into buffer, used in old-style streamers.

Implements TBuffer.

Definition at line 1419 of file TBufferXML.cxx.

◆ WriteDouble()

void TBufferXML::WriteDouble ( Double_t  d)
finalvirtual

Writes Double_t value to buffer.

Implements TBuffer.

Definition at line 2746 of file TBufferXML.cxx.

◆ WriteFastArray() [1/15]

void TBufferXML::WriteFastArray ( const Bool_t b,
Long64_t  n 
)
finalvirtual

Write array of Bool_t to buffer.

Implements TBuffer.

Definition at line 2182 of file TBufferXML.cxx.

◆ WriteFastArray() [2/15]

void TBufferXML::WriteFastArray ( const Char_t c,
Long64_t  n 
)
finalvirtual

Write array of Char_t to buffer If array does not include any special characters, it will be reproduced as CharStar node with string as attribute.

Implements TBuffer.

Definition at line 2192 of file TBufferXML.cxx.

◆ WriteFastArray() [3/15]

void TBufferXML::WriteFastArray ( const Double_t d,
Long64_t  n 
)
finalvirtual

Write array of Double_t to buffer.

Implements TBuffer.

Definition at line 2298 of file TBufferXML.cxx.

◆ WriteFastArray() [4/15]

void TBufferXML::WriteFastArray ( const Float_t f,
Long64_t  n 
)
finalvirtual

Write array of Float_t to buffer.

Implements TBuffer.

Definition at line 2290 of file TBufferXML.cxx.

◆ WriteFastArray() [5/15]

void TBufferXML::WriteFastArray ( const Int_t i,
Long64_t  n 
)
finalvirtual

Write array of Int_t to buffer.

Implements TBuffer.

Definition at line 2242 of file TBufferXML.cxx.

◆ WriteFastArray() [6/15]

void TBufferXML::WriteFastArray ( const Long64_t l,
Long64_t  n 
)
finalvirtual

Write array of Long64_t to buffer.

Implements TBuffer.

Definition at line 2274 of file TBufferXML.cxx.

◆ WriteFastArray() [7/15]

void TBufferXML::WriteFastArray ( const Long_t l,
Long64_t  n 
)
finalvirtual

Write array of Long_t to buffer.

Implements TBuffer.

Definition at line 2258 of file TBufferXML.cxx.

◆ WriteFastArray() [8/15]

void TBufferXML::WriteFastArray ( const Short_t h,
Long64_t  n 
)
finalvirtual

Write array of Short_t to buffer.

Implements TBuffer.

Definition at line 2226 of file TBufferXML.cxx.

◆ WriteFastArray() [9/15]

void TBufferXML::WriteFastArray ( const UChar_t c,
Long64_t  n 
)
finalvirtual

Write array of UChar_t to buffer.

Implements TBuffer.

Definition at line 2218 of file TBufferXML.cxx.

◆ WriteFastArray() [10/15]

void TBufferXML::WriteFastArray ( const UInt_t i,
Long64_t  n 
)
finalvirtual

Write array of UInt_t to buffer.

Implements TBuffer.

Definition at line 2250 of file TBufferXML.cxx.

◆ WriteFastArray() [11/15]

void TBufferXML::WriteFastArray ( const ULong64_t l,
Long64_t  n 
)
finalvirtual

Write array of ULong64_t to buffer.

Implements TBuffer.

Definition at line 2282 of file TBufferXML.cxx.

◆ WriteFastArray() [12/15]

void TBufferXML::WriteFastArray ( const ULong_t l,
Long64_t  n 
)
finalvirtual

Write array of ULong_t to buffer.

Implements TBuffer.

Definition at line 2266 of file TBufferXML.cxx.

◆ WriteFastArray() [13/15]

void TBufferXML::WriteFastArray ( const UShort_t h,
Long64_t  n 
)
finalvirtual

Write array of UShort_t to buffer.

Implements TBuffer.

Definition at line 2234 of file TBufferXML.cxx.

◆ WriteFastArray() [14/15]

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

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

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

Implements TBuffer.

Definition at line 2341 of file TBufferXML.cxx.

◆ WriteFastArray() [15/15]

void TBufferXML::WriteFastArray ( void *  start,
const TClass cl,
Long64_t  n = 1,
TMemberStreamer s = nullptr 
)
finalvirtual

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

Implements TBuffer.

Definition at line 2316 of file TBufferXML.cxx.

◆ WriteFastArrayString()

void TBufferXML::WriteFastArrayString ( const Char_t c,
Long64_t  n 
)
finalvirtual

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

Used only by TLeafC, just dummy implementation here

Implements TBuffer.

Definition at line 2307 of file TBufferXML.cxx.

◆ WriteFloat()

void TBufferXML::WriteFloat ( Float_t  f)
finalvirtual

Writes Float_t value to buffer.

Implements TBuffer.

Definition at line 2737 of file TBufferXML.cxx.

◆ WriteInt()

void TBufferXML::WriteInt ( Int_t  i)
finalvirtual

Writes Int_t value to buffer.

Implements TBuffer.

Definition at line 2683 of file TBufferXML.cxx.

◆ WriteLong()

void TBufferXML::WriteLong ( Long_t  l)
finalvirtual

Writes Long_t value to buffer.

Implements TBuffer.

Definition at line 2701 of file TBufferXML.cxx.

◆ WriteLong64()

void TBufferXML::WriteLong64 ( Long64_t  l)
finalvirtual

Writes Long64_t value to buffer.

Implements TBuffer.

Definition at line 2719 of file TBufferXML.cxx.

◆ WriteObjectClass()

void TBufferXML::WriteObjectClass ( const void *  actualObjStart,
const TClass actualClass,
Bool_t  cacheReuse 
)
finalprotectedvirtual

Write object to buffer. Only used from TBuffer.

Implements TBufferIO.

Definition at line 1516 of file TBufferXML.cxx.

◆ WriteShort()

void TBufferXML::WriteShort ( Short_t  s)
finalvirtual

Writes Short_t value to buffer.

Implements TBuffer.

Definition at line 2665 of file TBufferXML.cxx.

◆ WriteStdString() [1/3]

void TBufferXML::WriteStdString ( const std::string *  s)
finalvirtual

Writes a std::string.

Implements TBuffer.

Definition at line 2789 of file TBufferXML.cxx.

◆ WriteStdString() [2/3]

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

Implements TBuffer.

◆ WriteStdString() [3/3]

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

Reimplemented from TBuffer.

Definition at line 312 of file TBuffer.h.

◆ WriteTString()

void TBufferXML::WriteTString ( const TString s)
finalvirtual

Writes a TString.

Implements TBuffer.

Definition at line 2764 of file TBufferXML.cxx.

◆ WriteUChar()

void TBufferXML::WriteUChar ( UChar_t  c)
finalvirtual

Writes UChar_t value to buffer.

Implements TBuffer.

Definition at line 2656 of file TBufferXML.cxx.

◆ WriteUInt()

void TBufferXML::WriteUInt ( UInt_t  i)
finalvirtual

Writes UInt_t value to buffer.

Implements TBuffer.

Definition at line 2692 of file TBufferXML.cxx.

◆ WriteULong()

void TBufferXML::WriteULong ( ULong_t  l)
finalvirtual

Writes ULong_t value to buffer.

Implements TBuffer.

Definition at line 2710 of file TBufferXML.cxx.

◆ WriteULong64()

void TBufferXML::WriteULong64 ( ULong64_t  l)
finalvirtual

Writes ULong64_t value to buffer.

Implements TBuffer.

Definition at line 2728 of file TBufferXML.cxx.

◆ WriteUShort()

void TBufferXML::WriteUShort ( UShort_t  s)
finalvirtual

Writes UShort_t value to buffer.

Implements TBuffer.

Definition at line 2674 of file TBufferXML.cxx.

◆ WriteVersion()

UInt_t TBufferXML::WriteVersion ( const TClass cl,
Bool_t  useBcnt = kFALSE 
)
finalvirtual

Copies class version to buffer, but not writes it to xml Version will be written with next I/O operation or will be added as attribute of class tag, created by IncrementLevel call.

Implements TBuffer.

Definition at line 1477 of file TBufferXML.cxx.

◆ XmlFile()

TXMLFile * TBufferXML::XmlFile ( )
protected

Returns pointer to TXMLFile object.

Access to file is necessary to produce unique identifier for object references.

Definition at line 94 of file TBufferXML.cxx.

◆ XmlReadAny()

void * TBufferXML::XmlReadAny ( XMLNodePointer_t  node,
void *  obj,
TClass **  cl 
)
protected

Recreate object from xml structure.

Return pointer to read object. if (cl!=0) returns pointer to class of object

Definition at line 245 of file TBufferXML.cxx.

◆ XmlReadArray()

template<typename T >
R__ALWAYS_INLINE Int_t TBufferXML::XmlReadArray ( T *&  arr,
bool  is_static = false 
)
protected

Template method to read array with size attribute If necessary, array is created.

Definition at line 1547 of file TBufferXML.cxx.

◆ XmlReadArrayContent()

template<typename T >
R__ALWAYS_INLINE void TBufferXML::XmlReadArrayContent ( T *  arr,
Int_t  arrsize 
)
protected

Template method to read array content.

Definition at line 1528 of file TBufferXML.cxx.

◆ XmlReadBasic() [1/13]

void TBufferXML::XmlReadBasic ( Bool_t value)
protected

Reads string from current xml node and convert it to Bool_t value.

Definition at line 3064 of file TBufferXML.cxx.

◆ XmlReadBasic() [2/13]

void TBufferXML::XmlReadBasic ( Char_t value)
protected

Reads string from current xml node and convert it to Char_t value.

Definition at line 2978 of file TBufferXML.cxx.

◆ XmlReadBasic() [3/13]

void TBufferXML::XmlReadBasic ( Double_t value)
protected

Reads string from current xml node and convert it to Double_t value.

Definition at line 3052 of file TBufferXML.cxx.

◆ XmlReadBasic() [4/13]

void TBufferXML::XmlReadBasic ( Float_t value)
protected

Reads string from current xml node and convert it to Float_t value.

Definition at line 3040 of file TBufferXML.cxx.

◆ XmlReadBasic() [5/13]

void TBufferXML::XmlReadBasic ( Int_t value)
protected

Reads string from current xml node and convert it to Int_t value.

Definition at line 3004 of file TBufferXML.cxx.

◆ XmlReadBasic() [6/13]

void TBufferXML::XmlReadBasic ( Long64_t value)
protected

Reads string from current xml node and convert it to Long64_t value.

Definition at line 3028 of file TBufferXML.cxx.

◆ XmlReadBasic() [7/13]

void TBufferXML::XmlReadBasic ( Long_t value)
protected

Reads string from current xml node and convert it to Long_t value.

Definition at line 3016 of file TBufferXML.cxx.

◆ XmlReadBasic() [8/13]

void TBufferXML::XmlReadBasic ( Short_t value)
protected

Reads string from current xml node and convert it to Short_t value.

Definition at line 2992 of file TBufferXML.cxx.

◆ XmlReadBasic() [9/13]

void TBufferXML::XmlReadBasic ( UChar_t value)
protected

Reads string from current xml node and convert it to UChar_t value.

Definition at line 3076 of file TBufferXML.cxx.

◆ XmlReadBasic() [10/13]

void TBufferXML::XmlReadBasic ( UInt_t value)
protected

Reads string from current xml node and convert it to UInt_t value.

Definition at line 3102 of file TBufferXML.cxx.

◆ XmlReadBasic() [11/13]

void TBufferXML::XmlReadBasic ( ULong64_t value)
protected

Reads string from current xml node and convert it to ULong64_t value.

Definition at line 3126 of file TBufferXML.cxx.

◆ XmlReadBasic() [12/13]

void TBufferXML::XmlReadBasic ( ULong_t value)
protected

Reads string from current xml node and convert it to ULong_t value.

Definition at line 3114 of file TBufferXML.cxx.

◆ XmlReadBasic() [13/13]

void TBufferXML::XmlReadBasic ( UShort_t value)
protected

Reads string from current xml node and convert it to UShort_t value.

Definition at line 3090 of file TBufferXML.cxx.

◆ XmlReadBlock()

void TBufferXML::XmlReadBlock ( XMLNodePointer_t  node)
protected

Read binary block of data from xml.

Definition at line 452 of file TBufferXML.cxx.

◆ XmlReadFastArray()

template<typename T >
R__ALWAYS_INLINE void TBufferXML::XmlReadFastArray ( T *  arr,
Int_t  n 
)
protected

Template method to read content of array, which not include size of array Also treated situation, when instead of one single array chain of several elements should be produced.

Definition at line 1781 of file TBufferXML.cxx.

◆ XmlReadObject()

void * TBufferXML::XmlReadObject ( void *  obj,
TClass **  cl = nullptr 
)
protected

Read object from the buffer.

Definition at line 788 of file TBufferXML.cxx.

◆ XmlReadValue()

const char * TBufferXML::XmlReadValue ( const char *  name)
protected

read string value from current stack node

Definition at line 3138 of file TBufferXML.cxx.

◆ XmlWriteAny()

XMLNodePointer_t TBufferXML::XmlWriteAny ( const void *  obj,
const TClass cl 
)
protected

Convert object of any class to xml structures Return pointer on top xml element.

Definition at line 228 of file TBufferXML.cxx.

◆ XmlWriteArray()

template<typename T >
R__ALWAYS_INLINE void TBufferXML::XmlWriteArray ( const T *  arr,
Int_t  arrsize 
)
protected

Write array, including it size Content may be compressed.

Definition at line 2040 of file TBufferXML.cxx.

◆ XmlWriteArrayContent()

template<typename T >
R__ALWAYS_INLINE void TBufferXML::XmlWriteArrayContent ( const T *  arr,
Int_t  arrsize 
)
protected

Definition at line 2017 of file TBufferXML.cxx.

◆ XmlWriteBasic() [1/13]

XMLNodePointer_t TBufferXML::XmlWriteBasic ( Bool_t  value)
protected

Converts Bool_t to string and add xml node to buffer.

Definition at line 2902 of file TBufferXML.cxx.

◆ XmlWriteBasic() [2/13]

XMLNodePointer_t TBufferXML::XmlWriteBasic ( Char_t  value)
protected

Converts Char_t to string and add xml node to buffer.

Definition at line 2833 of file TBufferXML.cxx.

◆ XmlWriteBasic() [3/13]

XMLNodePointer_t TBufferXML::XmlWriteBasic ( Double_t  value)
protected

Converts Double_t to string and add xml node to buffer.

Definition at line 2892 of file TBufferXML.cxx.

◆ XmlWriteBasic() [4/13]

XMLNodePointer_t TBufferXML::XmlWriteBasic ( Float_t  value)
protected

Converts Float_t to string and add xml node to buffer.

Definition at line 2882 of file TBufferXML.cxx.

◆ XmlWriteBasic() [5/13]

XMLNodePointer_t TBufferXML::XmlWriteBasic ( Int_t  value)
protected

Converts Int_t to string and add xml node to buffer.

Definition at line 2853 of file TBufferXML.cxx.

◆ XmlWriteBasic() [6/13]

XMLNodePointer_t TBufferXML::XmlWriteBasic ( Long64_t  value)
protected

Converts Long64_t to string and add xml node to buffer.

Definition at line 2873 of file TBufferXML.cxx.

◆ XmlWriteBasic() [7/13]

XMLNodePointer_t TBufferXML::XmlWriteBasic ( Long_t  value)
protected

Converts Long_t to string and add xml node to buffer.

Definition at line 2863 of file TBufferXML.cxx.

◆ XmlWriteBasic() [8/13]

XMLNodePointer_t TBufferXML::XmlWriteBasic ( Short_t  value)
protected

Converts Short_t to string and add xml node to buffer.

Definition at line 2843 of file TBufferXML.cxx.

◆ XmlWriteBasic() [9/13]

XMLNodePointer_t TBufferXML::XmlWriteBasic ( UChar_t  value)
protected

Converts UChar_t to string and add xml node to buffer.

Definition at line 2910 of file TBufferXML.cxx.

◆ XmlWriteBasic() [10/13]

XMLNodePointer_t TBufferXML::XmlWriteBasic ( UInt_t  value)
protected

Converts UInt_t to string and add xml node to buffer.

Definition at line 2930 of file TBufferXML.cxx.

◆ XmlWriteBasic() [11/13]

XMLNodePointer_t TBufferXML::XmlWriteBasic ( ULong64_t  value)
protected

Converts ULong64_t to string and add xml node to buffer.

Definition at line 2950 of file TBufferXML.cxx.

◆ XmlWriteBasic() [12/13]

XMLNodePointer_t TBufferXML::XmlWriteBasic ( ULong_t  value)
protected

Converts ULong_t to string and add xml node to buffer.

Definition at line 2940 of file TBufferXML.cxx.

◆ XmlWriteBasic() [13/13]

XMLNodePointer_t TBufferXML::XmlWriteBasic ( UShort_t  value)
protected

Converts UShort_t to string and add xml node to buffer.

Definition at line 2920 of file TBufferXML.cxx.

◆ XmlWriteBlock()

void TBufferXML::XmlWriteBlock ( XMLNodePointer_t  node)
protected

Write binary data block from buffer to xml.

This data can be produced only by direct call of TBuffer::WriteBuf() functions.

Definition at line 390 of file TBufferXML.cxx.

◆ XmlWriteFastArray()

template<typename T >
R__ALWAYS_INLINE void TBufferXML::XmlWriteFastArray ( const T *  arr,
Long64_t  n 
)
protected

Write array without size attribute Also treat situation, when instead of one single array chain of several elements should be produced.

Note
Due to the current limit of the buffer size, the function aborts execution of the program in case of underflow or overflow. See https://github.com/root-project/root/issues/6734 for more details.

Definition at line 2161 of file TBufferXML.cxx.

◆ XmlWriteObject()

XMLNodePointer_t TBufferXML::XmlWriteObject ( const void *  obj,
const TClass objClass,
Bool_t  cacheReuse 
)
protected

Write object to buffer If object was written before, only pointer will be stored Return pointer to top xml node, representing object.

Definition at line 756 of file TBufferXML.cxx.

◆ XmlWriteValue()

XMLNodePointer_t TBufferXML::XmlWriteValue ( const char *  value,
const char *  name 
)
protected

Create xml node with specified name and adds it to stack node.

Definition at line 2959 of file TBufferXML.cxx.

Friends And Related Symbol Documentation

◆ TKeyXML

friend class TKeyXML
friend

Definition at line 35 of file TBufferXML.h.

Member Data Documentation

◆ fCanUseCompact

Bool_t TBufferXML::fCanUseCompact {kFALSE}
protected

! Flag indicate that basic type (like Int_t) can be placed in the same tag

Definition at line 327 of file TBufferXML.h.

◆ fCompressLevel

Int_t TBufferXML::fCompressLevel {0}
protected

! Compression level and algorithm

Definition at line 329 of file TBufferXML.h.

◆ fErrorFlag

Int_t TBufferXML::fErrorFlag {0}
protected

! Error flag

Definition at line 326 of file TBufferXML.h.

◆ fExpectedBaseClass

TClass* TBufferXML::fExpectedBaseClass {nullptr}
protected

! Pointer to class, which should be stored as parent of current

Definition at line 328 of file TBufferXML.h.

◆ fIOVersion

Int_t TBufferXML::fIOVersion {3}
protected

! Indicates format of ROOT xml file

Definition at line 330 of file TBufferXML.h.

◆ fStack

std::deque<std::unique_ptr<TXMLStackObj> > TBufferXML::fStack
protected

! Stack of processed objects

Definition at line 323 of file TBufferXML.h.

◆ fValueBuf

TString TBufferXML::fValueBuf
protected

! Current value buffer

Definition at line 325 of file TBufferXML.h.

◆ fVersionBuf

Version_t TBufferXML::fVersionBuf {-111}
protected

! Current version buffer

Definition at line 324 of file TBufferXML.h.

◆ fXML

TXMLEngine* TBufferXML::fXML {nullptr}
protected

! instance of TXMLEngine for working with XML structures

Definition at line 322 of file TBufferXML.h.

Libraries for TBufferXML:

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