Class for serializing object to and from JavaScript Object Notation (JSON) format.
It creates such object representation, which can be directly used in JavaScript ROOT (JSROOT) for drawing.
TBufferJSON implements TBuffer interface, therefore most of ROOT and user classes can be converted into JSON. There are certain limitations for classes with custom streamers, which should be equipped specially for this purposes (see TCanvas::Streamer() as example).
To perform conversion into JSON, one should use TBufferJSON::ToJSON method:
To reconstruct object from the JSON string, one should do:
JSON does not include stored class version, therefore schema evolution (reading of older class versions) is not supported. JSON should not be used as persistent storage for object data - only for live applications.
All STL containers by default converted into JSON Array. Vector of integers:
Will produce JSON code "[1, 4, 7]".
There are special handling for map classes like map
and multimap
. They will create Array of pair objects with "first" and "second" as data members. Code:
Will generate json string:
In special cases map container can be converted into JSON object. For that key parameter must be std::string
and compact parameter should be 5. Like in example:
Will produce JSON output:
Another possibility to enforce such conversion - add "JSON_object" into comment line of correspondent data member like:
Definition at line 30 of file TBufferJSON.h.
Public Types | |
enum | { kNoCompress = 0 , kNoIndent = 1 , kNoNewLine = 2 , kNoSpaces = 3 , kMapAsObject = 5 , kZeroSuppression = 10 , kSameSuppression = 20 , kBase64 = 30 , kSkipTypeInfo = 100 } |
Public Types inherited from TBufferIO | |
enum | { kMapSize = 503 } |
enum | EStatusBits { kNotDecompressed = BIT(15) , kTextBasedStreaming = BIT(18) , kUser1 = BIT(21) , kUser2 = BIT(22) , kUser3 = BIT(23) } |
Public Types inherited from TBuffer | |
enum | { kInitialSize = 1024 , kMinimalSize = 128 } |
enum | EMode { kRead = 0 , kWrite = 1 } |
enum | EStatusBits { kIsOwner = BIT(16) , kCannotHandleMemberWiseStreaming = BIT(17) } |
Public Types inherited from TObject | |
enum | { kIsOnHeap = 0x01000000 , kNotDeleted = 0x02000000 , kZombie = 0x04000000 , kInconsistent = 0x08000000 , kBitMask = 0x00ffffff } |
enum | { kSingleKey = BIT(0) , kOverwrite = BIT(1) , kWriteDelete = BIT(2) } |
enum | EDeprecatedStatusBits { kObjInCanvas = BIT(3) } |
enum | EStatusBits { kCanDelete = BIT(0) , kMustCleanup = BIT(3) , kIsReferenced = BIT(4) , kHasUUID = BIT(5) , kCannotPick = BIT(6) , kNoContextMenu = BIT(8) , kInvalidObject = BIT(13) } |
Public Member Functions | |
TBufferJSON (TBuffer::EMode mode=TBuffer::kWrite) | |
Creates buffer object to serialize data into json. More... | |
virtual | ~TBufferJSON () |
destroy buffer More... | |
void | ClassBegin (const TClass *, Version_t=-1) final |
Should be called in the beginning of custom class streamer. More... | |
void | ClassEnd (const TClass *) final |
Should be called at the end of custom streamer See TBufferJSON::ClassBegin for more details. More... | |
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 Following combinations are supported: More... | |
void | DecrementLevel (TVirtualStreamerInfo *) final |
Function is called from TStreamerInfo WriteBuffer and ReadBuffer functions and decrease level in json structure. More... | |
TVirtualStreamerInfo * | GetInfo () final |
Return current streamer info element. More... | |
void | IncrementLevel (TVirtualStreamerInfo *) final |
Function is called from TStreamerInfo WriteBuffer and ReadBuffer functions and indent new level in json structure. More... | |
Bool_t | IsSkipClassInfo (const TClass *cl) const |
Returns true if class info will be skipped from JSON. More... | |
Int_t | ReadArray (Bool_t *&b) final |
Read array of Bool_t from buffer. More... | |
Int_t | ReadArray (Char_t *&c) final |
Read array of Char_t from buffer. More... | |
Int_t | ReadArray (Double_t *&d) final |
Read array of Double_t from buffer. More... | |
Int_t | ReadArray (Float_t *&f) final |
Read array of Float_t from buffer. More... | |
Int_t | ReadArray (Int_t *&i) final |
Read array of Int_t from buffer. More... | |
Int_t | ReadArray (Long64_t *&l) final |
Read array of Long64_t from buffer. More... | |
Int_t | ReadArray (Long_t *&l) final |
Read array of Long_t from buffer. More... | |
Int_t | ReadArray (Short_t *&h) final |
Read array of Short_t from buffer. More... | |
Int_t | ReadArray (UChar_t *&c) final |
Read array of UChar_t from buffer. More... | |
Int_t | ReadArray (UInt_t *&i) final |
Read array of UInt_t from buffer. More... | |
Int_t | ReadArray (ULong64_t *&l) final |
Read array of ULong64_t from buffer. More... | |
Int_t | ReadArray (ULong_t *&l) final |
Read array of ULong_t from buffer. More... | |
Int_t | ReadArray (UShort_t *&h) final |
Read array of UShort_t from buffer. More... | |
void | ReadBaseClass (void *start, TStreamerBase *elem) final |
Read data of base class. More... | |
void | ReadBool (Bool_t &b) final |
Reads Bool_t value from buffer. More... | |
void | ReadChar (Char_t &c) final |
Reads Char_t value from buffer. More... | |
void | ReadCharP (Char_t *c) final |
Reads array of characters from buffer. More... | |
void | ReadCharStar (char *&s) final |
Reads a char* string. More... | |
TClass * | ReadClass (const TClass *cl=nullptr, UInt_t *objTag=nullptr) final |
suppressed function of TBuffer More... | |
void | ReadDouble (Double_t &d) final |
Reads Double_t value from buffer. More... | |
void | ReadFastArray (Bool_t *b, Int_t n) final |
read array of Bool_t from buffer More... | |
void | ReadFastArray (Char_t *c, Int_t n) final |
read array of Char_t from buffer More... | |
void | ReadFastArray (Double_t *d, Int_t n) final |
read array of Double_t from buffer More... | |
void | ReadFastArray (Float_t *f, Int_t n) final |
read array of Float_t from buffer More... | |
void | ReadFastArray (Int_t *i, Int_t n) final |
read array of Int_t from buffer More... | |
void | ReadFastArray (Long64_t *l, Int_t n) final |
read array of Long64_t from buffer More... | |
void | ReadFastArray (Long_t *l, Int_t n) final |
read array of Long_t from buffer More... | |
void | ReadFastArray (Short_t *h, Int_t n) final |
read array of Short_t from buffer More... | |
void | ReadFastArray (UChar_t *c, Int_t n) final |
read array of UChar_t from buffer More... | |
void | ReadFastArray (UInt_t *i, Int_t n) final |
read array of UInt_t from buffer More... | |
void | ReadFastArray (ULong64_t *l, Int_t n) final |
read array of ULong64_t from buffer More... | |
void | ReadFastArray (ULong_t *l, Int_t n) final |
read array of ULong_t from buffer More... | |
void | ReadFastArray (UShort_t *h, Int_t n) final |
read array of UShort_t from buffer More... | |
void | ReadFastArray (void **startp, const TClass *cl, Int_t n=1, Bool_t isPreAlloc=kFALSE, TMemberStreamer *s=nullptr, const TClass *onFileClass=nullptr) final |
redefined here to avoid warning message from gcc More... | |
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. More... | |
void | ReadFastArrayString (Char_t *c, Int_t n) final |
read array of Char_t from buffer More... | |
void | ReadFloat (Float_t &f) final |
Reads Float_t value from buffer. More... | |
void | ReadInt (Int_t &i) final |
Reads Int_t value from buffer. More... | |
void | ReadLong (Long_t &l) final |
Reads Long_t value from buffer. More... | |
void | ReadLong64 (Long64_t &l) final |
Reads Long64_t value from buffer. More... | |
void * | ReadObjectAny (const TClass *clCast) final |
Read object from buffer. Only used from TBuffer. More... | |
void | ReadShort (Short_t &s) final |
Reads Short_t value from buffer. More... | |
Int_t | ReadStaticArray (Bool_t *b) final |
Read array of Bool_t from buffer. More... | |
Int_t | ReadStaticArray (Char_t *c) final |
Read array of Char_t from buffer. More... | |
Int_t | ReadStaticArray (Double_t *d) final |
Read array of Double_t from buffer. More... | |
Int_t | ReadStaticArray (Float_t *f) final |
Read array of Float_t from buffer. More... | |
Int_t | ReadStaticArray (Int_t *i) final |
Read array of Int_t from buffer. More... | |
Int_t | ReadStaticArray (Long64_t *l) final |
Read array of Long64_t from buffer. More... | |
Int_t | ReadStaticArray (Long_t *l) final |
Read array of Long_t from buffer. More... | |
Int_t | ReadStaticArray (Short_t *h) final |
Read array of Short_t from buffer. More... | |
Int_t | ReadStaticArray (UChar_t *c) final |
Read array of UChar_t from buffer. More... | |
Int_t | ReadStaticArray (UInt_t *i) final |
Read array of UInt_t from buffer. More... | |
Int_t | ReadStaticArray (ULong64_t *l) final |
Read array of ULong64_t from buffer. More... | |
Int_t | ReadStaticArray (ULong_t *l) final |
Read array of ULong_t from buffer. More... | |
Int_t | ReadStaticArray (UShort_t *h) final |
Read array of UShort_t from buffer. More... | |
virtual void | ReadStdString (std::string &s) |
void | ReadStdString (std::string *s) final |
Reads a std::string. More... | |
virtual void | ReadStdString (std::string *s)=0 |
void | ReadTString (TString &s) final |
Reads a TString. More... | |
void | ReadUChar (UChar_t &c) final |
Reads UChar_t value from buffer. More... | |
void | ReadUInt (UInt_t &i) final |
Reads UInt_t value from buffer. More... | |
void | ReadULong (ULong_t &l) final |
Reads ULong_t value from buffer. More... | |
void | ReadULong64 (ULong64_t &l) final |
Reads ULong64_t value from buffer. More... | |
void | ReadUShort (UShort_t &s) final |
Reads UShort_t value from buffer. More... | |
Version_t | ReadVersion (UInt_t *start=nullptr, UInt_t *bcnt=nullptr, const TClass *cl=nullptr) final |
read version value from buffer More... | |
void * | RestoreObject (const char *str, TClass **cl) |
Read object from JSON In class pointer (if specified) read class is returned One must specify expected object class, if it is TArray or STL container. More... | |
void | SetCompact (int level) |
Set level of space/newline/array compression Lower digit of compact parameter define formatting rules. More... | |
void | SetSkipClassInfo (const TClass *cl) |
Specify class which typename will not be stored in JSON Several classes can be configured To exclude typeinfo for all classes, call TBufferJSON::SetTypenameTag("") More... | |
void | SetStreamerElementNumber (TStreamerElement *elem, Int_t comp_type) final |
Function is called from TStreamerInfo WriteBuffer and ReadBuffer functions and add/verify next element of json structure This calls allows separate data, correspondent to one class member, from another. More... | |
void | SetTypenameTag (const char *tag="_typename") |
Configures _typename tag in JSON structures By default "_typename" field in JSON structures used to store class information One can specify alternative tag like "$typename" or "xy", but such JSON can not be correctly used in JSROOT If empty string is provided, class information will not be stored. More... | |
void | SetTypeversionTag (const char *tag=nullptr) |
Configures _typeversion tag in JSON One can specify name of the JSON tag like "_typeversion" or "$tv" which will be used to store class version Such tag can be used to correctly recover objects from JSON If empty string is provided (default), class version will not be stored. More... | |
void | SkipObjectAny () final |
Skip any kind of object from buffer. More... | |
TString | StoreObject (const void *obj, const TClass *cl) |
Store provided object as JSON structure Allows to configure different TBufferJSON properties before converting object into JSON Actual object class must be specified here Method can be safely called once - after that TBufferJSON instance must be destroyed Code should look like: More... | |
void | StreamObject (TObject *obj) override |
void | StreamObject (void *obj, const char *className, const TClass *onFileClass=nullptr) override |
stream object to/from buffer More... | |
void | StreamObject (void *obj, const std::type_info &typeinfo, const TClass *onFileClass=nullptr) override |
stream object to/from buffer More... | |
void | StreamObject (void *obj, const TClass *cl, const TClass *onFileClass=nullptr) final |
stream object to/from buffer More... | |
void | WriteArray (const Bool_t *b, Int_t n) final |
Write array of Bool_t to buffer. More... | |
void | WriteArray (const Char_t *c, Int_t n) final |
Write array of Char_t to buffer. More... | |
void | WriteArray (const Double_t *d, Int_t n) final |
Write array of Double_t to buffer. More... | |
void | WriteArray (const Float_t *f, Int_t n) final |
Write array of Float_t to buffer. More... | |
void | WriteArray (const Int_t *i, Int_t n) final |
Write array of Int_ to buffer. More... | |
void | WriteArray (const Long64_t *l, Int_t n) final |
Write array of Long64_t to buffer. More... | |
void | WriteArray (const Long_t *l, Int_t n) final |
Write array of Long_t to buffer. More... | |
void | WriteArray (const Short_t *h, Int_t n) final |
Write array of Short_t to buffer. More... | |
void | WriteArray (const UChar_t *c, Int_t n) final |
Write array of UChar_t to buffer. More... | |
void | WriteArray (const UInt_t *i, Int_t n) final |
Write array of UInt_t to buffer. More... | |
void | WriteArray (const ULong64_t *l, Int_t n) final |
Write array of ULong64_t to buffer. More... | |
void | WriteArray (const ULong_t *l, Int_t n) final |
Write array of ULong_t to buffer. More... | |
void | WriteArray (const UShort_t *h, Int_t n) final |
Write array of UShort_t to buffer. More... | |
void | WriteBool (Bool_t b) final |
Writes Bool_t value to buffer. More... | |
void | WriteChar (Char_t c) final |
Writes Char_t value to buffer. More... | |
void | WriteCharP (const Char_t *c) final |
Writes array of characters to buffer. More... | |
void | WriteCharStar (char *s) final |
Writes a char*. More... | |
void | WriteClass (const TClass *cl) final |
suppressed function of TBuffer More... | |
void | WriteDouble (Double_t d) final |
Writes Double_t value to buffer. More... | |
void | WriteFastArray (const Bool_t *b, Int_t n) final |
Write array of Bool_t to buffer. More... | |
void | WriteFastArray (const Char_t *c, Int_t n) final |
Write array of Char_t to buffer. More... | |
void | WriteFastArray (const Double_t *d, Int_t n) final |
Write array of Double_t to buffer. More... | |
void | WriteFastArray (const Float_t *f, Int_t n) final |
Write array of Float_t to buffer. More... | |
void | WriteFastArray (const Int_t *i, Int_t n) final |
Write array of Int_t to buffer. More... | |
void | WriteFastArray (const Long64_t *l, Int_t n) final |
Write array of Long64_t to buffer. More... | |
void | WriteFastArray (const Long_t *l, Int_t n) final |
Write array of Long_t to buffer. More... | |
void | WriteFastArray (const Short_t *h, Int_t n) final |
Write array of Short_t to buffer. More... | |
void | WriteFastArray (const UChar_t *c, Int_t n) final |
Write array of UChar_t to buffer. More... | |
void | WriteFastArray (const UInt_t *i, Int_t n) final |
Write array of UInt_t to buffer. More... | |
void | WriteFastArray (const ULong64_t *l, Int_t n) final |
Write array of ULong64_t to buffer. More... | |
void | WriteFastArray (const ULong_t *l, Int_t n) final |
Write array of ULong_t to buffer. More... | |
void | WriteFastArray (const UShort_t *h, Int_t n) final |
Write array of UShort_t to buffer. More... | |
Int_t | WriteFastArray (void **startp, const TClass *cl, Int_t n=1, Bool_t isPreAlloc=kFALSE, TMemberStreamer *s=nullptr) final |
Recall TBuffer function to avoid gcc warning message. More... | |
void | WriteFastArray (void *start, const TClass *cl, Int_t n=1, TMemberStreamer *s=nullptr) final |
Recall TBuffer function to avoid gcc warning message. More... | |
void | WriteFastArrayString (const Char_t *c, Int_t n) final |
Write array of Char_t to buffer. More... | |
void | WriteFloat (Float_t f) final |
Writes Float_t value to buffer. More... | |
void | WriteInt (Int_t i) final |
Writes Int_t value to buffer. More... | |
void | WriteLong (Long_t l) final |
Writes Long_t value to buffer. More... | |
void | WriteLong64 (Long64_t l) final |
Writes Long64_t value to buffer. More... | |
void | WriteShort (Short_t s) final |
Writes Short_t value to buffer. More... | |
void | WriteStdString (const std::string *s) final |
Writes a std::string. More... | |
virtual void | WriteStdString (const std::string *s)=0 |
virtual void | WriteStdString (std::string &s) |
void | WriteTString (const TString &s) final |
Writes a TString. More... | |
void | WriteUChar (UChar_t c) final |
Writes UChar_t value to buffer. More... | |
void | WriteUInt (UInt_t i) final |
Writes UInt_t value to buffer. More... | |
void | WriteULong (ULong_t l) final |
Writes ULong_t value to buffer. More... | |
void | WriteULong64 (ULong64_t l) final |
Writes ULong64_t value to buffer. More... | |
void | WriteUShort (UShort_t s) final |
Writes UShort_t value to buffer. More... | |
UInt_t | WriteVersion (const TClass *cl, Bool_t useBcnt=kFALSE) final |
Ignored in TBufferJSON. More... | |
Public Member Functions inherited from TBufferText | |
virtual | ~TBufferText () |
destructor More... | |
Int_t | ApplySequence (const TStreamerInfoActions::TActionSequence &sequence, void *object) final |
Read one collection of objects from the buffer using the StreamerInfoLoopAction. More... | |
Int_t | ApplySequence (const TStreamerInfoActions::TActionSequence &sequence, void *start_collection, void *end_collection) final |
Read one collection of objects from the buffer using the StreamerInfoLoopAction. More... | |
Int_t | ApplySequenceVecPtr (const TStreamerInfoActions::TActionSequence &sequence, void *start_collection, void *end_collection) final |
Read one collection of objects from the buffer using the StreamerInfoLoopAction. More... | |
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. More... | |
Int_t | ReadArrayFloat16 (Float_t *&f, TStreamerElement *ele=nullptr) override |
Read array of Float16_t from buffer. More... | |
virtual void | ReadBaseClass (void *start, TStreamerBase *elem) |
Read data of base class. More... | |
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. More... | |
Int_t | ReadClassBuffer (const TClass *, void *, Int_t, UInt_t, UInt_t, const TClass *=nullptr) override |
Deserialize information from a buffer into an object. More... | |
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 More... | |
void | ReadFastArrayDouble32 (Double_t *d, Int_t n, TStreamerElement *ele=nullptr) final |
read array of Double32_t from buffer More... | |
void | ReadFastArrayFloat16 (Float_t *f, Int_t n, TStreamerElement *ele=nullptr) final |
read array of Float16_t from buffer More... | |
void | ReadFastArrayWithFactor (Double_t *ptr, Int_t n, Double_t factor, Double_t minvalue) final |
read array of Double32_t from buffer More... | |
void | ReadFastArrayWithFactor (Float_t *ptr, Int_t n, Double_t factor, Double_t minvalue) final |
read array of Float16_t from buffer More... | |
void | ReadFastArrayWithNbits (Double_t *ptr, Int_t n, Int_t nbits) final |
read array of Double32_t from buffer More... | |
void | ReadFastArrayWithNbits (Float_t *ptr, Int_t n, Int_t nbits) final |
read array of Float16_t from buffer More... | |
void | ReadFloat16 (Float_t *f, TStreamerElement *ele=nullptr) final |
read a Float16_t from the buffer More... | |
TObject * | ReadObject (const TClass *) final |
Int_t | ReadStaticArrayDouble32 (Double_t *d, TStreamerElement *ele=nullptr) final |
Read array of Double32_t from buffer. More... | |
Int_t | ReadStaticArrayFloat16 (Float_t *f, TStreamerElement *ele=nullptr) final |
Read array of Float16_t from buffer. More... | |
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(). More... | |
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(). More... | |
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(). More... | |
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(). More... | |
void | SetByteCount (UInt_t, Bool_t=kFALSE) final |
void | SkipVersion (const TClass *cl=nullptr) final |
Skip class version from I/O buffer. More... | |
void | StreamObject (TObject *obj) override |
virtual void | StreamObject (TObject *obj)=0 |
virtual void | StreamObject (void *obj, const char *className, const TClass *onFileClass=0)=0 |
void | StreamObject (void *obj, const char *className, const TClass *onFileClass=nullptr) override |
stream object to/from buffer More... | |
virtual void | StreamObject (void *obj, const std::type_info &typeinfo, const TClass *onFileClass=0)=0 |
void | StreamObject (void *obj, const std::type_info &typeinfo, const TClass *onFileClass=nullptr) override |
stream object to/from buffer More... | |
virtual void | StreamObject (void *obj, const TClass *cl, const TClass *onFileClass=0)=0 |
void | WriteArrayDouble32 (const Double_t *d, Int_t n, TStreamerElement *ele=nullptr) final |
Write array of Double32_t to buffer. More... | |
void | WriteArrayFloat16 (const Float_t *f, Int_t n, TStreamerElement *ele=nullptr) final |
Write array of Float16_t to buffer. More... | |
virtual void | WriteBaseClass (void *start, TStreamerBase *elem) |
Write data of base class. More... | |
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. More... | |
void | WriteDouble32 (Double_t *d, TStreamerElement *ele=nullptr) final |
write a Double32_t to the buffer More... | |
void | WriteFastArrayDouble32 (const Double_t *d, Int_t n, TStreamerElement *ele=nullptr) final |
Write array of Double32_t to buffer. More... | |
void | WriteFastArrayFloat16 (const Float_t *d, Int_t n, TStreamerElement *ele=nullptr) final |
Write array of Float16_t to buffer. More... | |
void | WriteFloat16 (Float_t *f, TStreamerElement *ele=nullptr) final |
write a Float16_t to the buffer More... | |
void | WriteString (const char *) final |
UInt_t | WriteVersionMemberWise (const TClass *, Bool_t=kFALSE) final |
Public Member Functions inherited from TBufferIO | |
virtual | ~TBufferIO () |
destructor More... | |
Bool_t | CheckObject (const TObject *obj) override |
Check if the specified object is already in the buffer. More... | |
Bool_t | CheckObject (const void *obj, const TClass *ptrClass) override |
Check if the specified object of the specified class is already in the buffer. More... | |
void | ForceWriteInfo (TVirtualStreamerInfo *info, Bool_t force) override |
force writing the TStreamerInfo to the file More... | |
void | ForceWriteInfoClones (TClonesArray *a) override |
Make sure TStreamerInfo is not optimized, otherwise it will not be possible to support schema evolution in read mode. More... | |
Int_t | GetBufferDisplacement () const override |
TProcessID * | GetLastProcessID (TRefTable *reftable) const override |
Return the last TProcessID in the file. More... | |
Int_t | GetMapCount () const override |
void | GetMappedObject (UInt_t tag, void *&ptr, TClass *&ClassPtr) const override |
Retrieve the object stored in the buffer's object map at 'tag' Set ptr and ClassPtr respectively to the address of the object and a pointer to its TClass. More... | |
UShort_t | GetPidOffset () const override |
UInt_t | GetTRefExecId () override |
Return the exec id stored in the current TStreamerInfo element. More... | |
Int_t | GetVersionOwner () const override |
Return the version number of the owner file. More... | |
void | InitMap () override |
Create the fMap container and initialize them with the null object. More... | |
void | MapObject (const TObject *obj, UInt_t offset=1) override |
Add object to the fMap container. More... | |
void | MapObject (const void *obj, const TClass *cl, UInt_t offset=1) override |
Add object to the fMap container. More... | |
Int_t | ReadClones (TClonesArray *a, Int_t nobjects, Version_t objvers) override |
Interface to TStreamerInfo::ReadBufferClones. More... | |
TProcessID * | ReadProcessID (UShort_t pidf) override |
The TProcessID with number pidf is read from file. More... | |
void | Reset () override |
Reset buffer object. Resets map and buffer offset. More... | |
void | ResetMap () override |
Delete existing fMap and reset map counter. More... | |
void | SetBufferDisplacement () override |
void | SetBufferDisplacement (Int_t skipped) override |
void | SetPidOffset (UShort_t offset) override |
This offset is used when a key (or basket) is transfered from one file to the other. More... | |
void | SetReadParam (Int_t mapsize) override |
Set the initial size of the map used to store object and class references during reading. More... | |
void | SetWriteParam (Int_t mapsize) override |
Set the initial size of the hashtable used to store object and class references during writing. More... | |
void | TagStreamerInfo (TVirtualStreamerInfo *info) override |
Mark the classindex of the current file as using this TStreamerInfo. More... | |
Int_t | WriteClones (TClonesArray *a, Int_t nobjects) override |
Interface to TStreamerInfo::WriteBufferClones. More... | |
template<class T > | |
Int_t | WriteObject (const T *objptr, Bool_t cacheReuse=kTRUE) |
virtual void | WriteObject (const TObject *obj, Bool_t cacheReuse)=0 |
void | WriteObject (const TObject *obj, Bool_t cacheReuse=kTRUE) override |
Write object to I/O buffer. More... | |
Int_t | WriteObjectAny (const void *obj, const TClass *ptrClass, Bool_t cacheReuse=kTRUE) override |
Write object to I/O buffer. More... | |
UShort_t | WriteProcessID (TProcessID *pid) override |
Check if the ProcessID pid is already in the file. More... | |
Public Member Functions inherited from TBuffer | |
TBuffer (EMode mode) | |
Create an I/O buffer object. More... | |
TBuffer (EMode mode, Int_t bufsiz) | |
Create an I/O buffer object. More... | |
TBuffer (EMode mode, Int_t bufsiz, void *buf, Bool_t adopt=kTRUE, ReAllocCharFun_t reallocfunc=0) | |
Create an I/O buffer object. More... | |
virtual | ~TBuffer () |
Delete an I/O buffer object. More... | |
virtual Int_t | ApplySequence (const TStreamerInfoActions::TActionSequence &sequence, void *object)=0 |
virtual Int_t | ApplySequence (const TStreamerInfoActions::TActionSequence &sequence, void *start_collection, void *end_collection)=0 |
virtual Int_t | ApplySequenceVecPtr (const TStreamerInfoActions::TActionSequence &sequence, void *start_collection, void *end_collection)=0 |
void | AutoExpand (Int_t size_needed) |
Automatically calculate a new size and expand the buffer to fit at least size_needed. More... | |
char * | Buffer () const |
Int_t | BufferSize () const |
Bool_t | ByteSwapBuffer (Long64_t n, EDataType type) |
Byte-swap N primitive-elements in the buffer. More... | |
virtual Int_t | CheckByteCount (UInt_t startpos, UInt_t bcnt, const char *classname)=0 |
virtual Int_t | CheckByteCount (UInt_t startpos, UInt_t bcnt, const TClass *clss)=0 |
virtual Bool_t | CheckObject (const TObject *obj)=0 |
virtual Bool_t | CheckObject (const void *obj, const TClass *ptrClass)=0 |
virtual void | ClassBegin (const TClass *, Version_t=-1)=0 |
virtual void | ClassEnd (const TClass *)=0 |
virtual void | ClassMember (const char *, const char *=0, Int_t=-1, Int_t=-1)=0 |
virtual void | DecrementLevel (TVirtualStreamerInfo *)=0 |
void | DetachBuffer () |
void | Expand (Int_t newsize, Bool_t copy=kTRUE) |
Expand (or shrink) the I/O buffer to newsize bytes. More... | |
virtual void | ForceWriteInfo (TVirtualStreamerInfo *info, Bool_t force)=0 |
virtual void | ForceWriteInfoClones (TClonesArray *a)=0 |
virtual Int_t | GetBufferDisplacement () const =0 |
Int_t | GetBufferVersion () const |
char * | GetCurrent () const |
virtual TVirtualStreamerInfo * | GetInfo ()=0 |
virtual TProcessID * | GetLastProcessID (TRefTable *reftable) const =0 |
virtual Int_t | GetMapCount () const =0 |
virtual void | GetMappedObject (UInt_t tag, void *&ptr, TClass *&ClassPtr) const =0 |
TObject * | GetParent () const |
Return pointer to parent of this buffer. More... | |
virtual UShort_t | GetPidOffset () const =0 |
ReAllocCharFun_t | GetReAllocFunc () const |
Return the reallocation method currently used. More... | |
virtual UInt_t | GetTRefExecId ()=0 |
virtual Int_t | GetVersionOwner () const =0 |
virtual void | IncrementLevel (TVirtualStreamerInfo *info)=0 |
virtual void | InitMap ()=0 |
Bool_t | IsReading () const |
Bool_t | IsWriting () const |
Int_t | Length () const |
virtual void | MapObject (const TObject *obj, UInt_t offset=1)=0 |
virtual void | MapObject (const void *obj, const TClass *cl, UInt_t offset=1)=0 |
virtual TVirtualArray * | PeekDataCache () const |
Return the 'current' data cache area from the list of area to be used for temporarily store 'missing' data members. More... | |
virtual TVirtualArray * | PopDataCache () |
Pop and Return the 'current' data cache area from the list of area to be used for temporarily store 'missing' data members. More... | |
virtual void | PushDataCache (TVirtualArray *) |
Push a new data cache area onto the list of area to be used for temporarily store 'missing' data members. More... | |
virtual Int_t | ReadArray (Bool_t *&b)=0 |
virtual Int_t | ReadArray (Char_t *&c)=0 |
virtual Int_t | ReadArray (Double_t *&d)=0 |
virtual Int_t | ReadArray (Float_t *&f)=0 |
virtual Int_t | ReadArray (Int_t *&i)=0 |
virtual Int_t | ReadArray (Long64_t *&l)=0 |
virtual Int_t | ReadArray (Long_t *&l)=0 |
virtual Int_t | ReadArray (Short_t *&h)=0 |
virtual Int_t | ReadArray (UChar_t *&c)=0 |
virtual Int_t | ReadArray (UInt_t *&i)=0 |
virtual Int_t | ReadArray (ULong64_t *&l)=0 |
virtual Int_t | ReadArray (ULong_t *&l)=0 |
virtual Int_t | ReadArray (UShort_t *&h)=0 |
virtual Int_t | ReadArrayDouble32 (Double_t *&d, TStreamerElement *ele=0)=0 |
virtual Int_t | ReadArrayFloat16 (Float_t *&f, TStreamerElement *ele=0)=0 |
virtual void | ReadBool (Bool_t &b)=0 |
virtual Int_t | ReadBuf (void *buf, Int_t max)=0 |
virtual void | ReadChar (Char_t &c)=0 |
virtual void | ReadCharP (Char_t *c)=0 |
virtual void | ReadCharStar (char *&s)=0 |
virtual TClass * | ReadClass (const TClass *cl=0, UInt_t *objTag=0)=0 |
virtual Int_t | ReadClassBuffer (const TClass *cl, void *pointer, const TClass *onfile_class=0)=0 |
virtual Int_t | ReadClassBuffer (const TClass *cl, void *pointer, Int_t version, UInt_t start, UInt_t count, const TClass *onfile_class=0)=0 |
virtual Int_t | ReadClassEmulated (const TClass *cl, void *object, const TClass *onfile_class=0)=0 |
virtual Int_t | ReadClones (TClonesArray *a, Int_t nobjects, Version_t objvers)=0 |
virtual void | ReadDouble (Double_t &d)=0 |
virtual void | ReadDouble32 (Double_t *d, TStreamerElement *ele=0)=0 |
virtual void | ReadFastArray (Bool_t *b, Int_t n)=0 |
virtual void | ReadFastArray (Char_t *c, Int_t n)=0 |
virtual void | ReadFastArray (Double_t *d, Int_t n)=0 |
virtual void | ReadFastArray (Float_t *f, Int_t n)=0 |
virtual void | ReadFastArray (Int_t *i, Int_t n)=0 |
virtual void | ReadFastArray (Long64_t *l, Int_t n)=0 |
virtual void | ReadFastArray (Long_t *l, Int_t n)=0 |
virtual void | ReadFastArray (Short_t *h, Int_t n)=0 |
virtual void | ReadFastArray (UChar_t *c, Int_t n)=0 |
virtual void | ReadFastArray (UInt_t *i, Int_t n)=0 |
virtual void | ReadFastArray (ULong64_t *l, Int_t n)=0 |
virtual void | ReadFastArray (ULong_t *l, Int_t n)=0 |
virtual void | ReadFastArray (UShort_t *h, Int_t n)=0 |
virtual void | ReadFastArray (void **startp, const TClass *cl, Int_t n=1, Bool_t isPreAlloc=kFALSE, TMemberStreamer *s=0, const TClass *onFileClass=0)=0 |
virtual void | ReadFastArray (void *start, const TClass *cl, Int_t n=1, TMemberStreamer *s=0, const TClass *onFileClass=0)=0 |
virtual void | ReadFastArrayDouble32 (Double_t *d, Int_t n, TStreamerElement *ele=0)=0 |
virtual void | ReadFastArrayFloat16 (Float_t *f, Int_t n, TStreamerElement *ele=0)=0 |
virtual void | ReadFastArrayString (Char_t *c, Int_t n)=0 |
virtual void | ReadFastArrayWithFactor (Double_t *ptr, Int_t n, Double_t factor, Double_t minvalue)=0 |
virtual void | ReadFastArrayWithFactor (Float_t *ptr, Int_t n, Double_t factor, Double_t minvalue)=0 |
virtual void | ReadFastArrayWithNbits (Double_t *ptr, Int_t n, Int_t nbits)=0 |
virtual void | ReadFastArrayWithNbits (Float_t *ptr, Int_t n, Int_t nbits)=0 |
virtual void | ReadFloat (Float_t &f)=0 |
virtual void | ReadFloat16 (Float_t *f, TStreamerElement *ele=0)=0 |
virtual void | ReadInt (Int_t &i)=0 |
virtual void | ReadLong (Long_t &l)=0 |
virtual void | ReadLong64 (Long64_t &l)=0 |
virtual TObject * | ReadObject (const TClass *cl)=0 |
virtual void * | ReadObjectAny (const TClass *cast)=0 |
virtual TProcessID * | ReadProcessID (UShort_t pidf)=0 |
Return the current Process-ID. More... | |
virtual void | ReadShort (Short_t &s)=0 |
virtual Int_t | ReadStaticArray (Bool_t *b)=0 |
virtual Int_t | ReadStaticArray (Char_t *c)=0 |
virtual Int_t | ReadStaticArray (Double_t *d)=0 |
virtual Int_t | ReadStaticArray (Float_t *f)=0 |
virtual Int_t | ReadStaticArray (Int_t *i)=0 |
virtual Int_t | ReadStaticArray (Long64_t *l)=0 |
virtual Int_t | ReadStaticArray (Long_t *l)=0 |
virtual Int_t | ReadStaticArray (Short_t *h)=0 |
virtual Int_t | ReadStaticArray (UChar_t *c)=0 |
virtual Int_t | ReadStaticArray (UInt_t *i)=0 |
virtual Int_t | ReadStaticArray (ULong64_t *l)=0 |
virtual Int_t | ReadStaticArray (ULong_t *l)=0 |
virtual Int_t | ReadStaticArray (UShort_t *h)=0 |
virtual Int_t | ReadStaticArrayDouble32 (Double_t *d, TStreamerElement *ele=0)=0 |
virtual Int_t | ReadStaticArrayFloat16 (Float_t *f, TStreamerElement *ele=0)=0 |
virtual void | ReadStdString (std::string &s) |
virtual void | ReadStdString (std::string *s)=0 |
virtual char * | ReadString (char *s, Int_t max)=0 |
virtual void | ReadTString (TString &s)=0 |
virtual void | ReadUChar (UChar_t &c)=0 |
virtual void | ReadUInt (UInt_t &i)=0 |
virtual void | ReadULong (ULong_t &l)=0 |
virtual void | ReadULong64 (ULong64_t &l)=0 |
virtual void | ReadUShort (UShort_t &s)=0 |
virtual Version_t | ReadVersion (UInt_t *start=0, UInt_t *bcnt=0, const TClass *cl=0)=0 |
virtual Version_t | ReadVersionForMemberWise (const TClass *cl=0)=0 |
virtual Version_t | ReadVersionNoCheckSum (UInt_t *start=0, UInt_t *bcnt=0)=0 |
virtual void | ReadWithFactor (Double_t *ptr, Double_t factor, Double_t minvalue)=0 |
virtual void | ReadWithFactor (Float_t *ptr, Double_t factor, Double_t minvalue)=0 |
virtual void | ReadWithNbits (Double_t *ptr, Int_t nbits)=0 |
virtual void | ReadWithNbits (Float_t *ptr, Int_t nbits)=0 |
virtual void | Reset ()=0 |
virtual void | ResetMap ()=0 |
void | SetBuffer (void *buf, UInt_t bufsiz=0, Bool_t adopt=kTRUE, ReAllocCharFun_t reallocfunc=0) |
Sets a new buffer in an existing TBuffer object. More... | |
virtual void | SetBufferDisplacement ()=0 |
virtual void | SetBufferDisplacement (Int_t skipped)=0 |
void | SetBufferOffset (Int_t offset=0) |
virtual void | SetByteCount (UInt_t cntpos, Bool_t packInVersion=kFALSE)=0 |
void | SetParent (TObject *parent) |
Set parent owning this buffer. More... | |
virtual void | SetPidOffset (UShort_t offset)=0 |
void | SetReadMode () |
Set buffer in read mode. More... | |
virtual void | SetReadParam (Int_t mapsize)=0 |
void | SetReAllocFunc (ReAllocCharFun_t reallocfunc=0) |
Set which memory reallocation method to use. More... | |
virtual void | SetStreamerElementNumber (TStreamerElement *elem, Int_t comp_type)=0 |
void | SetWriteMode () |
Set buffer in write mode. More... | |
virtual void | SetWriteParam (Int_t mapsize)=0 |
virtual void | SkipObjectAny ()=0 |
virtual void | SkipVersion (const TClass *cl=0)=0 |
virtual void | StreamObject (TObject *obj)=0 |
virtual void | StreamObject (void *obj, const char *className, const TClass *onFileClass=0)=0 |
virtual void | StreamObject (void *obj, const std::type_info &typeinfo, const TClass *onFileClass=0)=0 |
virtual void | StreamObject (void *obj, const TClass *cl, const TClass *onFileClass=0)=0 |
virtual void | TagStreamerInfo (TVirtualStreamerInfo *info)=0 |
virtual void | WriteArray (const Bool_t *b, Int_t n)=0 |
virtual void | WriteArray (const Char_t *c, Int_t n)=0 |
virtual void | WriteArray (const Double_t *d, Int_t n)=0 |
virtual void | WriteArray (const Float_t *f, Int_t n)=0 |
virtual void | WriteArray (const Int_t *i, Int_t n)=0 |
virtual void | WriteArray (const Long64_t *l, Int_t n)=0 |
virtual void | WriteArray (const Long_t *l, Int_t n)=0 |
virtual void | WriteArray (const Short_t *h, Int_t n)=0 |
virtual void | WriteArray (const UChar_t *c, Int_t n)=0 |
virtual void | WriteArray (const UInt_t *i, Int_t n)=0 |
virtual void | WriteArray (const ULong64_t *l, Int_t n)=0 |
virtual void | WriteArray (const ULong_t *l, Int_t n)=0 |
virtual void | WriteArray (const UShort_t *h, Int_t n)=0 |
virtual void | WriteArrayDouble32 (const Double_t *d, Int_t n, TStreamerElement *ele=0)=0 |
virtual void | WriteArrayFloat16 (const Float_t *f, Int_t n, TStreamerElement *ele=0)=0 |
virtual void | WriteBool (Bool_t b)=0 |
virtual void | WriteBuf (const void *buf, Int_t max)=0 |
virtual void | WriteChar (Char_t c)=0 |
virtual void | WriteCharP (const Char_t *c)=0 |
virtual void | WriteCharStar (char *s)=0 |
virtual void | WriteClass (const TClass *cl)=0 |
virtual Int_t | WriteClassBuffer (const TClass *cl, void *pointer)=0 |
virtual Int_t | WriteClones (TClonesArray *a, Int_t nobjects)=0 |
virtual void | WriteDouble (Double_t d)=0 |
virtual void | WriteDouble32 (Double_t *d, TStreamerElement *ele=0)=0 |
virtual void | WriteFastArray (const Bool_t *b, Int_t n)=0 |
virtual void | WriteFastArray (const Char_t *c, Int_t n)=0 |
virtual void | WriteFastArray (const Double_t *d, Int_t n)=0 |
virtual void | WriteFastArray (const Float_t *f, Int_t n)=0 |
virtual void | WriteFastArray (const Int_t *i, Int_t n)=0 |
virtual void | WriteFastArray (const Long64_t *l, Int_t n)=0 |
virtual void | WriteFastArray (const Long_t *l, Int_t n)=0 |
virtual void | WriteFastArray (const Short_t *h, Int_t n)=0 |
virtual void | WriteFastArray (const UChar_t *c, Int_t n)=0 |
virtual void | WriteFastArray (const UInt_t *i, Int_t n)=0 |
virtual void | WriteFastArray (const ULong64_t *l, Int_t n)=0 |
virtual void | WriteFastArray (const ULong_t *l, Int_t n)=0 |
virtual void | WriteFastArray (const UShort_t *h, Int_t n)=0 |
virtual Int_t | WriteFastArray (void **startp, const TClass *cl, Int_t n=1, Bool_t isPreAlloc=kFALSE, TMemberStreamer *s=0)=0 |
virtual void | WriteFastArray (void *start, const TClass *cl, Int_t n=1, TMemberStreamer *s=0)=0 |
virtual void | WriteFastArrayDouble32 (const Double_t *d, Int_t n, TStreamerElement *ele=0)=0 |
virtual void | WriteFastArrayFloat16 (const Float_t *f, Int_t n, TStreamerElement *ele=0)=0 |
virtual void | WriteFastArrayString (const Char_t *c, Int_t n)=0 |
virtual void | WriteFloat (Float_t f)=0 |
virtual void | WriteFloat16 (Float_t *f, TStreamerElement *ele=0)=0 |
virtual void | WriteInt (Int_t i)=0 |
virtual void | WriteLong (Long_t l)=0 |
virtual void | WriteLong64 (Long64_t l)=0 |
template<class T > | |
Int_t | WriteObject (const T *objptr, Bool_t cacheReuse=kTRUE) |
virtual void | WriteObject (const TObject *obj, Bool_t cacheReuse)=0 |
virtual Int_t | WriteObjectAny (const void *obj, const TClass *ptrClass, Bool_t cacheReuse=kTRUE)=0 |
virtual UShort_t | WriteProcessID (TProcessID *pid)=0 |
Always return 0 (current processID). More... | |
virtual void | WriteShort (Short_t s)=0 |
virtual void | WriteStdString (const std::string *s)=0 |
virtual void | WriteStdString (std::string &s) |
virtual void | WriteString (const char *s)=0 |
virtual void | WriteTString (const TString &s)=0 |
virtual void | WriteUChar (UChar_t c)=0 |
virtual void | WriteUInt (UInt_t i)=0 |
virtual void | WriteULong (ULong_t l)=0 |
virtual void | WriteULong64 (ULong64_t l)=0 |
virtual void | WriteUShort (UShort_t s)=0 |
virtual UInt_t | WriteVersion (const TClass *cl, Bool_t useBcnt=kFALSE)=0 |
virtual UInt_t | WriteVersionMemberWise (const TClass *cl, Bool_t useBcnt=kFALSE)=0 |
Public Member Functions inherited from TObject | |
TObject () | |
TObject constructor. More... | |
TObject (const TObject &object) | |
TObject copy ctor. More... | |
virtual | ~TObject () |
TObject destructor. More... | |
void | AbstractMethod (const char *method) const |
Use this method to implement an "abstract" method that you don't want to leave purely abstract. More... | |
virtual void | AppendPad (Option_t *option="") |
Append graphics object to current pad. More... | |
virtual void | Browse (TBrowser *b) |
Browse object. May be overridden for another default action. More... | |
ULong_t | CheckedHash () |
Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object. More... | |
virtual const char * | ClassName () const |
Returns name of class to which the object belongs. More... | |
virtual void | Clear (Option_t *="") |
virtual TObject * | Clone (const char *newname="") const |
Make a clone of an object using the Streamer facility. More... | |
virtual Int_t | Compare (const TObject *obj) const |
Compare abstract method. More... | |
virtual void | Copy (TObject &object) const |
Copy this to obj. More... | |
virtual void | Delete (Option_t *option="") |
Delete this object. More... | |
virtual Int_t | DistancetoPrimitive (Int_t px, Int_t py) |
Computes distance from point (px,py) to the object. More... | |
virtual void | Draw (Option_t *option="") |
Default Draw method for all objects. More... | |
virtual void | DrawClass () const |
Draw class inheritance tree of the class to which this object belongs. More... | |
virtual TObject * | DrawClone (Option_t *option="") const |
Draw a clone of this object in the current selected pad for instance with: gROOT->SetSelectedPad(gPad) . More... | |
virtual void | Dump () const |
Dump contents of object on stdout. More... | |
virtual void | Error (const char *method, const char *msgfmt,...) const |
Issue error message. More... | |
virtual void | Execute (const char *method, const char *params, Int_t *error=0) |
Execute method on this object with the given parameter string, e.g. More... | |
virtual void | Execute (TMethod *method, TObjArray *params, Int_t *error=0) |
Execute method on this object with parameters stored in the TObjArray. More... | |
virtual void | ExecuteEvent (Int_t event, Int_t px, Int_t py) |
Execute action corresponding to an event at (px,py). More... | |
virtual void | Fatal (const char *method, const char *msgfmt,...) const |
Issue fatal error message. More... | |
virtual TObject * | FindObject (const char *name) const |
Must be redefined in derived classes. More... | |
virtual TObject * | FindObject (const TObject *obj) const |
Must be redefined in derived classes. More... | |
virtual Option_t * | GetDrawOption () const |
Get option used by the graphics system to draw this object. More... | |
virtual const char * | GetIconName () const |
Returns mime type name of object. More... | |
virtual const char * | GetName () const |
Returns name of object. More... | |
virtual char * | GetObjectInfo (Int_t px, Int_t py) const |
Returns string containing info about the object at position (px,py). More... | |
virtual Option_t * | GetOption () const |
virtual const char * | GetTitle () const |
Returns title of object. More... | |
virtual UInt_t | GetUniqueID () const |
Return the unique object id. More... | |
virtual Bool_t | HandleTimer (TTimer *timer) |
Execute action in response of a timer timing out. More... | |
virtual ULong_t | Hash () const |
Return hash value for this object. More... | |
Bool_t | HasInconsistentHash () const |
Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e. More... | |
virtual void | Info (const char *method, const char *msgfmt,...) const |
Issue info message. More... | |
virtual Bool_t | InheritsFrom (const char *classname) const |
Returns kTRUE if object inherits from class "classname". More... | |
virtual Bool_t | InheritsFrom (const TClass *cl) const |
Returns kTRUE if object inherits from TClass cl. More... | |
virtual void | Inspect () const |
Dump contents of this object in a graphics canvas. More... | |
void | InvertBit (UInt_t f) |
virtual Bool_t | IsEqual (const TObject *obj) const |
Default equal comparison (objects are equal if they have the same address in memory). More... | |
virtual Bool_t | IsFolder () const |
Returns kTRUE in case object contains browsable objects (like containers or lists of other objects). More... | |
R__ALWAYS_INLINE Bool_t | IsOnHeap () const |
virtual Bool_t | IsSortable () const |
R__ALWAYS_INLINE Bool_t | IsZombie () const |
virtual void | ls (Option_t *option="") const |
The ls function lists the contents of a class on stdout. More... | |
void | MayNotUse (const char *method) const |
Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary). More... | |
virtual Bool_t | Notify () |
This method must be overridden to handle object notification. More... | |
void | Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const |
Use this method to declare a method obsolete. More... | |
void | operator delete (void *ptr) |
Operator delete. More... | |
void | operator delete[] (void *ptr) |
Operator delete []. More... | |
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) |
TObject & | operator= (const TObject &rhs) |
TObject assignment operator. More... | |
virtual void | Paint (Option_t *option="") |
This method must be overridden if a class wants to paint itself. More... | |
virtual void | Pop () |
Pop on object drawn in a pad to the top of the display list. More... | |
virtual void | Print (Option_t *option="") const |
This method must be overridden when a class wants to print itself. More... | |
virtual Int_t | Read (const char *name) |
Read contents of object with specified name from the current directory. More... | |
virtual void | RecursiveRemove (TObject *obj) |
Recursively remove this object from a list. More... | |
void | ResetBit (UInt_t f) |
virtual void | SaveAs (const char *filename="", Option_t *option="") const |
Save this object in the file specified by filename. More... | |
virtual void | SavePrimitive (std::ostream &out, Option_t *option="") |
Save a primitive as a C++ statement(s) on output stream "out". More... | |
void | SetBit (UInt_t f) |
void | SetBit (UInt_t f, Bool_t set) |
Set or unset the user status bits as specified in f. More... | |
virtual void | SetDrawOption (Option_t *option="") |
Set drawing option for object. More... | |
virtual void | SetUniqueID (UInt_t uid) |
Set the unique object id. More... | |
virtual void | SysError (const char *method, const char *msgfmt,...) const |
Issue system error message. More... | |
R__ALWAYS_INLINE Bool_t | TestBit (UInt_t f) const |
Int_t | TestBits (UInt_t f) const |
virtual void | UseCurrentStyle () |
Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked. More... | |
virtual void | Warning (const char *method, const char *msgfmt,...) const |
Issue warning message. More... | |
virtual Int_t | Write (const char *name=0, Int_t option=0, Int_t bufsize=0) |
Write this object to the current directory. More... | |
virtual Int_t | Write (const char *name=0, Int_t option=0, Int_t bufsize=0) const |
Write this object to the current directory. More... | |
Static Public Member Functions | |
static TObject * | ConvertFromJSON (const char *str) |
Read TObject-based class from JSON, produced by ConvertToJSON() method. More... | |
static void * | ConvertFromJSONAny (const char *str, TClass **cl=nullptr) |
Read object from JSON In class pointer (if specified) read class is returned One must specify expected object class, if it is TArray or STL container. More... | |
static TString | ConvertToJSON (const TObject *obj, Int_t compact=0, const char *member_name=nullptr) |
Converts object, inherited from TObject class, to JSON string Lower digit of compact parameter define formatting rules. More... | |
static TString | ConvertToJSON (const void *obj, const TClass *cl, Int_t compact=0, const char *member_name=nullptr) |
Converts any type of object to JSON string One should provide pointer on object and its class name Lower digit of compact parameter define formatting rules. More... | |
static TString | ConvertToJSON (const void *obj, TDataMember *member, Int_t compact=0, Int_t arraylen=-1) |
Converts selected data member into json Parameter ptr specifies address in memory, where data member is located compact parameter defines compactness of produced JSON (from 0 to 3) arraylen (when specified) is array length for this data member, //[fN] case. More... | |
static Int_t | ExportToFile (const char *filename, const TObject *obj, const char *option=nullptr) |
Convert object into JSON and store in text file Returns size of the produce file Used in TObject::SaveAs() More... | |
static Int_t | ExportToFile (const char *filename, const void *obj, const TClass *cl, const char *option=nullptr) |
Convert object into JSON and store in text file Returns size of the produce file. More... | |
template<class T > | |
static std::unique_ptr< T > | FromJSON (const std::string &json) |
template<class T > | |
static Bool_t | FromJSON (T *&obj, const char *json) |
template<class T > | |
static TString | ToJSON (const T *obj, Int_t compact=0, const char *member_name=nullptr) |
Static Public Member Functions inherited from TBufferText | |
static void | CompactFloatString (char *buf, unsigned len) |
method compress float string, excluding exp and/or move float point More... | |
static const char * | ConvertDouble (Double_t v, char *buf, unsigned len, Bool_t not_optimize=kFALSE) |
convert float to string with configured format More... | |
static const char * | ConvertFloat (Float_t v, char *buf, unsigned len, Bool_t not_optimize=kFALSE) |
convert float to string with configured format More... | |
static const char * | GetDoubleFormat () |
return current printf format for double members, default "%.14e" More... | |
static const char * | GetFloatFormat () |
return current printf format for float members, default "%e" More... | |
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 More... | |
static void | SetFloatFormat (const char *fmt="%e") |
set printf format for float/double members, default "%e" to change format only for doubles, use SetDoubleFormat More... | |
Static Public Member Functions inherited from TBufferIO | |
static Int_t | GetGlobalReadParam () |
Get default read map size. More... | |
static Int_t | GetGlobalWriteParam () |
Get default write map size. More... | |
static void | SetGlobalReadParam (Int_t mapsize) |
Set the initial size of the map used to store object and class references during reading. More... | |
static void | SetGlobalWriteParam (Int_t mapsize) |
Set the initial size of the map used to store object and class references during reading. More... | |
Static Public Member Functions inherited from TBuffer | |
static TClass * | GetClass (const char *className) |
Forward to TROOT::GetClass(). More... | |
static TClass * | GetClass (const std::type_info &typeinfo) |
Forward to TROOT::GetClass(). More... | |
Static Public Member Functions inherited from TObject | |
static Long_t | GetDtorOnly () |
Return destructor only flag. More... | |
static Bool_t | GetObjectStat () |
Get status of object stat flag. More... | |
static void | SetDtorOnly (void *obj) |
Set destructor only flag. More... | |
static void | SetObjectStat (Bool_t stat) |
Turn on/off tracking of objects in the TObjectTable. More... | |
Protected Member Functions | |
void | AppendOutput (const char *line0, const char *line1=nullptr) |
Append two string to the output JSON, normally separate by line break. More... | |
void | JsonDisablePostprocessing () |
disable post-processing of the code More... | |
void | JsonPushValue () |
If value exists, push in the current stack for post-processing. More... | |
template<typename T > | |
R__ALWAYS_INLINE Int_t | JsonReadArray (T *value) |
Read static array from JSON - not used. More... | |
template<typename T > | |
R__ALWAYS_INLINE void | JsonReadBasic (T &value) |
Template function to read basic value from JSON. More... | |
void | JsonReadCollection (TCollection *obj, const TClass *objClass) |
read content of ROOT collection More... | |
template<typename T > | |
R__ALWAYS_INLINE void | JsonReadFastArray (T *arr, Int_t arrsize, bool asstring=false) |
Template method to read array from the JSON. More... | |
void * | JsonReadObject (void *obj, const TClass *objClass=nullptr, TClass **readClass=nullptr) |
Read object from current JSON node. More... | |
void | JsonReadTObjectMembers (TObject *obj, void *node=nullptr) |
Read TObject data members from JSON. More... | |
Int_t | JsonSpecialClass (const TClass *cl) const |
return non-zero value when class has special handling in JSON it is TCollection (-130), TArray (100), TString (110), std::string (120) and STL containers (1..6) More... | |
void | JsonStartElement (const TStreamerElement *elem, const TClass *base_class) |
Start new class member in JSON structures. More... | |
TJSONStackObj * | JsonStartObjectWrite (const TClass *obj_class, TStreamerInfo *info=nullptr) |
Start object element with typeinfo. More... | |
template<typename T > | |
R__ALWAYS_INLINE void | JsonWriteArrayCompress (const T *vname, Int_t arrsize, const char *typname) |
void | JsonWriteBasic (Bool_t value) |
converts Bool_t to string and add to json value buffer More... | |
void | JsonWriteBasic (Char_t value) |
converts Char_t to string and add to json value buffer More... | |
void | JsonWriteBasic (Double_t value) |
converts Double_t to string and add to json value buffer More... | |
void | JsonWriteBasic (Float_t value) |
converts Float_t to string and add to json value buffer More... | |
void | JsonWriteBasic (Int_t value) |
converts Int_t to string and add to json value buffer More... | |
void | JsonWriteBasic (Long64_t value) |
converts Long64_t to string and add to json value buffer More... | |
void | JsonWriteBasic (Long_t value) |
converts Long_t to string and add to json value buffer More... | |
void | JsonWriteBasic (Short_t value) |
converts Short_t to string and add to json value buffer More... | |
void | JsonWriteBasic (UChar_t value) |
converts UChar_t to string and add to json value buffer More... | |
void | JsonWriteBasic (UInt_t value) |
converts UInt_t to string and add to json value buffer More... | |
void | JsonWriteBasic (ULong64_t value) |
converts ULong64_t to string and add to json value buffer More... | |
void | JsonWriteBasic (ULong_t value) |
converts ULong_t to string and add to json value buffer More... | |
void | JsonWriteBasic (UShort_t value) |
converts UShort_t to string and add to json value buffer More... | |
void | JsonWriteCollection (TCollection *obj, const TClass *objClass) |
store content of ROOT collection More... | |
void | JsonWriteConstChar (const char *value, Int_t len=-1, const char *=nullptr) |
writes string value, processing all kind of special characters More... | |
template<typename T > | |
R__ALWAYS_INLINE void | JsonWriteFastArray (const T *arr, Int_t arrsize, const char *typname, void(TBufferJSON::*method)(const T *, Int_t, const char *)) |
Template method to write array of arbitrary dimensions Different methods can be used for store last array dimension - either JsonWriteArrayCompress<T>() or JsonWriteConstChar() More... | |
TString | JsonWriteMember (const void *ptr, TDataMember *member, TClass *memberClass, Int_t arraylen) |
Convert single data member to JSON structures Returns string with converted member. More... | |
void | JsonWriteObject (const void *obj, const TClass *objClass, Bool_t check_map=kTRUE) |
Write object to buffer If object was written before, only pointer will be stored If check_map==kFALSE, object will be stored in any case and pointer will not be registered in the map. More... | |
void | PerformPostProcessing (TJSONStackObj *stack, const TClass *obj_cl=nullptr) |
Function is converts TObject and TString structures to more compact representation. More... | |
TJSONStackObj * | PopStack () |
remove one level from stack More... | |
TJSONStackObj * | PushStack (Int_t inclevel=0, void *readnode=nullptr) |
add new level to the structures stack More... | |
TJSONStackObj * | Stack () |
void | WorkWithClass (TStreamerInfo *info, const TClass *cl=nullptr) |
Prepares buffer to stream data of specified class. More... | |
void | WorkWithElement (TStreamerElement *elem, Int_t) |
This is call-back from streamer which indicates that class member will be streamed Name of element used in JSON. More... | |
void | WriteObjectClass (const void *actualObjStart, const TClass *actualClass, Bool_t cacheReuse) final |
Write object to buffer. Only used from TBuffer. More... | |
Protected Member Functions inherited from TBufferText | |
TBufferText () | |
Default constructor. More... | |
TBufferText (TBuffer::EMode mode, TObject *parent=nullptr) | |
Normal constructor. More... | |
ClassDefOverride (TBufferText, 0) | |
Protected Member Functions inherited from TBufferIO | |
TBufferIO () | |
TBufferIO (TBuffer::EMode mode) | |
constructor More... | |
TBufferIO (TBuffer::EMode mode, Int_t bufsiz) | |
constructor More... | |
TBufferIO (TBuffer::EMode mode, Int_t bufsiz, void *buf, Bool_t adopt=kTRUE, ReAllocCharFun_t reallocfunc=nullptr) | |
constructor More... | |
virtual void | CheckCount (UInt_t) |
Long64_t | GetObjectTag (const void *obj) |
Returns tag for specified object from objects map (if exists) Returns 0 if object not included into objects map. More... | |
virtual void | WriteObjectClass (const void *actualObjStart, const TClass *actualClass, Bool_t cacheReuse)=0 |
Protected Member Functions inherited from TBuffer | |
TBuffer () | |
TBuffer (const TBuffer &) | |
void | operator= (const TBuffer &) |
Int_t | Read (const char *name) |
Read contents of object with specified name from the current directory. More... | |
Int_t | Write (const char *name, Int_t opt, Int_t bufs) |
Write this object to the current directory. More... | |
Int_t | Write (const char *name, Int_t opt, Int_t bufs) const |
Write this object to the current directory. More... | |
Protected Member Functions inherited from TObject | |
virtual void | DoError (int level, const char *location, const char *fmt, va_list va) const |
Interface to ErrorHandler (protected). More... | |
void | MakeZombie () |
Static Protected Member Functions | |
static void * | ConvertFromJSONChecked (const char *str, const TClass *expectedClass) |
Read objects from JSON, one can reuse existing object. More... | |
Static Protected Member Functions inherited from TBufferIO | |
static R__ALWAYS_INLINE ULong_t | Void_Hash (const void *ptr) |
Return hash value for provided object. More... | |
Protected Attributes | |
Int_t | fArrayCompact {0} |
! 0 - no array compression, 1 - exclude leading/trailing zeros, 2 - check value repetition More... | |
TString | fArraySepar |
! depending from compression level, ", " or "," More... | |
Int_t | fCompact {0} |
! 0 - no any compression, 1 - no spaces in the begin, 2 - no new lines, 3 - no spaces at all More... | |
unsigned | fJsonrCnt {0} |
! counter for all objects, used for referencing More... | |
Bool_t | fMapAsObject {kFALSE} |
! when true, std::map will be converted into JSON object More... | |
TString | fNumericLocale |
! stored value of setlocale(LC_NUMERIC), which should be recovered at the end More... | |
TString | fOutBuffer |
! main output buffer for json code More... | |
TString * | fOutput {nullptr} |
! current output buffer for json code More... | |
TString | fSemicolon |
! depending from compression level, " : " or ":" More... | |
std::vector< const TClass * > | fSkipClasses |
! list of classes, which class info is not stored More... | |
std::deque< std::unique_ptr< TJSONStackObj > > | fStack |
! hierarchy of currently streamed element More... | |
TString | fTypeNameTag |
! JSON member used for storing class name, when empty - no class name will be stored More... | |
TString | fTypeVersionTag |
! JSON member used to store class version, default empty More... | |
TString | fValue |
! buffer for current value More... | |
Protected Attributes inherited from TBufferIO | |
TExMap * | fClassMap {nullptr} |
Map containing object,class pairs for reading. More... | |
Int_t | fDisplacement {0} |
Value to be added to the map offsets. More... | |
TExMap * | fMap {nullptr} |
Map containing object,offset pairs for reading/writing. More... | |
Int_t | fMapCount {0} |
Number of objects or classes in map. More... | |
Int_t | fMapSize {0} |
Default size of map. More... | |
UShort_t | fPidOffset {0} |
Offset to be added to the pid index in this key/buffer. More... | |
Protected Attributes inherited from TBuffer | |
char * | fBufCur |
char * | fBuffer |
char * | fBufMax |
Int_t | fBufSize |
CacheList_t | fCacheStack |
Realloc function to be used when extending the buffer. More... | |
Bool_t | fMode |
TObject * | fParent |
ReAllocCharFun_t | fReAllocFunc |
Int_t | fVersion |
Additional Inherited Members | |
Protected Types inherited from TBufferIO | |
enum | { kNullTag = 0 } |
Protected Types inherited from TBuffer | |
typedef std::vector< TVirtualArray * > | CacheList_t |
Static Protected Attributes inherited from TBufferText | |
static const char * | fgDoubleFmt = "%.14e" |
! printf argument for doubles, either "%f" or "%e" or "%10f" and so on More... | |
static const char * | fgFloatFmt = "%e" |
! printf argument for floats, either "%f" or "%e" or "%10f" and so on More... | |
Static Protected Attributes inherited from TBufferIO | |
static Int_t | fgMapSize = kMapSize |
Default map size for all TBuffer objects. More... | |
#include <TBufferJSON.h>
anonymous enum |
Definition at line 34 of file TBufferJSON.h.
TBufferJSON::TBufferJSON | ( | TBuffer::EMode | mode = TBuffer::kWrite | ) |
Creates buffer object to serialize data into json.
Definition at line 477 of file TBufferJSON.cxx.
|
virtual |
destroy buffer
Definition at line 498 of file TBufferJSON.cxx.
|
protected |
Append two string to the output JSON, normally separate by line break.
Definition at line 1157 of file TBufferJSON.cxx.
Should be called in the beginning of custom class streamer.
Informs buffer data about class which will be streamed now.
ClassBegin(), ClassEnd() and ClassMember() 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 JSON. Without that functions calls classes with custom streamers cannot be used with TBufferJSON
Implements TBuffer.
Definition at line 2170 of file TBufferJSON.cxx.
Should be called at the end of custom streamer See TBufferJSON::ClassBegin for more details.
Implements TBuffer.
Definition at line 2179 of file TBufferJSON.cxx.
|
finalvirtual |
Method indicates name and typename of class member, which should be now streamed in custom streamer Following combinations are supported:
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 2221 of file TBufferJSON.cxx.
|
static |
Read TObject-based class from JSON, produced by ConvertToJSON() method.
If object does not inherit from TObject class, return 0.
Definition at line 912 of file TBufferJSON.cxx.
Read object from JSON In class pointer (if specified) read class is returned One must specify expected object class, if it is TArray or STL container.
Definition at line 935 of file TBufferJSON.cxx.
|
staticprotected |
Read objects from JSON, one can reuse existing object.
Definition at line 978 of file TBufferJSON.cxx.
|
static |
Converts object, inherited from TObject class, to JSON string Lower digit of compact parameter define formatting rules.
Second digit of compact parameter defines algorithm for arrays compression
Maximal compression achieved when compact parameter equal to 23 When member_name specified, converts only this data member
Definition at line 523 of file TBufferJSON.cxx.
|
static |
Converts any type of object to JSON string One should provide pointer on object and its class name Lower digit of compact parameter define formatting rules.
Definition at line 639 of file TBufferJSON.cxx.
|
static |
Converts selected data member into json Parameter ptr specifies address in memory, where data member is located compact parameter defines compactness of produced JSON (from 0 to 3) arraylen (when specified) is array length for this data member, //[fN] case.
Definition at line 725 of file TBufferJSON.cxx.
|
finalvirtual |
Function is called from TStreamerInfo WriteBuffer and ReadBuffer functions and decrease level in json structure.
Implements TBuffer.
Definition at line 2037 of file TBufferJSON.cxx.
|
static |
Convert object into JSON and store in text file Returns size of the produce file Used in TObject::SaveAs()
Definition at line 752 of file TBufferJSON.cxx.
|
static |
Convert object into JSON and store in text file Returns size of the produce file.
Definition at line 832 of file TBufferJSON.cxx.
|
inlinestatic |
Definition at line 90 of file TBufferJSON.h.
|
inlinestatic |
Definition at line 81 of file TBufferJSON.h.
|
finalvirtual |
Return current streamer info element.
Implements TBuffer.
Definition at line 2068 of file TBufferJSON.cxx.
|
finalvirtual |
Function is called from TStreamerInfo WriteBuffer and ReadBuffer functions and indent new level in json structure.
This call indicates, that TStreamerInfo functions starts streaming object data of correspondent class
Implements TBuffer.
Definition at line 1990 of file TBufferJSON.cxx.
Returns true if class info will be skipped from JSON.
Definition at line 615 of file TBufferJSON.cxx.
|
protected |
disable post-processing of the code
Definition at line 1271 of file TBufferJSON.cxx.
|
protected |
If value exists, push in the current stack for post-processing.
Definition at line 2510 of file TBufferJSON.cxx.
|
protected |
Read static array from JSON - not used.
Definition at line 2624 of file TBufferJSON.cxx.
|
protected |
Template function to read basic value from JSON.
Definition at line 3516 of file TBufferJSON.cxx.
|
protected |
read content of ROOT collection
Definition at line 1669 of file TBufferJSON.cxx.
|
protected |
Template method to read array from the JSON.
Definition at line 2738 of file TBufferJSON.cxx.
|
protected |
Read object from current JSON node.
Definition at line 1767 of file TBufferJSON.cxx.
Read TObject data members from JSON.
Do not call TObject::Streamer() to avoid special tweaking of TBufferJSON interface
Definition at line 1965 of file TBufferJSON.cxx.
return non-zero value when class has special handling in JSON it is TCollection (-130), TArray (100), TString (110), std::string (120) and STL containers (1..6)
Definition at line 1280 of file TBufferJSON.cxx.
|
protected |
Start new class member in JSON structures.
Definition at line 1213 of file TBufferJSON.cxx.
|
protected |
Start object element with typeinfo.
Definition at line 1179 of file TBufferJSON.cxx.
|
protected |
Definition at line 3020 of file TBufferJSON.cxx.
converts Bool_t to string and add to json value buffer
Definition at line 3929 of file TBufferJSON.cxx.
converts Char_t to string and add to json value buffer
Definition at line 3849 of file TBufferJSON.cxx.
converts Double_t to string and add to json value buffer
Definition at line 3913 of file TBufferJSON.cxx.
converts Float_t to string and add to json value buffer
Definition at line 3897 of file TBufferJSON.cxx.
converts Int_t to string and add to json value buffer
Definition at line 3869 of file TBufferJSON.cxx.
converts Long64_t to string and add to json value buffer
Definition at line 3889 of file TBufferJSON.cxx.
converts Long_t to string and add to json value buffer
Definition at line 3879 of file TBufferJSON.cxx.
converts Short_t to string and add to json value buffer
Definition at line 3859 of file TBufferJSON.cxx.
converts UChar_t to string and add to json value buffer
Definition at line 3937 of file TBufferJSON.cxx.
converts UInt_t to string and add to json value buffer
Definition at line 3957 of file TBufferJSON.cxx.
converts ULong64_t to string and add to json value buffer
Definition at line 3977 of file TBufferJSON.cxx.
converts ULong_t to string and add to json value buffer
Definition at line 3967 of file TBufferJSON.cxx.
converts UShort_t to string and add to json value buffer
Definition at line 3947 of file TBufferJSON.cxx.
|
protected |
store content of ROOT collection
Definition at line 1595 of file TBufferJSON.cxx.
|
protected |
writes string value, processing all kind of special characters
Definition at line 3985 of file TBufferJSON.cxx.
|
protected |
Template method to write array of arbitrary dimensions Different methods can be used for store last array dimension - either JsonWriteArrayCompress<T>() or JsonWriteConstChar()
Definition at line 3243 of file TBufferJSON.cxx.
|
protected |
Convert single data member to JSON structures Returns string with converted member.
Definition at line 1008 of file TBufferJSON.cxx.
|
protected |
Write object to buffer If object was written before, only pointer will be stored If check_map==kFALSE, object will be stored in any case and pointer will not be registered in the map.
Definition at line 1318 of file TBufferJSON.cxx.
|
protected |
Function is converts TObject and TString structures to more compact representation.
Definition at line 2317 of file TBufferJSON.cxx.
|
protected |
remove one level from stack
Definition at line 1146 of file TBufferJSON.cxx.
add new level to the structures stack
Definition at line 1128 of file TBufferJSON.cxx.
Read array of Bool_t from buffer.
Implements TBuffer.
Definition at line 2519 of file TBufferJSON.cxx.
Read array of Char_t from buffer.
Implements TBuffer.
Definition at line 2527 of file TBufferJSON.cxx.
Read array of Double_t from buffer.
Implements TBuffer.
Definition at line 2615 of file TBufferJSON.cxx.
Read array of Float_t from buffer.
Implements TBuffer.
Definition at line 2607 of file TBufferJSON.cxx.
Read array of Int_t from buffer.
Implements TBuffer.
Definition at line 2559 of file TBufferJSON.cxx.
Read array of Long64_t from buffer.
Implements TBuffer.
Definition at line 2591 of file TBufferJSON.cxx.
Read array of Long_t from buffer.
Implements TBuffer.
Definition at line 2575 of file TBufferJSON.cxx.
Read array of Short_t from buffer.
Implements TBuffer.
Definition at line 2543 of file TBufferJSON.cxx.
Read array of UChar_t from buffer.
Implements TBuffer.
Definition at line 2535 of file TBufferJSON.cxx.
Read array of UInt_t from buffer.
Implements TBuffer.
Definition at line 2567 of file TBufferJSON.cxx.
Read array of ULong64_t from buffer.
Implements TBuffer.
Definition at line 2599 of file TBufferJSON.cxx.
Read array of ULong_t from buffer.
Implements TBuffer.
Definition at line 2583 of file TBufferJSON.cxx.
Read array of UShort_t from buffer.
Implements TBuffer.
Definition at line 2551 of file TBufferJSON.cxx.
|
finalvirtual |
Read data of base class.
Reimplemented from TBufferText.
Definition at line 4026 of file TBufferJSON.cxx.
Reads Bool_t value from buffer.
Implements TBuffer.
Definition at line 3524 of file TBufferJSON.cxx.
Reads Char_t value from buffer.
Implements TBuffer.
Definition at line 3532 of file TBufferJSON.cxx.
Reads array of characters from buffer.
Implements TBuffer.
Definition at line 3642 of file TBufferJSON.cxx.
|
finalvirtual |
Reads Double_t value from buffer.
Implements TBuffer.
Definition at line 3630 of file TBufferJSON.cxx.
read array of Bool_t from buffer
Implements TBuffer.
Definition at line 2819 of file TBufferJSON.cxx.
read array of Char_t from buffer
Implements TBuffer.
Definition at line 2827 of file TBufferJSON.cxx.
read array of Double_t from buffer
Implements TBuffer.
Definition at line 2923 of file TBufferJSON.cxx.
read array of Float_t from buffer
Implements TBuffer.
Definition at line 2915 of file TBufferJSON.cxx.
read array of Int_t from buffer
Implements TBuffer.
Definition at line 2867 of file TBufferJSON.cxx.
read array of Long64_t from buffer
Implements TBuffer.
Definition at line 2899 of file TBufferJSON.cxx.
read array of Long_t from buffer
Implements TBuffer.
Definition at line 2883 of file TBufferJSON.cxx.
read array of Short_t from buffer
Implements TBuffer.
Definition at line 2851 of file TBufferJSON.cxx.
read array of UChar_t from buffer
Implements TBuffer.
Definition at line 2843 of file TBufferJSON.cxx.
read array of UInt_t from buffer
Implements TBuffer.
Definition at line 2875 of file TBufferJSON.cxx.
read array of ULong64_t from buffer
Implements TBuffer.
Definition at line 2907 of file TBufferJSON.cxx.
read array of ULong_t from buffer
Implements TBuffer.
Definition at line 2891 of file TBufferJSON.cxx.
read array of UShort_t from buffer
Implements TBuffer.
Definition at line 2859 of file TBufferJSON.cxx.
|
finalvirtual |
redefined here to avoid warning message from gcc
Implements TBuffer.
Definition at line 2974 of file TBufferJSON.cxx.
|
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'. Copied code from TBufferFile
Implements TBuffer.
Definition at line 2934 of file TBufferJSON.cxx.
read array of Char_t from buffer
Implements TBuffer.
Definition at line 2835 of file TBufferJSON.cxx.
Reads Float_t value from buffer.
Implements TBuffer.
Definition at line 3618 of file TBufferJSON.cxx.
Reads Long_t value from buffer.
Implements TBuffer.
Definition at line 3586 of file TBufferJSON.cxx.
Reads Long64_t value from buffer.
Implements TBuffer.
Definition at line 3602 of file TBufferJSON.cxx.
Read object from buffer. Only used from TBuffer.
Implements TBuffer.
Definition at line 2483 of file TBufferJSON.cxx.
Reads Short_t value from buffer.
Implements TBuffer.
Definition at line 3551 of file TBufferJSON.cxx.
Read array of Bool_t from buffer.
Implements TBuffer.
Definition at line 2633 of file TBufferJSON.cxx.
Read array of Char_t from buffer.
Implements TBuffer.
Definition at line 2641 of file TBufferJSON.cxx.
Read array of Double_t from buffer.
Implements TBuffer.
Definition at line 2729 of file TBufferJSON.cxx.
Read array of Float_t from buffer.
Implements TBuffer.
Definition at line 2721 of file TBufferJSON.cxx.
Read array of Int_t from buffer.
Implements TBuffer.
Definition at line 2673 of file TBufferJSON.cxx.
Read array of Long64_t from buffer.
Implements TBuffer.
Definition at line 2705 of file TBufferJSON.cxx.
Read array of Long_t from buffer.
Implements TBuffer.
Definition at line 2689 of file TBufferJSON.cxx.
Read array of Short_t from buffer.
Implements TBuffer.
Definition at line 2657 of file TBufferJSON.cxx.
Read array of UChar_t from buffer.
Implements TBuffer.
Definition at line 2649 of file TBufferJSON.cxx.
Read array of UInt_t from buffer.
Implements TBuffer.
Definition at line 2681 of file TBufferJSON.cxx.
Read array of ULong64_t from buffer.
Implements TBuffer.
Definition at line 2713 of file TBufferJSON.cxx.
Read array of ULong_t from buffer.
Implements TBuffer.
Definition at line 2697 of file TBufferJSON.cxx.
Read array of UShort_t from buffer.
Implements TBuffer.
Definition at line 2665 of file TBufferJSON.cxx.
|
inlinevirtual |
|
finalvirtual |
Reads UChar_t value from buffer.
Implements TBuffer.
Definition at line 3543 of file TBufferJSON.cxx.
Reads UInt_t value from buffer.
Implements TBuffer.
Definition at line 3578 of file TBufferJSON.cxx.
Reads ULong_t value from buffer.
Implements TBuffer.
Definition at line 3594 of file TBufferJSON.cxx.
Reads ULong64_t value from buffer.
Implements TBuffer.
Definition at line 3610 of file TBufferJSON.cxx.
Reads UShort_t value from buffer.
Implements TBuffer.
Definition at line 3559 of file TBufferJSON.cxx.
Read object from JSON In class pointer (if specified) read class is returned One must specify expected object class, if it is TArray or STL container.
Definition at line 947 of file TBufferJSON.cxx.
void TBufferJSON::SetCompact | ( | int | level | ) |
Set level of space/newline/array compression Lower digit of compact parameter define formatting rules.
Second digit of compact parameter defines algorithm for arrays compression
Third digit defines usage of typeinfo
Definition at line 555 of file TBufferJSON.cxx.
Specify class which typename will not be stored in JSON Several classes can be configured To exclude typeinfo for all classes, call TBufferJSON::SetTypenameTag("")
Definition at line 606 of file TBufferJSON.cxx.
|
finalvirtual |
Function is called from TStreamerInfo WriteBuffer and ReadBuffer functions and add/verify next element of json structure This calls allows separate data, correspondent to one class member, from another.
Implements TBuffer.
Definition at line 2078 of file TBufferJSON.cxx.
void TBufferJSON::SetTypenameTag | ( | const char * | tag = "_typename" | ) |
Configures _typename tag in JSON structures By default "_typename" field in JSON structures used to store class information One can specify alternative tag like "$typename" or "xy", but such JSON can not be correctly used in JSROOT If empty string is provided, class information will not be stored.
Definition at line 579 of file TBufferJSON.cxx.
void TBufferJSON::SetTypeversionTag | ( | const char * | tag = nullptr | ) |
Configures _typeversion tag in JSON One can specify name of the JSON tag like "_typeversion" or "$tv" which will be used to store class version Such tag can be used to correctly recover objects from JSON If empty string is provided (default), class version will not be stored.
Definition at line 593 of file TBufferJSON.cxx.
|
finalvirtual |
Skip any kind of object from buffer.
Implements TBuffer.
Definition at line 2494 of file TBufferJSON.cxx.
|
inlineprotected |
Definition at line 257 of file TBufferJSON.h.
Store provided object as JSON structure Allows to configure different TBufferJSON properties before converting object into JSON Actual object class must be specified here Method can be safely called once - after that TBufferJSON instance must be destroyed Code should look like:
auto obj = new UserClass(); TBufferJSON buf; buf.SetCompact(TBufferJSON::kNoSpaces); // change any other settings in TBufferJSON auto json = buf.StoreObject(obj, TClass::GetClass<UserClass>());
Definition at line 701 of file TBufferJSON.cxx.
Reimplemented from TBufferText.
Definition at line 34 of file TBufferText.cxx.
|
overridevirtual |
stream object to/from buffer
Reimplemented from TBufferText.
Definition at line 33 of file TBufferText.cxx.
|
overridevirtual |
stream object to/from buffer
Reimplemented from TBufferText.
Definition at line 32 of file TBufferText.cxx.
|
inlinestatic |
Definition at line 75 of file TBufferJSON.h.
|
protected |
Prepares buffer to stream data of specified class.
Definition at line 2001 of file TBufferJSON.cxx.
|
protected |
This is call-back from streamer which indicates that class member will be streamed Name of element used in JSON.
Definition at line 2091 of file TBufferJSON.cxx.
Write array of Bool_t to buffer.
Implements TBuffer.
Definition at line 3123 of file TBufferJSON.cxx.
Write array of Char_t to buffer.
Implements TBuffer.
Definition at line 3132 of file TBufferJSON.cxx.
Write array of Double_t to buffer.
Implements TBuffer.
Definition at line 3231 of file TBufferJSON.cxx.
Write array of Float_t to buffer.
Implements TBuffer.
Definition at line 3222 of file TBufferJSON.cxx.
Write array of Long64_t to buffer.
Implements TBuffer.
Definition at line 3204 of file TBufferJSON.cxx.
Write array of Long_t to buffer.
Implements TBuffer.
Definition at line 3186 of file TBufferJSON.cxx.
Write array of Short_t to buffer.
Implements TBuffer.
Definition at line 3150 of file TBufferJSON.cxx.
Write array of UChar_t to buffer.
Implements TBuffer.
Definition at line 3141 of file TBufferJSON.cxx.
Write array of UInt_t to buffer.
Implements TBuffer.
Definition at line 3177 of file TBufferJSON.cxx.
Write array of ULong64_t to buffer.
Implements TBuffer.
Definition at line 3213 of file TBufferJSON.cxx.
Write array of ULong_t to buffer.
Implements TBuffer.
Definition at line 3195 of file TBufferJSON.cxx.
Write array of UShort_t to buffer.
Implements TBuffer.
Definition at line 3159 of file TBufferJSON.cxx.
Writes array of characters to buffer.
Implements TBuffer.
Definition at line 3806 of file TBufferJSON.cxx.
|
finalvirtual |
Writes Double_t value to buffer.
Implements TBuffer.
Definition at line 3797 of file TBufferJSON.cxx.
Write array of Bool_t to buffer.
Implements TBuffer.
Definition at line 3280 of file TBufferJSON.cxx.
Write array of Char_t to buffer.
Implements TBuffer.
Definition at line 3288 of file TBufferJSON.cxx.
Write array of Double_t to buffer.
Implements TBuffer.
Definition at line 3384 of file TBufferJSON.cxx.
Write array of Float_t to buffer.
Implements TBuffer.
Definition at line 3376 of file TBufferJSON.cxx.
Write array of Int_t to buffer.
Implements TBuffer.
Definition at line 3328 of file TBufferJSON.cxx.
Write array of Long64_t to buffer.
Implements TBuffer.
Definition at line 3360 of file TBufferJSON.cxx.
Write array of Long_t to buffer.
Implements TBuffer.
Definition at line 3344 of file TBufferJSON.cxx.
Write array of Short_t to buffer.
Implements TBuffer.
Definition at line 3312 of file TBufferJSON.cxx.
Write array of UChar_t to buffer.
Implements TBuffer.
Definition at line 3304 of file TBufferJSON.cxx.
Write array of UInt_t to buffer.
Implements TBuffer.
Definition at line 3336 of file TBufferJSON.cxx.
Write array of ULong64_t to buffer.
Implements TBuffer.
Definition at line 3368 of file TBufferJSON.cxx.
Write array of ULong_t to buffer.
Implements TBuffer.
Definition at line 3352 of file TBufferJSON.cxx.
Write array of UShort_t to buffer.
Implements TBuffer.
Definition at line 3320 of file TBufferJSON.cxx.
|
finalvirtual |
Recall TBuffer function to avoid gcc warning message.
Implements TBuffer.
Definition at line 3445 of file TBufferJSON.cxx.
|
finalvirtual |
Recall TBuffer function to avoid gcc warning message.
Implements TBuffer.
Definition at line 3392 of file TBufferJSON.cxx.
Write array of Char_t to buffer.
Implements TBuffer.
Definition at line 3296 of file TBufferJSON.cxx.
Writes Float_t value to buffer.
Implements TBuffer.
Definition at line 3788 of file TBufferJSON.cxx.
Writes Long64_t value to buffer.
Implements TBuffer.
Definition at line 3770 of file TBufferJSON.cxx.
|
finalprotectedvirtual |
Write object to buffer. Only used from TBuffer.
Implements TBufferIO.
Definition at line 2499 of file TBufferJSON.cxx.
Writes Short_t value to buffer.
Implements TBuffer.
Definition at line 3716 of file TBufferJSON.cxx.
|
finalvirtual |
|
inlinevirtual |
Writes UChar_t value to buffer.
Implements TBuffer.
Definition at line 3707 of file TBufferJSON.cxx.
Writes ULong_t value to buffer.
Implements TBuffer.
Definition at line 3761 of file TBufferJSON.cxx.
Writes ULong64_t value to buffer.
Implements TBuffer.
Definition at line 3779 of file TBufferJSON.cxx.
Writes UShort_t value to buffer.
Implements TBuffer.
Definition at line 3725 of file TBufferJSON.cxx.
|
protected |
! 0 - no array compression, 1 - exclude leading/trailing zeros, 2 - check value repetition
Definition at line 325 of file TBufferJSON.h.
|
protected |
! depending from compression level, ", " or ","
Definition at line 326 of file TBufferJSON.h.
|
protected |
! 0 - no any compression, 1 - no spaces in the begin, 2 - no new lines, 3 - no spaces at all
Definition at line 322 of file TBufferJSON.h.
|
protected |
! counter for all objects, used for referencing
Definition at line 320 of file TBufferJSON.h.
! when true, std::map will be converted into JSON object
Definition at line 323 of file TBufferJSON.h.
|
protected |
! stored value of setlocale(LC_NUMERIC), which should be recovered at the end
Definition at line 327 of file TBufferJSON.h.
|
protected |
! main output buffer for json code
Definition at line 317 of file TBufferJSON.h.
|
protected |
! current output buffer for json code
Definition at line 318 of file TBufferJSON.h.
|
protected |
! depending from compression level, " : " or ":"
Definition at line 324 of file TBufferJSON.h.
|
protected |
! list of classes, which class info is not stored
Definition at line 330 of file TBufferJSON.h.
|
protected |
! hierarchy of currently streamed element
Definition at line 321 of file TBufferJSON.h.
|
protected |
! JSON member used for storing class name, when empty - no class name will be stored
Definition at line 328 of file TBufferJSON.h.
|
protected |
! JSON member used to store class version, default empty
Definition at line 329 of file TBufferJSON.h.
|
protected |
! buffer for current value
Definition at line 319 of file TBufferJSON.h.