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

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:

TH1 *h1 = new TH1I("h1", "title", 100, 0, 10);
h1->FillRandom("gaus",10000);
nlohmann::json json
static TString ToJSON(const T *obj, Int_t compact=0, const char *member_name=nullptr)
Definition TBufferJSON.h:77
1-D histogram with an int per channel (see TH1 documentation)
Definition TH1.h:796
TH1 is the base class of all histogram classes in ROOT.
Definition TH1.h:109
Basic string class.
Definition TString.h:138
TH1F * h1
Definition legend1.C:5

To reconstruct object from the JSON string, one should do:

TH1 *hnew = nullptr;
if (hnew) hnew->Draw("hist");
static Bool_t FromJSON(T *&obj, const char *json)
Definition TBufferJSON.h:85
void Draw(Option_t *option="") override
Draw this histogram with options.
Definition TH1.cxx:3097

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:

std::vector<int> vect = {1,4,7};
auto json = TBufferJSON::ToJSON(&vect);

Will produce JSON code "[1, 4, 7]".

IMPORTANT: Before using any of map classes in I/O, one should create dictionary for it with the command like:

gInterpreter->GenerateDictionary("std::map<int,std::string>", "map;string")
#define gInterpreter

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:

std::map<int,string> m;
m[1] = "number 1";
m[2] = "number 2";
TMarker m
Definition textangle.C:8

Will generate json string:

[
{"$pair" : "pair<int,string>", "first" : 1, "second" : "number 1"},
{"$pair" : "pair<int,string>", "first" : 2, "second" : "number 2"}
]

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:

gInterpreter->GenerateDictionary("std::map<std::string,int>", "map;string")
std::map<std::string,int> data;
data["name1"] = 11;
data["name2"] = 22;
@ kMapAsObject
store std::map, std::unordered_map as JSON object
Definition TBufferJSON.h:41

Will produce JSON output:

{
"_typename": "map<string,int>",
"name1": 11,
"name2": 22
}

Another possibility to enforce such conversion - add "JSON_object" into comment line of correspondent data member like:

class Container {
std::map<std::string,int> data; ///< JSON_object
};

Definition at line 30 of file TBufferJSON.h.

Public Types

enum  { kSingleKey = (1ULL << (0)) , kOverwrite = (1ULL << (1)) , kWriteDelete = (1ULL << (2)) }
enum  {
  kIsOnHeap = 0x01000000 , kNotDeleted = 0x02000000 , kZombie = 0x04000000 , kInconsistent = 0x08000000 ,
  kBitMask = 0x00ffffff
}
enum  { kInitialSize = 1024 , kMinimalSize = 128 }
enum  { kMapSize = 503 }
enum  {
  kNoCompress = 0 , kNoIndent = 1 , kNoNewLine = 2 , kNoSpaces = 3 ,
  kMapAsObject = 5 , kZeroSuppression = 10 , kSameSuppression = 20 , kBase64 = 30 ,
  kSkipTypeInfo = 100 , kStoreInfNaN = 1000
}
enum  EDeprecatedStatusBits { kObjInCanvas = (1ULL << (3)) }
enum  EMode { kRead = 0 , kWrite = 1 }
enum  EStatusBits {
  kNotDecompressed = (1ULL << (15)) , kTextBasedStreaming = (1ULL << (18)) , kUser1 = (1ULL << (21)) , kUser2 = (1ULL << (22)) ,
  kUser3 = (1ULL << (23))
}

Public Member Functions

 TBufferJSON (TBuffer::EMode mode=TBuffer::kWrite)
 Creates buffer object to serialize data into json.
 ~TBufferJSON () override
 destroy buffer
void AbstractMethod (const char *method) const
 Call this function within a function that you don't want to define as purely virtual, in order not to force all users deriving from that class to implement that maybe (on their side) unused function; but at the same time, emit a run-time warning if they try to call it, telling that it is not implemented in the derived class: action must thus be taken on the user side to override it.
virtual void AppendPad (Option_t *option="")
 Append graphics object to current pad.
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.
void AutoExpand (Int_t size_needed)
 Automatically calculate a new size and expand the buffer to fit at least size_needed.
virtual void Browse (TBrowser *b)
 Browse object. May be overridden for another default action.
char * Buffer () const
Int_t BufferSize () const
Bool_t ByteSwapBuffer (Long64_t n, EDataType type)
 Byte-swap N primitive-elements in the buffer.
Int_t CheckByteCount (UInt_t, UInt_t, const char *) final
Int_t CheckByteCount (UInt_t, UInt_t, const TClass *) final
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.
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 ClassBegin (const TClass *, Version_t=-1) final
 Should be called in the beginning of custom class streamer.
void ClassEnd (const TClass *) final
 Should be called at the end of custom streamer See TBufferJSON::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 Following combinations are supported:
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.
void DecrementLevel (TVirtualStreamerInfo *) final
 Function is called from TStreamerInfo WriteBuffer and ReadBuffer functions and decrease level in json structure.
virtual void Delete (Option_t *option="")
 Delete this object.
void DetachBuffer ()
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).
void Expand (Int_t newsize, Bool_t copy=kTRUE)
 Expand (or shrink) the I/O buffer to newsize bytes.
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.
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
Int_t GetBufferVersion () const
char * GetCurrent () const
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.
TVirtualStreamerInfoGetInfo () final
 Return current streamer info element.
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.
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
TObjectGetParent () const
 Return pointer to parent of this buffer.
UShort_t GetPidOffset () const override
ReAllocCharFun_t GetReAllocFunc () const
 Return the reallocation method currently used.
virtual const char * GetTitle () const
 Returns title of object.
UInt_t GetTRefExecId () override
 Return the exec id stored in the current TStreamerInfo element.
virtual UInt_t GetUniqueID () const
 Return the unique object id.
Int_t GetVersionOwner () const override
 Return the version number of the owner file.
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.
void IncrementLevel (TVirtualStreamerInfo *) final
 Function is called from TStreamerInfo WriteBuffer and ReadBuffer functions and indent new level in json structure.
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.
void InitMap () override
 Create the fMap container and initialize them with the null object.
virtual void Inspect () const
 Dump contents of this object in a graphics canvas.
void InvertBit (UInt_t f)
TClassIsA () const override
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).
Bool_t IsOnHeap () const
Bool_t IsReading () const
Bool_t IsSkipClassInfo (const TClass *cl) const
 Returns true if class info will be skipped from JSON.
virtual Bool_t IsSortable () const
Bool_t IsWriting () const
Bool_t IsZombie () const
Int_t Length () const
virtual void ls (Option_t *option="") const
 The ls function lists the contents of a class on stdout.
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.
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 *, size_t)
 Operator delete for sized deallocation.
void operator delete (void *ptr)
 Operator delete.
void operator delete (void *ptr, void *vp)
 Only called by placement new when throwing an exception.
void operator delete[] (void *, size_t)
 Operator delete [] for sized deallocation.
void operator delete[] (void *ptr)
 Operator delete [].
void operator delete[] (void *ptr, void *vp)
 Only called by placement new[] when throwing an exception.
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)
virtual void Paint (Option_t *option="")
 This method must be overridden if a class wants to paint itself.
virtual TVirtualArrayPeekDataCache () const
 Return the 'current' data cache area from the list of area to be used for temporarily store 'missing' data members.
virtual void Pop ()
 Pop on object drawn in a pad to the top of the display list.
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 Print (Option_t *option="") const
 This method must be overridden when a class wants to print itself.
virtual void PushDataCache (TVirtualArray *)
 Push a new data cache area onto the list of area to be used for temporarily store 'missing' data members.
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.
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.
void ReadBaseClass (void *start, TStreamerBase *elem) final
 Read data of base class.
void ReadBool (Bool_t &b) final
 Reads Bool_t value from buffer.
Int_t ReadBuf (void *, Int_t) final
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
 Reads a char* string.
TClassReadClass (const TClass *cl=nullptr, UInt_t *objTag=nullptr) final
 suppressed function of TBuffer
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
Int_t ReadClones (TClonesArray *a, Int_t nobjects, Version_t objvers) override
 Interface to TStreamerInfo::ReadBufferClones.
void ReadDouble (Double_t &d) final
 Reads Double_t value from buffer.
void ReadDouble32 (Double_t *d, TStreamerElement *ele=nullptr) final
 read a Double32_t from the 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
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
 redefined here to avoid warning message from gcc
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 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 ReadFastArrayString (Char_t *c, Int_t n) final
 read array of Char_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 ReadFloat (Float_t &f) final
 Reads Float_t value from buffer.
void ReadFloat16 (Float_t *f, TStreamerElement *ele=nullptr) final
 read a Float16_t from the 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.
TObjectReadObject (const TClass *) final
void * ReadObjectAny (const TClass *clCast) final
 Read object from buffer. Only used from TBuffer.
TProcessIDReadProcessID (UShort_t pidf) override
 The TProcessID with number pidf is read from file.
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.
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.
virtual void ReadStdString (std::string &s)
void ReadStdString (std::string *s) final
 Reads a std::string.
char * ReadString (char *, Int_t) final
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
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().
virtual void RecursiveRemove (TObject *obj)
 Recursively remove this object from a list.
void Reset () override
 Reset buffer object. Resets map and buffer offset.
void ResetBit (UInt_t f)
void ResetMap () override
 Delete existing fMap and reset map counter.
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.
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.
void SetBuffer (void *buf, UInt_t bufsize=0, Bool_t adopt=kTRUE, ReAllocCharFun_t reallocfunc=nullptr)
 Sets a new buffer in an existing TBuffer object.
void SetBufferDisplacement () override
void SetBufferDisplacement (Int_t skipped) override
void SetBufferOffset (Int_t offset=0)
void SetByteCount (UInt_t, Bool_t=kFALSE) final
void SetCompact (int level)
 Set level of space/newline/array compression Lower digit of compact parameter define formatting rules.
virtual void SetDrawOption (Option_t *option="")
 Set drawing option for object.
void SetParent (TObject *parent)
 Set parent owning this buffer.
void SetPidOffset (UShort_t offset) override
 This offset is used when a key (or basket) is transferred from one file to the other.
void SetReadMode ()
 Set buffer in read mode.
void SetReadParam (Int_t mapsize) override
 Set the initial size of the map used to store object and class references during reading.
void SetReAllocFunc (ReAllocCharFun_t reallocfunc=nullptr)
 Set which memory reallocation method to use.
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("").
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.
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.
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.
virtual void SetUniqueID (UInt_t uid)
 Set the unique object id.
void SetWriteMode ()
 Set buffer in write mode.
void SetWriteParam (Int_t mapsize) override
 Set the initial size of the hashtable used to store object and class references during writing.
void SkipObjectAny () final
 Skip any kind of object from buffer.
void SkipVersion (const TClass *cl=nullptr) final
 Skip class version from I/O buffer.
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:
void Streamer (TBuffer &) override
 Stream an object of class TObject.
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
void StreamObject (TObject *obj) override
void StreamObject (void *obj, const char *className, const TClass *onFileClass=nullptr) override
 stream object to/from buffer
void StreamObject (void *obj, const std::type_info &typeinfo, const TClass *onFileClass=nullptr) override
 stream object to/from buffer
void StreamObject (void *obj, const TClass *cl, const TClass *onFileClass=nullptr) final
 stream object to/from buffer
virtual void SysError (const char *method, const char *msgfmt,...) const
 Issue system error message.
void TagStreamerInfo (TVirtualStreamerInfo *info) override
 Mark the classindex of the current file as using this TStreamerInfo.
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.
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 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 WriteBool (Bool_t b) final
 Writes Bool_t value to buffer.
void WriteBuf (const void *, Int_t) final
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
 Writes a char*.
void WriteClass (const TClass *cl) final
 suppressed function of TBuffer
Int_t WriteClassBuffer (const TClass *cl, void *pointer) override
 Function called by the Streamer functions to serialize object at p to buffer b.
Int_t WriteClones (TClonesArray *a, Int_t nobjects) override
 Interface to TStreamerInfo::WriteBufferClones.
void WriteDouble (Double_t d) final
 Writes Double_t value to buffer.
void WriteDouble32 (Double_t *d, TStreamerElement *ele=nullptr) final
 write a Double32_t to the 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.
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
 Recall TBuffer function to avoid gcc warning message.
void WriteFastArray (void *start, const TClass *cl, Long64_t n=1, TMemberStreamer *s=nullptr) final
 Recall TBuffer function to avoid gcc warning message.
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 WriteFastArrayString (const Char_t *c, Long64_t n) final
 Write array of Char_t to buffer.
void WriteFloat (Float_t f) final
 Writes Float_t value to buffer.
void WriteFloat16 (Float_t *f, TStreamerElement *ele=nullptr) final
 write a Float16_t to the 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.
template<class T>
Int_t WriteObject (const T *objptr, Bool_t cacheReuse=kTRUE)
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.
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 (std::string &s)
void WriteString (const char *) final
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
 Ignored in TBufferJSON.
UInt_t WriteVersionMemberWise (const TClass *, Bool_t=kFALSE) final

Static Public Member Functions

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 TObjectConvertFromJSON (const char *str)
 Read TObject-based class from JSON, produced by ConvertToJSON() method.
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.
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.
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.
static TString ConvertToJSON (const void *obj, TDataMember *member, Int_t compact=0, Int_t arraylen=-1)
 Converts selected data member into json.
static const char * DeclFileName ()
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().
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.
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)
static TClassGetClass (const char *className)
 Forward to TROOT::GetClass().
static TClassGetClass (const std::type_info &typeinfo)
 Forward to TROOT::GetClass().
static const char * GetDoubleFormat ()
 return current printf format for double members, default "%.14e"
static Longptr_t GetDtorOnly ()
 Return destructor only flag.
static const char * GetFloatFormat ()
 return current printf format for float members, default "%e"
static Int_t GetGlobalReadParam ()
 Get default read map size.
static Int_t GetGlobalWriteParam ()
 Get default write map size.
static Bool_t GetObjectStat ()
 Get status of object stat flag.
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 SetDtorOnly (void *obj)
 Set destructor only flag.
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 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 void SetObjectStat (Bool_t stat)
 Turn on/off tracking of objects in the TObjectTable.
template<class T>
static TString ToJSON (const T *obj, Int_t compact=0, const char *member_name=nullptr)
static TString zipJSON (const char *json)
 zip JSON string and convert into base64 string to be used with JSROOT unzipJSON() function Main application - embed large JSON code into jupyter notebooks

Protected Types

enum  { kNullTag = 0 }
enum  { kOnlyPrepStep = (1ULL << (3)) }
typedef std::vector< TVirtualArray * > CacheList_t

Protected Member Functions

void AppendOutput (const char *line0, const char *line1=nullptr)
 Append two string to the output JSON, normally separate by line break.
virtual void CheckCount (UInt_t)
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 Interface to ErrorHandler (protected).
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.
void JsonDisablePostprocessing ()
 disable post-processing of the code
void JsonPushValue ()
 If value exists, push in the current stack for post-processing.
template<typename T>
Int_t JsonReadArray (T *value)
 Read static array from JSON - not used.
template<typename T>
void JsonReadBasic (T &value)
 Template function to read basic value from JSON.
void JsonReadCollection (TCollection *obj, const TClass *objClass)
 read content of ROOT collection
template<typename T>
void JsonReadFastArray (T *arr, Int_t arrsize, bool asstring=false)
 Template method to read array from the JSON.
void * JsonReadObject (void *obj, const TClass *objClass=nullptr, TClass **readClass=nullptr)
 Read object from current JSON node.
void JsonReadTObjectMembers (TObject *obj, void *node=nullptr)
 Read TObject data members from JSON.
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)
void JsonStartElement (const TStreamerElement *elem, const TClass *base_class)
 Start new class member in JSON structures.
TJSONStackObjJsonStartObjectWrite (const TClass *obj_class, TStreamerInfo *info=nullptr)
 Start object element with typeinfo.
template<typename T>
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
void JsonWriteBasic (Char_t value)
 converts Char_t to string and add to json value buffer
void JsonWriteBasic (Double_t value)
 converts Double_t to string and add to json value buffer
void JsonWriteBasic (Float_t value)
 converts Float_t to string and add to json value buffer
void JsonWriteBasic (Int_t value)
 converts Int_t to string and add to json value buffer
void JsonWriteBasic (Long64_t value)
 converts Long64_t to string and add to json value buffer
void JsonWriteBasic (Long_t value)
 converts Long_t to string and add to json value buffer
void JsonWriteBasic (Short_t value)
 converts Short_t to string and add to json value buffer
void JsonWriteBasic (UChar_t value)
 converts UChar_t to string and add to json value buffer
void JsonWriteBasic (UInt_t value)
 converts UInt_t to string and add to json value buffer
void JsonWriteBasic (ULong64_t value)
 converts ULong64_t to string and add to json value buffer
void JsonWriteBasic (ULong_t value)
 converts ULong_t to string and add to json value buffer
void JsonWriteBasic (UShort_t value)
 converts UShort_t to string and add to json value buffer
void JsonWriteCollection (TCollection *obj, const TClass *objClass)
 store content of ROOT collection
void JsonWriteConstChar (const char *value, Int_t len=-1, const char *=nullptr)
 writes string value, processing all kind of special characters
template<typename T>
void JsonWriteFastArray (const T *arr, Long64_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().
TString JsonWriteMember (const void *ptr, TDataMember *member, TClass *memberClass, Int_t arraylen)
 Convert single data member to JSON structures Note; if data member described by 'member'is pointer, ptr should be the value of the pointer, not the address of the pointer.
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.
void MakeZombie ()
void PerformPostProcessing (TJSONStackObj *stack, const TClass *obj_cl=nullptr)
 Function is converts TObject and TString structures to more compact representation.
TJSONStackObjPopStack ()
 remove one level from stack
TJSONStackObjPushStack (Int_t inclevel=0, void *readnode=nullptr)
 add new level to the structures stack
Int_t Read (const char *name) override
 Read contents of object with specified name from the current directory.
TJSONStackObjStack ()
void WorkWithClass (TStreamerInfo *info, const TClass *cl=nullptr)
 Prepares buffer to stream data of specified class.
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.
Int_t Write (const char *name, Int_t opt, Int_t bufsize) const override
 Write this object to the current directory.
Int_t Write (const char *name, Int_t opt, Int_t bufsize) override
 Write this object to the current directory.
void WriteObjectClass (const void *actualObjStart, const TClass *actualClass, Bool_t cacheReuse) final
 Write object to buffer. Only used from TBuffer.

Static Protected Member Functions

static void * ConvertFromJSONChecked (const char *str, const TClass *expectedClass)
 Read objects from JSON, one can reuse existing object.
static void SavePrimitiveConstructor (std::ostream &out, TClass *cl, const char *variable_name, const char *constructor_agrs="", Bool_t empty_line=kTRUE)
 Save object constructor in the output stream "out".
static void SavePrimitiveDraw (std::ostream &out, const char *variable_name, Option_t *option=nullptr)
 Save invocation of primitive Draw() method Skipped if option contains "nodraw" string.
static TString SavePrimitiveVector (std::ostream &out, const char *prefix, Int_t len, Double_t *arr, Int_t flag=0)
 Save array in the output stream "out" as vector.
static ULong_t Void_Hash (const void *ptr)
 Return hash value for provided object.

Protected Attributes

Int_t fArrayCompact {0}
 ! 0 - no array compression, 1 - exclude leading/trailing zeros, 2 - check value repetition
TString fArraySepar
 ! depending from compression level, ", " or ","
char * fBufCur
char * fBuffer
char * fBufMax
Int_t fBufSize
CacheList_t fCacheStack
TExMapfClassMap {nullptr}
 Map containing object,class pairs for reading.
Int_t fCompact {0}
 ! 0 - no any compression, 1 - no spaces in the begin, 2 - no new lines, 3 - no spaces at all
Int_t fDisplacement {0}
 Value to be added to the map offsets.
unsigned fJsonrCnt {0}
 ! counter for all objects, used for referencing
TExMapfMap {nullptr}
 Map containing object,offset pairs for reading/writing.
Bool_t fMapAsObject {kFALSE}
 ! when true, std::map will be converted into JSON object
Int_t fMapCount {0}
 Number of objects or classes in map.
Int_t fMapSize {0}
 Default size of map.
Bool_t fMode
TString fNumericLocale
 ! stored value of setlocale(LC_NUMERIC), which should be recovered at the end
TString fOutBuffer
 ! main output buffer for json code
TStringfOutput {nullptr}
 ! current output buffer for json code
TObjectfParent
UShort_t fPidOffset {0}
 Offset to be added to the pid index in this key/buffer.
ReAllocCharFun_t fReAllocFunc
 ! Realloc function to be used when extending the buffer.
TString fSemicolon
 ! depending from compression level, " : " or ":"
std::vector< const TClass * > fSkipClasses
 ! list of classes, which class info is not stored
std::deque< std::unique_ptr< TJSONStackObj > > fStack
 ! hierarchy of currently streamed element
Bool_t fStoreInfNaN {kFALSE}
 ! when true, store inf and nan as string, this is not portable for other JSON readers
TString fTypeNameTag
 ! JSON member used for storing class name, when empty - no class name will be stored
TString fTypeVersionTag
 ! JSON member used to store class version, default empty
TString fValue
 ! buffer for current value
Int_t fVersion

Static Protected Attributes

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 Int_t fgMapSize = kMapSize
 Default map size for all TBuffer objects.

Static Private Member Functions

static void AddToTObjectTable (TObject *)
 Private helper function which will dispatch to TObjectTable::AddObj.

Private Attributes

UInt_t fBits
 bit field status word
UInt_t fUniqueID
 object unique identifier

Static Private Attributes

static Longptr_t fgDtorOnly = 0
 object for which to call dtor only (i.e. no delete)
static Bool_t fgObjectStat = kTRUE
 if true keep track of objects in TObjectTable

#include <TBufferJSON.h>

Inheritance diagram for TBufferJSON:
TBufferText TBufferIO TBuffer TObject

Member Typedef Documentation

◆ CacheList_t

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

Definition at line 46 of file TBuffer.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protectedinherited
Enumerator
kNullTag 

Definition at line 33 of file TBufferIO.h.

◆ anonymous enum

anonymous enum
protectedinherited
Enumerator
kOnlyPrepStep 

Used to request that the class specific implementation of TObject::Write just prepare the objects to be ready to be written but do not actually write them into the TBuffer.

This is just for example by TBufferMerger to request that the TTree inside the file calls TTree::FlushBaskets (outside of the merging lock) and TBufferMerger will later ask for the write (inside the merging lock). To take advantage of this feature the class needs to overload TObject::Write and use this enum value accordingly. (See TTree::Write and TObject::Write) Do not use, this feature will be migrate to the Merge function (See TClass and TTree::Merge)

Definition at line 106 of file TObject.h.

◆ anonymous enum

anonymous enum
inherited
Enumerator
kSingleKey 

write collection with single key

kOverwrite 

overwrite existing object with same name

kWriteDelete 

write object, then delete previous key with same name

Definition at line 99 of file TObject.h.

◆ anonymous enum

anonymous enum
inherited
Enumerator
kIsOnHeap 

object is on heap

kNotDeleted 

object has not been deleted

kZombie 

object ctor failed

kInconsistent 

class overload Hash but does call RecursiveRemove in destructor

kBitMask 

Definition at line 89 of file TObject.h.

◆ anonymous enum

anonymous enum
inherited
Enumerator
kInitialSize 
kMinimalSize 

Definition at line 78 of file TBuffer.h.

◆ anonymous enum

anonymous enum
inherited
Enumerator
kMapSize 

Definition at line 63 of file TBufferIO.h.

◆ anonymous enum

anonymous enum
Enumerator
kNoCompress 

no any compression, maximal size of JSON (default)

kNoIndent 

remove spaces in the beginning showing JSON indentation level

kNoNewLine 

no indent plus skip newline symbols

kNoSpaces 

no new lines plus remove all spaces around "," and ":" symbols

kMapAsObject 

store std::map, std::unordered_map as JSON object

kZeroSuppression 

if array has much zeros in begin and/or end, they will be removed

kSameSuppression 

zero suppression plus compress many similar values together

kBase64 

all binary arrays will be compressed with base64 coding, supported by JSROOT

kSkipTypeInfo 

do not store typenames in JSON

kStoreInfNaN 

explicitly store special float numbers as strings ("inf", "nan")

Definition at line 34 of file TBufferJSON.h.

◆ EDeprecatedStatusBits

Enumerator
kObjInCanvas 

for backward compatibility only, use kMustCleanup

Definition at line 84 of file TObject.h.

◆ EMode

enum TBuffer::EMode
inherited
Enumerator
kRead 
kWrite 

Definition at line 73 of file TBuffer.h.

◆ EStatusBits

enum TBufferIO::EStatusBits
inherited
Enumerator
kNotDecompressed 
kTextBasedStreaming 
kUser1 
kUser2 
kUser3 

Definition at line 65 of file TBufferIO.h.

Constructor & Destructor Documentation

◆ TBufferJSON()

TBufferJSON::TBufferJSON ( TBuffer::EMode mode = TBuffer::kWrite)

Creates buffer object to serialize data into json.

Definition at line 482 of file TBufferJSON.cxx.

◆ ~TBufferJSON()

TBufferJSON::~TBufferJSON ( )
override

destroy buffer

Definition at line 503 of file TBufferJSON.cxx.

Member Function Documentation

◆ AbstractMethod()

void TObject::AbstractMethod ( const char * method) const
inherited

Call this function within a function that you don't want to define as purely virtual, in order not to force all users deriving from that class to implement that maybe (on their side) unused function; but at the same time, emit a run-time warning if they try to call it, telling that it is not implemented in the derived class: action must thus be taken on the user side to override it.

In other word, this method acts as a "runtime purely virtual" warning instead of a "compiler purely virtual" error.

Warning
This interface is a legacy function that is no longer recommended to be used by new development code.
Note
The name "AbstractMethod" does not imply that it's an abstract method in the strict C++ sense.

Definition at line 1149 of file TObject.cxx.

◆ AddToTObjectTable()

void TObject::AddToTObjectTable ( TObject * op)
staticprivateinherited

Private helper function which will dispatch to TObjectTable::AddObj.

Included here to avoid circular dependency between header files.

Definition at line 195 of file TObject.cxx.

◆ AppendOutput()

void TBufferJSON::AppendOutput ( const char * line0,
const char * line1 = nullptr )
protected

Append two string to the output JSON, normally separate by line break.

Definition at line 1209 of file TBufferJSON.cxx.

◆ AppendPad()

void TObject::AppendPad ( Option_t * option = "")
virtualinherited

Append graphics object to current pad.

In case no current pad is set yet, create a default canvas with the name "c1".

Definition at line 204 of file TObject.cxx.

◆ ApplySequence() [1/2]

Int_t TBufferText::ApplySequence ( const TStreamerInfoActions::TActionSequence & sequence,
void * obj )
finalvirtualinherited

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

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

Implements TBuffer.

Definition at line 70 of file TBufferText.cxx.

◆ ApplySequence() [2/2]

Int_t TBufferText::ApplySequence ( const TStreamerInfoActions::TActionSequence & sequence,
void * start_collection,
void * end_collection )
finalvirtualinherited

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

Implements TBuffer.

Definition at line 137 of file TBufferText.cxx.

◆ ApplySequenceVecPtr()

Int_t TBufferText::ApplySequenceVecPtr ( const TStreamerInfoActions::TActionSequence & sequence,
void * start_collection,
void * end_collection )
finalvirtualinherited

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

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

Implements TBuffer.

Definition at line 103 of file TBufferText.cxx.

◆ AutoExpand()

void TBuffer::AutoExpand ( Int_t size_needed)
inherited

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

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

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

Definition at line 157 of file TBuffer.cxx.

◆ Browse()

◆ Buffer()

char * TBuffer::Buffer ( ) const
inlineinherited

Definition at line 96 of file TBuffer.h.

◆ BufferSize()

Int_t TBuffer::BufferSize ( ) const
inlineinherited

Definition at line 98 of file TBuffer.h.

◆ ByteSwapBuffer()

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

Byte-swap N primitive-elements in the buffer.

Bulk API relies on this function.

Definition at line 393 of file TBuffer.cxx.

◆ CheckByteCount() [1/2]

Int_t TBufferText::CheckByteCount ( UInt_t ,
UInt_t ,
const char *  )
inlinefinalvirtualinherited

Implements TBuffer.

Definition at line 79 of file TBufferText.h.

◆ CheckByteCount() [2/2]

Int_t TBufferText::CheckByteCount ( UInt_t ,
UInt_t ,
const TClass *  )
inlinefinalvirtualinherited

Implements TBuffer.

Definition at line 78 of file TBufferText.h.

◆ CheckCount()

virtual void TBufferIO::CheckCount ( UInt_t )
inlineprotectedvirtualinherited

Reimplemented in TBufferFile.

Definition at line 56 of file TBufferIO.h.

◆ CheckedHash()

ULong_t TObject::CheckedHash ( )
inlineinherited

Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object.

The intent is for this routine to be called instead of directly calling the function Hash during "insert" operations. See TObject::HasInconsistenTObjectHash();

(*) The setup is consistent when all classes in the class hierarchy that overload TObject::Hash do call ROOT::CallRecursiveRemoveIfNeeded in their destructor. i.e. it is safe to call the Hash virtual function during the RecursiveRemove operation.

Definition at line 332 of file TObject.h.

◆ CheckObject() [1/2]

Bool_t TBufferIO::CheckObject ( const TObject * obj)
overridevirtualinherited

Check if the specified object is already in the buffer.

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

Implements TBuffer.

Definition at line 224 of file TBufferIO.cxx.

◆ CheckObject() [2/2]

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

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

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

Implements TBuffer.

Definition at line 234 of file TBufferIO.cxx.

◆ Class()

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

◆ Class_Name()

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

◆ Class_Version()

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

Definition at line 337 of file TBufferJSON.h.

◆ ClassBegin()

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

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 2268 of file TBufferJSON.cxx.

◆ ClassEnd()

void TBufferJSON::ClassEnd ( const TClass * )
finalvirtual

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

Implements TBuffer.

Definition at line 2277 of file TBufferJSON.cxx.

◆ ClassMember()

void TBufferJSON::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:997
  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.ClassMember("fName","TString");
    fName.Streamer(b);
  5. Pointer on object as data member
    b.ClassMember("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 2319 of file TBufferJSON.cxx.

◆ ClassName()

const char * TObject::ClassName ( ) const
virtualinherited

Returns name of class to which the object belongs.

Definition at line 227 of file TObject.cxx.

◆ Clear()

◆ Clone()

TObject * TObject::Clone ( const char * newname = "") const
virtualinherited

Make a clone of an object using the Streamer facility.

If the object derives from TNamed, this function is called by TNamed::Clone. TNamed::Clone uses the optional argument to set a new name to the newly created object.

If the object class has a DirectoryAutoAdd function, it will be called at the end of the function with the parameter gDirectory. This usually means that the object will be appended to the current ROOT directory.

Reimplemented in RooAbsArg, RooAbsBinning, RooAbsCollection, RooAbsStudy, RooCatType, RooCmdArg, RooDataHist, RooDataSet, RooFitResult, RooLinkedList, RooStats::HypoTestResult, RooStats::ModelConfig, RooStudyPackage, RooTemplateProxy< T >, RooTemplateProxy< const RooHistFunc >, RooTemplateProxy< RooAbsCategory >, RooTemplateProxy< RooAbsPdf >, RooTemplateProxy< RooAbsReal >, RooTemplateProxy< RooAbsRealLValue >, RooTemplateProxy< RooMultiCategory >, RooTemplateProxy< RooRealVar >, RooWorkspace, TASImage, TChainIndex, TClass, TCollection, TF1, TFunction, TFunctionTemplate, TH1, TImage, TMethod, TMethodCall, TMinuit, TMVA::MinuitWrapper, TNamed, TStreamerInfo, and TTreeIndex.

Definition at line 243 of file TObject.cxx.

◆ CompactFloatString()

void TBufferText::CompactFloatString ( char * sbuf,
unsigned len )
staticinherited

method compress float string, excluding exp and/or move float point

  • 1.000000e-01 -> 0.1
  • 3.750000e+00 -> 3.75
  • 3.750000e-03 -> 0.00375
  • 3.750000e-04 -> 3.75e-4
  • 1.100000e-10 -> 1.1e-10

Definition at line 708 of file TBufferText.cxx.

◆ Compare()

Int_t TObject::Compare ( const TObject * obj) const
virtualinherited

Compare abstract method.

Must be overridden if a class wants to be able to compare itself with other objects. Must return -1 if this is smaller than obj, 0 if objects are equal and 1 if this is larger than obj.

Reimplemented in RooAbsArg, RooDouble, TCollection, TEnvRec, TFileInfo, TGeoBranchArray, TGeoOverlap, TGFSFrameElement, TGLBFrameElement, TNamed, TObjString, TParameter< AParamType >, TParameter< Long64_t >, TStructNode, TStructNodeProperty, and TUrl.

Definition at line 258 of file TObject.cxx.

◆ ConvertDouble()

const char * TBufferText::ConvertDouble ( Double_t v,
char * buf,
unsigned len,
Bool_t not_optimize = kFALSE )
staticinherited

convert float to string with configured format

Definition at line 853 of file TBufferText.cxx.

◆ ConvertFloat()

const char * TBufferText::ConvertFloat ( Float_t v,
char * buf,
unsigned len,
Bool_t not_optimize = kFALSE )
staticinherited

convert float to string with configured format

Definition at line 837 of file TBufferText.cxx.

◆ ConvertFromJSON()

TObject * TBufferJSON::ConvertFromJSON ( const char * str)
static

Read TObject-based class from JSON, produced by ConvertToJSON() method.

If object does not inherit from TObject class, return 0.

Definition at line 956 of file TBufferJSON.cxx.

◆ ConvertFromJSONAny()

void * TBufferJSON::ConvertFromJSONAny ( const char * str,
TClass ** cl = nullptr )
static

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 979 of file TBufferJSON.cxx.

◆ ConvertFromJSONChecked()

void * TBufferJSON::ConvertFromJSONChecked ( const char * str,
const TClass * expectedClass )
staticprotected

Read objects from JSON, one can reuse existing object.

Definition at line 1022 of file TBufferJSON.cxx.

◆ ConvertToJSON() [1/3]

TString TBufferJSON::ConvertToJSON ( const TObject * obj,
Int_t compact = 0,
const char * member_name = nullptr )
static

Converts object, inherited from TObject class, to JSON string Lower digit of compact parameter define formatting rules.

  • 0 - no any compression, human-readable form
  • 1 - exclude spaces in the begin
  • 2 - remove newlines
  • 3 - exclude spaces as much as possible

Second digit of compact parameter defines algorithm for arrays compression

  • 0 - no compression, standard JSON array
  • 1 - exclude leading and trailing zeros
  • 2 - check values repetition and empty gaps

Third digit of compact parameter defines typeinfo storage:

  • TBufferJSON::kSkipTypeInfo (100) - "_typename" will be skipped, not always can be read back

Fourth digit: (1 or 0) defines whether to set kStoreInfNaN (1000) - inf and nan to be stored as string

Maximal compression achieved when compact parameter equal to 23 When member_name specified, converts only this data member

Definition at line 533 of file TBufferJSON.cxx.

◆ ConvertToJSON() [2/3]

TString TBufferJSON::ConvertToJSON ( const void * obj,
const TClass * cl,
Int_t compact = 0,
const char * member_name = nullptr )
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.

  • TBufferJSON::kNoCompress (0) - no any compression, human-readable form
  • TBufferJSON::kNoIndent (1) - exclude spaces in the begin
  • TBufferJSON::kNoNewLine (2) - no indent and no newlines
  • TBufferJSON::kNoSpaces (3) - exclude spaces as much as possible Second digit of compact parameter defines algorithm for arrays compression
  • 0 - no compression, standard JSON array
  • TBufferJSON::kZeroSuppression (10) - exclude leading and trailing zeros
  • TBufferJSON::kSameSuppression (20) - check values repetition and empty gaps
  • TBufferJSON::kBase64 (30) - arrays will be coded with base64 coding Third digit of compact parameter defines typeinfo storage:
  • TBufferJSON::kSkipTypeInfo (100) - "_typename" will be skipped, not always can be read back Fourth digit: (1 or 0) defines whether to set kStoreInfNaN (1000) - inf and nan to be stored as string Maximal none-destructive compression can be achieved when compact parameter equal to TBufferJSON::kNoSpaces + TBufferJSON::kSameSuppression When member_name specified, converts only this data member

Definition at line 676 of file TBufferJSON.cxx.

◆ ConvertToJSON() [3/3]

TString TBufferJSON::ConvertToJSON ( const void * ptr,
TDataMember * member,
Int_t compact = 0,
Int_t arraylen = -1 )
static

Converts selected data member into json.

Parameters
ptrspecifies address in memory, where data member is located.
Note
if data member described by member is pointer, ptr should be the value of the pointer, not the address of the pointer.
Parameters
compactdefines compactness of produced JSON. See TBufferJSON::SetCompact for more details
arraylen(when specified) is array length for this data member, //[fN] case

Definition at line 769 of file TBufferJSON.cxx.

◆ Copy()

◆ DeclFileName()

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

Definition at line 337 of file TBufferJSON.h.

◆ DecrementLevel()

void TBufferJSON::DecrementLevel ( TVirtualStreamerInfo * info)
finalvirtual

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

Implements TBuffer.

Definition at line 2135 of file TBufferJSON.cxx.

◆ Delete()

void TObject::Delete ( Option_t * option = "")
virtualinherited

◆ DetachBuffer()

void TBuffer::DetachBuffer ( )
inlineinherited

Definition at line 99 of file TBuffer.h.

◆ DistancetoPrimitive()

◆ DoError()

void TObject::DoError ( int level,
const char * location,
const char * fmt,
va_list va ) const
protectedvirtualinherited

Interface to ErrorHandler (protected).

Reimplemented in TThread, and TTreeViewer.

Definition at line 1059 of file TObject.cxx.

◆ Draw()

◆ DrawClass()

void TObject::DrawClass ( ) const
virtualinherited

Draw class inheritance tree of the class to which this object belongs.

If a class B inherits from a class A, description of B is drawn on the right side of description of A. Member functions overridden by B are shown in class A with a blue line crossing-out the corresponding member function. The following picture is the class inheritance tree of class TPaveLabel:

Reimplemented in TGFrame, TSystemDirectory, and TSystemFile.

Definition at line 308 of file TObject.cxx.

◆ DrawClone()

TObject * TObject::DrawClone ( Option_t * option = "") const
virtualinherited

Draw a clone of this object in the current selected pad with: gROOT->SetSelectedPad(c1).

If pad was not selected - gPad will be used.

Note
For histograms, use the more specialised TH1::DrawCopy().

Reimplemented in TAxis, TCanvas, TGFrame, TSystemDirectory, and TSystemFile.

Definition at line 319 of file TObject.cxx.

◆ Dump()

void TObject::Dump ( ) const
virtualinherited

Dump contents of object on stdout.

Using the information in the object dictionary (class TClass) each data member is interpreted. If a data member is a pointer, the pointer value is printed

The following output is the Dump of a TArrow object:

fAngle 0 Arrow opening angle (degrees)
fArrowSize 0.2 Arrow Size
fOption.*fData
fX1 0.1 X of 1st point
fY1 0.15 Y of 1st point
fX2 0.67 X of 2nd point
fY2 0.83 Y of 2nd point
fUniqueID 0 object unique identifier
fBits 50331648 bit field status word
fLineColor 1 line color
fLineStyle 1 line style
fLineWidth 1 line width
fFillColor 19 fill area color
fFillStyle 1001 fill area style
#define X(type, name)
UInt_t fUniqueID
object unique identifier
Definition TObject.h:46
UInt_t fBits
bit field status word
Definition TObject.h:47
TLine * line
TCanvas * style()
Definition style.C:1

Reimplemented in TClass, TCollection, TGFrame, TGPack, and TSystemFile.

Definition at line 367 of file TObject.cxx.

◆ Error()

void TObject::Error ( const char * location,
const char * fmt,
... ) const
virtualinherited

Issue error message.

Use "location" to specify the method where the error occurred. Accepts standard printf formatting arguments.

Reimplemented in TFitResult.

Definition at line 1098 of file TObject.cxx.

◆ Execute() [1/2]

void TObject::Execute ( const char * method,
const char * params,
Int_t * error = nullptr )
virtualinherited

Execute method on this object with the given parameter string, e.g.

"3.14,1,\"text\"".

Reimplemented in ROOT::R::TRInterface, TCling, TContextMenu, TInterpreter, and TMethodCall.

Definition at line 378 of file TObject.cxx.

◆ Execute() [2/2]

void TObject::Execute ( TMethod * method,
TObjArray * params,
Int_t * error = nullptr )
virtualinherited

Execute method on this object with parameters stored in the TObjArray.

The TObjArray should contain an argv vector like:

argv[0] ... argv[n] = the list of TObjString parameters
Collectable string class.
Definition TObjString.h:28
const Int_t n
Definition legend1.C:16

Reimplemented in ROOT::R::TRInterface, TCling, TContextMenu, TInterpreter, and TMethodCall.

Definition at line 398 of file TObject.cxx.

◆ ExecuteEvent()

◆ Expand()

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

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

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

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

Definition at line 222 of file TBuffer.cxx.

◆ ExportToFile() [1/2]

Int_t TBufferJSON::ExportToFile ( const char * filename,
const TObject * obj,
const char * option = nullptr )
static

Convert object into JSON and store in text file Returns size of the produce file Used in TObject::SaveAs().

Definition at line 796 of file TBufferJSON.cxx.

◆ ExportToFile() [2/2]

Int_t TBufferJSON::ExportToFile ( const char * filename,
const void * obj,
const TClass * cl,
const char * option = nullptr )
static

Convert object into JSON and store in text file Returns size of the produce file.

Definition at line 876 of file TBufferJSON.cxx.

◆ Fatal()

void TObject::Fatal ( const char * location,
const char * fmt,
... ) const
virtualinherited

Issue fatal error message.

Use "location" to specify the method where the fatal error occurred. Accepts standard printf formatting arguments.

Definition at line 1126 of file TObject.cxx.

◆ FindObject() [1/2]

TObject * TObject::FindObject ( const char * name) const
virtualinherited

Must be redefined in derived classes.

This function is typically used with TCollections, but can also be used to find an object by name inside this object.

Reimplemented in RooAbsCollection, RooLinkedList, TBtree, TCollection, TDirectory, TFolder, TGeometry, TGraph2D, TGraph, TH1, THashList, THashTable, THbookFile, TList, TListOfDataMembers, TListOfEnums, TListOfEnumsWithLock, TListOfFunctions, TListOfFunctionTemplates, TListOfTypes, TMap, TObjArray, TPad, TROOT, TViewPubDataMembers, and TViewPubFunctions.

Definition at line 425 of file TObject.cxx.

◆ FindObject() [2/2]

TObject * TObject::FindObject ( const TObject * obj) const
virtualinherited

Must be redefined in derived classes.

This function is typically used with TCollections, but can also be used to find an object inside this object.

Reimplemented in RooAbsCollection, RooLinkedList, TBtree, TCollection, TDirectory, TFolder, TGeometry, TGraph2D, TGraph, TH1, THashList, THashTable, THbookFile, TList, TListOfDataMembers, TListOfEnums, TListOfEnumsWithLock, TListOfFunctions, TListOfFunctionTemplates, TListOfTypes, TMap, TObjArray, TPad, TROOT, TViewPubDataMembers, and TViewPubFunctions.

Definition at line 435 of file TObject.cxx.

◆ ForceWriteInfo()

void TBufferIO::ForceWriteInfo ( TVirtualStreamerInfo * info,
Bool_t force )
overridevirtualinherited

force writing the TStreamerInfo to the file

Implements TBuffer.

Reimplemented in TMessage.

Definition at line 328 of file TBufferIO.cxx.

◆ ForceWriteInfoClones()

void TBufferIO::ForceWriteInfoClones ( TClonesArray * a)
overridevirtualinherited

Make sure TStreamerInfo is not optimized, otherwise it will not be possible to support schema evolution in read mode.

In case the StreamerInfo has already been computed and optimized, one must disable the option BypassStreamer.

Implements TBuffer.

Definition at line 340 of file TBufferIO.cxx.

◆ FromJSON() [1/2]

template<class T>
std::unique_ptr< T > TBufferJSON::FromJSON ( const std::string & json)
inlinestatic

Definition at line 94 of file TBufferJSON.h.

◆ FromJSON() [2/2]

template<class T>
Bool_t TBufferJSON::FromJSON ( T *& obj,
const char * json )
inlinestatic

Definition at line 85 of file TBufferJSON.h.

◆ GetBufferDisplacement()

Int_t TBufferIO::GetBufferDisplacement ( ) const
inlineoverridevirtualinherited

Implements TBuffer.

Definition at line 81 of file TBufferIO.h.

◆ GetBufferVersion()

Int_t TBuffer::GetBufferVersion ( ) const
inlineinherited

Definition at line 85 of file TBuffer.h.

◆ GetClass() [1/2]

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

Forward to TROOT::GetClass().

Definition at line 337 of file TBuffer.cxx.

◆ GetClass() [2/2]

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

Forward to TROOT::GetClass().

Definition at line 329 of file TBuffer.cxx.

◆ GetCurrent()

char * TBuffer::GetCurrent ( ) const
inlineinherited

Definition at line 97 of file TBuffer.h.

◆ GetDoubleFormat()

const char * TBufferText::GetDoubleFormat ( )
staticinherited

return current printf format for double members, default "%.14e"

Definition at line 829 of file TBufferText.cxx.

◆ GetDrawOption()

Option_t * TObject::GetDrawOption ( ) const
virtualinherited

Get option used by the graphics system to draw this object.

Note that before calling object.GetDrawOption(), you must have called object.Draw(..) before in the current pad.

Reimplemented in TBrowser, TFitEditor, TGedFrame, TGFileBrowser, TRootBrowser, and TRootBrowserLite.

Definition at line 445 of file TObject.cxx.

◆ GetDtorOnly()

Longptr_t TObject::GetDtorOnly ( )
staticinherited

Return destructor only flag.

Definition at line 1196 of file TObject.cxx.

◆ GetFloatFormat()

const char * TBufferText::GetFloatFormat ( )
staticinherited

return current printf format for float members, default "%e"

Definition at line 810 of file TBufferText.cxx.

◆ GetGlobalReadParam()

Int_t TBufferIO::GetGlobalReadParam ( )
staticinherited

Get default read map size.

Definition at line 571 of file TBufferIO.cxx.

◆ GetGlobalWriteParam()

Int_t TBufferIO::GetGlobalWriteParam ( )
staticinherited

Get default write map size.

Definition at line 579 of file TBufferIO.cxx.

◆ GetIconName()

const char * TObject::GetIconName ( ) const
virtualinherited

Returns mime type name of object.

Used by the TBrowser (via TGMimeTypes class). Override for class of which you would like to have different icons for objects of the same class.

Reimplemented in ROOT::Experimental::XRooFit::xRooNode, TASImage, TBranch, TBranchElement, TGeoVolume, TGMainFrame, TKey, TMethodBrowsable, TSystemFile, and TVirtualBranchBrowsable.

Definition at line 472 of file TObject.cxx.

◆ GetInfo()

TVirtualStreamerInfo * TBufferJSON::GetInfo ( )
finalvirtual

Return current streamer info element.

Implements TBuffer.

Definition at line 2166 of file TBufferJSON.cxx.

◆ GetLastProcessID()

TProcessID * TBufferIO::GetLastProcessID ( TRefTable * reftable) const
overridevirtualinherited

Return the last TProcessID in the file.

Implements TBuffer.

Definition at line 398 of file TBufferIO.cxx.

◆ GetMapCount()

Int_t TBufferIO::GetMapCount ( ) const
inlineoverridevirtualinherited

Implements TBuffer.

Definition at line 91 of file TBufferIO.h.

◆ GetMappedObject()

void TBufferIO::GetMappedObject ( UInt_t tag,
void *& ptr,
TClass *& ClassPtr ) const
overridevirtualinherited

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.

Implements TBuffer.

Definition at line 259 of file TBufferIO.cxx.

◆ GetName()

◆ GetObjectInfo()

char * TObject::GetObjectInfo ( Int_t px,
Int_t py ) const
virtualinherited

Returns string containing info about the object at position (px,py).

This method is typically overridden by classes of which the objects can report peculiarities for different positions. Returned string will be re-used (lock in MT environment).

Reimplemented in TASImage, TAxis3D, TColorWheel, TF1, TF2, TFileDrawMap, TGeoNode, TGeoTrack, TGeoVolume, TGL5DDataSet, TGLHistPainter, TGLParametricEquation, TGLTH3Composition, TGraph, TH1, THistPainter, TNode, TPaletteAxis, TParallelCoordVar, and TVirtualHistPainter.

Definition at line 491 of file TObject.cxx.

◆ GetObjectStat()

Bool_t TObject::GetObjectStat ( )
staticinherited

Get status of object stat flag.

Definition at line 1181 of file TObject.cxx.

◆ GetObjectTag()

Long64_t TBufferIO::GetObjectTag ( const void * obj)
protectedinherited

Returns tag for specified object from objects map (if exists) Returns 0 if object not included into objects map.

Definition at line 276 of file TBufferIO.cxx.

◆ GetOption()

virtual Option_t * TObject::GetOption ( ) const
inlinevirtualinherited

◆ GetParent()

TObject * TBuffer::GetParent ( ) const
inherited

Return pointer to parent of this buffer.

Definition at line 261 of file TBuffer.cxx.

◆ GetPidOffset()

UShort_t TBufferIO::GetPidOffset ( ) const
inlineoverridevirtualinherited

Implements TBuffer.

Definition at line 79 of file TBufferIO.h.

◆ GetReAllocFunc()

ReAllocCharFun_t TBuffer::GetReAllocFunc ( ) const
inherited

Return the reallocation method currently used.

Definition at line 276 of file TBuffer.cxx.

◆ GetTitle()

const char * TObject::GetTitle ( ) const
virtualinherited

Returns title of object.

This default method returns the class title (i.e. description). Classes that give objects a title should override this method.

Reimplemented in Axis2, TASImage, TAxis, TBaseClass, TClassMenuItem, TEveGeoNode, TEvePointSet, TGaxis, TGGroupFrame, TGLabel, TGLVEntry, TGTextButton, TGTextEntry, TGTextLBEntry, TKey, TMapFile, TNamed, TPad, TPair, TParallelCoordSelect, TParticle, TPaveLabel, TPrimary, TQCommand, TRootIconList, and TVirtualPad.

Definition at line 507 of file TObject.cxx.

◆ GetTRefExecId()

UInt_t TBufferIO::GetTRefExecId ( )
overridevirtualinherited

Return the exec id stored in the current TStreamerInfo element.

The execid has been saved in the unique id of the TStreamerElement being read by TStreamerElement::Streamer. The current element (fgElement) is set as a static global by TStreamerInfo::ReadBuffer (Clones) when reading this TRef.

Implements TBuffer.

Definition at line 446 of file TBufferIO.cxx.

◆ GetUniqueID()

UInt_t TObject::GetUniqueID ( ) const
virtualinherited

Return the unique object id.

Definition at line 480 of file TObject.cxx.

◆ GetVersionOwner()

Int_t TBufferIO::GetVersionOwner ( ) const
overridevirtualinherited

Return the version number of the owner file.

Implements TBuffer.

Definition at line 76 of file TBufferIO.cxx.

◆ HandleTimer()

Bool_t TObject::HandleTimer ( TTimer * timer)
virtualinherited

Execute action in response of a timer timing out.

This method must be overridden if an object has to react to timers.

Reimplemented in TGCommandPlugin, TGDNDManager, TGFileContainer, TGHtml, TGLEventHandler, TGPopupMenu, TGraphTime, TGScrollBar, TGShutter, TGTextEdit, TGTextEditor, TGTextEntry, TGTextView, TGToolTip, TGuiBldDragManager, TGWindow, and TTreeViewer.

Definition at line 516 of file TObject.cxx.

◆ Hash()

ULong_t TObject::Hash ( ) const
virtualinherited

Return hash value for this object.

Note: If this routine is overloaded in a derived class, this derived class should also add

void CallRecursiveRemoveIfNeeded(TObject &obj)
call RecursiveRemove for obj if gROOT is valid and obj.TestBit(kMustCleanup) is true.
Definition TROOT.h:406

Otherwise, when RecursiveRemove is called (by ~TObject or example) for this type of object, the transversal of THashList and THashTable containers will will have to be done without call Hash (and hence be linear rather than logarithmic complexity). You will also see warnings like

Error in <ROOT::Internal::TCheckHashRecursiveRemoveConsistency::CheckRecursiveRemove>: The class SomeName overrides
TObject::Hash but does not call TROOT::RecursiveRemove in its destructor.
Mother of all ROOT objects.
Definition TObject.h:42
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
Definition TObject.cxx:1098
virtual ULong_t Hash() const
Return hash value for this object.
Definition TObject.cxx:539
void RecursiveRemove(TObject *obj) override
Recursively remove this object from the list of Cleanups.
Definition TROOT.cxx:2651

Reimplemented in RooLinkedList, TASImagePlugin, TASPluginGS, TCollection, TEnvRec, TGObject, TGPicture, TIconBoxThumb, TImagePlugin, TNamed, TObjString, TPad, TPair, TParameter< AParamType >, TParameter< Long64_t >, TPave, and TStatistic.

Definition at line 539 of file TObject.cxx.

◆ HasInconsistentHash()

Bool_t TObject::HasInconsistentHash ( ) const
inlineinherited

Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e.

missing call to RecursiveRemove in destructor).

Note: Since the consistency is only tested for during inserts, this routine will return true for object that have never been inserted whether or not they have a consistent setup. This has no negative side-effect as searching for the object with the right or wrong Hash will always yield a not-found answer (Since anyway no hash can be guaranteed unique, there is always a check)

Definition at line 366 of file TObject.h.

◆ IncrementLevel()

void TBufferJSON::IncrementLevel ( TVirtualStreamerInfo * info)
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 2088 of file TBufferJSON.cxx.

◆ Info()

void TObject::Info ( const char * location,
const char * fmt,
... ) const
virtualinherited

Issue info message.

Use "location" to specify the method where the warning occurred. Accepts standard printf formatting arguments.

Definition at line 1072 of file TObject.cxx.

◆ InheritsFrom() [1/2]

Bool_t TObject::InheritsFrom ( const char * classname) const
virtualinherited

Returns kTRUE if object inherits from class "classname".

Reimplemented in TClass.

Definition at line 549 of file TObject.cxx.

◆ InheritsFrom() [2/2]

Bool_t TObject::InheritsFrom ( const TClass * cl) const
virtualinherited

Returns kTRUE if object inherits from TClass cl.

Reimplemented in TClass.

Definition at line 557 of file TObject.cxx.

◆ InitMap()

void TBufferIO::InitMap ( )
overridevirtualinherited

Create the fMap container and initialize them with the null object.

Implements TBuffer.

Definition at line 128 of file TBufferIO.cxx.

◆ Inspect()

void TObject::Inspect ( ) const
virtualinherited

Dump contents of this object in a graphics canvas.

Same action as Dump but in a graphical form. In addition pointers to other objects can be followed.

The following picture is the Inspect of a histogram object:

Reimplemented in ROOT::Experimental::XRooFit::xRooNode, TGFrame, TInspectorObject, and TSystemFile.

Definition at line 570 of file TObject.cxx.

◆ InvertBit()

void TObject::InvertBit ( UInt_t f)
inlineinherited

Definition at line 206 of file TObject.h.

◆ IsA()

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

Reimplemented from TBufferIO.

Definition at line 337 of file TBufferJSON.h.

◆ IsDestructed()

Bool_t TObject::IsDestructed ( ) const
inlineinherited

IsDestructed.

Note
This function must be non-virtual as it can be used on destructed (but not yet modified) memory. This is used for example in TClonesArray to record the element that have been destructed but not deleted and thus are ready for re-use (by operator new with placement).
Returns
true if this object's destructor has been run.

Definition at line 186 of file TObject.h.

◆ IsEqual()

Bool_t TObject::IsEqual ( const TObject * obj) const
virtualinherited

Default equal comparison (objects are equal if they have the same address in memory).

More complicated classes might want to override this function.

Reimplemented in TGObject, TObjString, TPair, and TQCommand.

Definition at line 589 of file TObject.cxx.

◆ IsFolder()

◆ IsOnHeap()

Bool_t TObject::IsOnHeap ( ) const
inlineinherited

Definition at line 160 of file TObject.h.

◆ IsReading()

Bool_t TBuffer::IsReading ( ) const
inlineinherited

Definition at line 86 of file TBuffer.h.

◆ IsSkipClassInfo()

Bool_t TBufferJSON::IsSkipClassInfo ( const TClass * cl) const

Returns true if class info will be skipped from JSON.

Definition at line 651 of file TBufferJSON.cxx.

◆ IsSortable()

virtual Bool_t TObject::IsSortable ( ) const
inlinevirtualinherited

◆ IsWriting()

Bool_t TBuffer::IsWriting ( ) const
inlineinherited

Definition at line 87 of file TBuffer.h.

◆ IsZombie()

Bool_t TObject::IsZombie ( ) const
inlineinherited

Definition at line 161 of file TObject.h.

◆ JsonDisablePostprocessing()

void TBufferJSON::JsonDisablePostprocessing ( )
protected

disable post-processing of the code

Definition at line 1329 of file TBufferJSON.cxx.

◆ JsonPushValue()

void TBufferJSON::JsonPushValue ( )
protected

If value exists, push in the current stack for post-processing.

Definition at line 2608 of file TBufferJSON.cxx.

◆ JsonReadArray()

template<typename T>
Int_t TBufferJSON::JsonReadArray ( T * value)
protected

Read static array from JSON - not used.

Definition at line 2722 of file TBufferJSON.cxx.

◆ JsonReadBasic()

template<typename T>
void TBufferJSON::JsonReadBasic ( T & value)
protected

Template function to read basic value from JSON.

Definition at line 3638 of file TBufferJSON.cxx.

◆ JsonReadCollection()

void TBufferJSON::JsonReadCollection ( TCollection * obj,
const TClass * objClass )
protected

read content of ROOT collection

Definition at line 1750 of file TBufferJSON.cxx.

◆ JsonReadFastArray()

template<typename T>
void TBufferJSON::JsonReadFastArray ( T * arr,
Int_t arrsize,
bool asstring = false )
protected

Template method to read array from the JSON.

Definition at line 2836 of file TBufferJSON.cxx.

◆ JsonReadObject()

void * TBufferJSON::JsonReadObject ( void * obj,
const TClass * objClass = nullptr,
TClass ** readClass = nullptr )
protected

Read object from current JSON node.

Definition at line 1851 of file TBufferJSON.cxx.

◆ JsonReadTObjectMembers()

void TBufferJSON::JsonReadTObjectMembers ( TObject * tobj,
void * node = nullptr )
protected

Read TObject data members from JSON.

Do not call TObject::Streamer() to avoid special tweaking of TBufferJSON interface

Definition at line 2063 of file TBufferJSON.cxx.

◆ JsonSpecialClass()

Int_t TBufferJSON::JsonSpecialClass ( const TClass * cl) const
protected

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 1338 of file TBufferJSON.cxx.

◆ JsonStartElement()

void TBufferJSON::JsonStartElement ( const TStreamerElement * elem,
const TClass * base_class )
protected

Start new class member in JSON structures.

Definition at line 1265 of file TBufferJSON.cxx.

◆ JsonStartObjectWrite()

TJSONStackObj * TBufferJSON::JsonStartObjectWrite ( const TClass * obj_class,
TStreamerInfo * info = nullptr )
protected

Start object element with typeinfo.

Definition at line 1231 of file TBufferJSON.cxx.

◆ JsonWriteArrayCompress()

template<typename T>
void TBufferJSON::JsonWriteArrayCompress ( const T * vname,
Int_t arrsize,
const char * typname )
protected

Definition at line 3118 of file TBufferJSON.cxx.

◆ JsonWriteBasic() [1/13]

void TBufferJSON::JsonWriteBasic ( Bool_t value)
protected

converts Bool_t to string and add to json value buffer

Definition at line 4091 of file TBufferJSON.cxx.

◆ JsonWriteBasic() [2/13]

void TBufferJSON::JsonWriteBasic ( Char_t value)
protected

converts Char_t to string and add to json value buffer

Definition at line 3999 of file TBufferJSON.cxx.

◆ JsonWriteBasic() [3/13]

void TBufferJSON::JsonWriteBasic ( Double_t value)
protected

converts Double_t to string and add to json value buffer

Definition at line 4069 of file TBufferJSON.cxx.

◆ JsonWriteBasic() [4/13]

void TBufferJSON::JsonWriteBasic ( Float_t value)
protected

converts Float_t to string and add to json value buffer

Definition at line 4047 of file TBufferJSON.cxx.

◆ JsonWriteBasic() [5/13]

void TBufferJSON::JsonWriteBasic ( Int_t value)
protected

converts Int_t to string and add to json value buffer

Definition at line 4019 of file TBufferJSON.cxx.

◆ JsonWriteBasic() [6/13]

void TBufferJSON::JsonWriteBasic ( Long64_t value)
protected

converts Long64_t to string and add to json value buffer

Definition at line 4039 of file TBufferJSON.cxx.

◆ JsonWriteBasic() [7/13]

void TBufferJSON::JsonWriteBasic ( Long_t value)
protected

converts Long_t to string and add to json value buffer

Definition at line 4029 of file TBufferJSON.cxx.

◆ JsonWriteBasic() [8/13]

void TBufferJSON::JsonWriteBasic ( Short_t value)
protected

converts Short_t to string and add to json value buffer

Definition at line 4009 of file TBufferJSON.cxx.

◆ JsonWriteBasic() [9/13]

void TBufferJSON::JsonWriteBasic ( UChar_t value)
protected

converts UChar_t to string and add to json value buffer

Definition at line 4099 of file TBufferJSON.cxx.

◆ JsonWriteBasic() [10/13]

void TBufferJSON::JsonWriteBasic ( UInt_t value)
protected

converts UInt_t to string and add to json value buffer

Definition at line 4119 of file TBufferJSON.cxx.

◆ JsonWriteBasic() [11/13]

void TBufferJSON::JsonWriteBasic ( ULong64_t value)
protected

converts ULong64_t to string and add to json value buffer

Definition at line 4139 of file TBufferJSON.cxx.

◆ JsonWriteBasic() [12/13]

void TBufferJSON::JsonWriteBasic ( ULong_t value)
protected

converts ULong_t to string and add to json value buffer

Definition at line 4129 of file TBufferJSON.cxx.

◆ JsonWriteBasic() [13/13]

void TBufferJSON::JsonWriteBasic ( UShort_t value)
protected

converts UShort_t to string and add to json value buffer

Definition at line 4109 of file TBufferJSON.cxx.

◆ JsonWriteCollection()

void TBufferJSON::JsonWriteCollection ( TCollection * obj,
const TClass * objClass )
protected

store content of ROOT collection

Definition at line 1659 of file TBufferJSON.cxx.

◆ JsonWriteConstChar()

void TBufferJSON::JsonWriteConstChar ( const char * value,
Int_t len = -1,
const char * = nullptr )
protected

writes string value, processing all kind of special characters

Definition at line 4147 of file TBufferJSON.cxx.

◆ JsonWriteFastArray()

template<typename T>
void TBufferJSON::JsonWriteFastArray ( const T * arr,
Long64_t arrsize,
const char * typname,
void(TBufferJSON::* method )(const T *, Int_t, const char *) )
protected

Template method to write array of arbitrary dimensions Different methods can be used for store last array dimension - either JsonWriteArrayCompress<T>() or JsonWriteConstChar().

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

Definition at line 3342 of file TBufferJSON.cxx.

◆ JsonWriteMember()

TString TBufferJSON::JsonWriteMember ( const void * ptr,
TDataMember * member,
TClass * memberClass,
Int_t arraylen )
protected

Convert single data member to JSON structures Note; if data member described by 'member'is pointer, ptr should be the value of the pointer, not the address of the pointer.

Returns string with converted member

Definition at line 1054 of file TBufferJSON.cxx.

◆ JsonWriteObject()

void TBufferJSON::JsonWriteObject ( const void * obj,
const TClass * objClass,
Bool_t check_map = kTRUE )
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 1376 of file TBufferJSON.cxx.

◆ Length()

Int_t TBuffer::Length ( ) const
inlineinherited

Definition at line 100 of file TBuffer.h.

◆ ls()

◆ MakeZombie()

void TObject::MakeZombie ( )
inlineprotectedinherited

Definition at line 55 of file TObject.h.

◆ MapObject() [1/2]

void TBufferIO::MapObject ( const TObject * obj,
UInt_t offset = 1 )
overridevirtualinherited

Add object to the fMap container.

If obj is not 0 add object to the map (in read mode also add 0 objects to the map). This method may only be called outside this class just before calling obj->Streamer() to prevent self reference of obj, in case obj contains (via via) a pointer to itself. In that case offset must be 1 (default value for offset).

Implements TBuffer.

Definition at line 162 of file TBufferIO.cxx.

◆ MapObject() [2/2]

void TBufferIO::MapObject ( const void * obj,
const TClass * cl,
UInt_t offset = 1 )
overridevirtualinherited

Add object to the fMap container.

If obj is not 0 add object to the map (in read mode also add 0 objects to the map). This method may only be called outside this class just before calling obj->Streamer() to prevent self reference of obj, in case obj contains (via via) a pointer to itself. In that case offset must be 1 (default value for offset).

Implements TBuffer.

Definition at line 195 of file TBufferIO.cxx.

◆ MayNotUse()

void TObject::MayNotUse ( const char * method) const
inherited

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).

Definition at line 1160 of file TObject.cxx.

◆ Notify()

Bool_t TObject::Notify ( )
virtualinherited

This method must be overridden to handle object notification (the base implementation is no-op).

Different objects in ROOT use the Notify method for different purposes, in coordination with other objects that call this method at the appropriate time.

For example, TLeaf uses it to load class information; TBranchRef to load contents of referenced branches TBranchRef; most notably, based on Notify, TChain implements a callback mechanism to inform interested parties when it switches to a new sub-tree.

Reimplemented in h1analysis, h1analysisTreeReader, TARInterruptHandler, TASInputHandler, TASInterruptHandler, TASLogHandler, TASSigPipeHandler, TBlinkTimer, TBranchElement, TBranchRef, TBreakLineCom, TBrowserTimer, TCollection, TDelCharCom, TDelTextCom, TFileHandler, TGContainerKeyboardTimer, TGContainerScrollTimer, TGInputHandler, TGLRedrawTimer, TGTextEditHist, TGuiBldDragManagerRepeatTimer, TIdleTimer, TInsCharCom, TInsTextCom, TInterruptHandler, TLeafObject, TMessageHandler, TNotifyLink< Type >, TNotifyLink< RNoCleanupNotifierHelper >, TNotifyLink< ROOT::Detail::TBranchProxy >, TNotifyLink< TTreeReader >, TPopupDelayTimer, TProcessEventTimer, TRefTable, TRepeatTimer, TSBRepeatTimer, TSelector, TSelectorDraw, TSelectorEntries, TSignalHandler, TSingleShotCleaner, TSocketHandler, TStdExceptionHandler, TSysEvtHandler, TTermInputHandler, TThreadTimer, TTimeOutTimer, TTimer, TTipDelayTimer, TTree, TTreeFormula, TTreeFormulaManager, TTreeReader, TViewTimer, and TViewUpdateTimer.

Definition at line 618 of file TObject.cxx.

◆ Obsolete()

void TObject::Obsolete ( const char * method,
const char * asOfVers,
const char * removedFromVers ) const
inherited

Use this method to declare a method obsolete.

Specify as of which version the method is obsolete and as from which version it will be removed.

Definition at line 1169 of file TObject.cxx.

◆ operator delete() [1/3]

void TObject::operator delete ( void * ptr,
size_t size )
inherited

Operator delete for sized deallocation.

Definition at line 1234 of file TObject.cxx.

◆ operator delete() [2/3]

void TObject::operator delete ( void * ptr)
inherited

Operator delete.

Definition at line 1212 of file TObject.cxx.

◆ operator delete() [3/3]

void TObject::operator delete ( void * ptr,
void * vp )
inherited

Only called by placement new when throwing an exception.

Definition at line 1266 of file TObject.cxx.

◆ operator delete[]() [1/3]

void TObject::operator delete[] ( void * ptr,
size_t size )
inherited

Operator delete [] for sized deallocation.

Definition at line 1245 of file TObject.cxx.

◆ operator delete[]() [2/3]

void TObject::operator delete[] ( void * ptr)
inherited

Operator delete [].

Definition at line 1223 of file TObject.cxx.

◆ operator delete[]() [3/3]

void TObject::operator delete[] ( void * ptr,
void * vp )
inherited

Only called by placement new[] when throwing an exception.

Definition at line 1274 of file TObject.cxx.

◆ operator new() [1/2]

void * TObject::operator new ( size_t sz)
inlineinherited

Definition at line 189 of file TObject.h.

◆ operator new() [2/2]

void * TObject::operator new ( size_t sz,
void * vp )
inlineinherited

Definition at line 191 of file TObject.h.

◆ operator new[]() [1/2]

void * TObject::operator new[] ( size_t sz)
inlineinherited

Definition at line 190 of file TObject.h.

◆ operator new[]() [2/2]

void * TObject::operator new[] ( size_t sz,
void * vp )
inlineinherited

Definition at line 192 of file TObject.h.

◆ Paint()

void TObject::Paint ( Option_t * option = "")
virtualinherited

This method must be overridden if a class wants to paint itself.

The difference between Paint() and Draw() is that when a object draws itself it is added to the display list of the pad in which it is drawn (and automatically redrawn whenever the pad is redrawn). While paint just draws the object without adding it to the pad display list.

Reimplemented in ROOT::Experimental::RTreeMapPainter, ROOT::RGeoPainter, TAnnotation, TArrow, TASImage, TASPaletteEditor::LimitLine, TASPaletteEditor::PaintPalette, TAxis3D, TBits, TBox, TButton, TCanvas, TClassTree, TCollection, TColorWheel, TCrown, TDiamond, TDirectory, TEfficiency, TEllipse, TEveArrow, TEveCaloViz, TEveDigitSet, TEveGeoShape, TEveGeoTopNode, TEvePlot3D, TEvePointSet, TEveProjectionAxes, TEveScene, TEveShape, TEveStraightLineSet, TEveText, TEveTriangleSet, TExec, TF1, TF2, TF3, TFile, TFileDrawMap, TFrame, TGaxis, TGenerator, TGeoBoolNode, TGeoIntersection, TGeoNode, TGeoOverlap, TGeoPainter, TGeoPhysicalNode, TGeoShape, TGeoSubtraction, TGeoTrack, TGeoUnion, TGeoVGShape, TGeoVolume, TGL5DDataSet, TGLHistPainter, TGLParametricEquation, TGLTH3Composition, TGraph2D, TGraph2DPainter, TGraph, TGraphEdge, TGraphNode, TGraphPolargram, TGraphTime, TH1, THistPainter, THStack, TLatex, TLegend, TLine, TMacro, TMarker3DBox, TMarker, TMathText, TMultiGraph, TNode, TNodeDiv, TPad, TPaletteAxis, TParallelCoord, TParallelCoordRange, TParallelCoordVar, TParticle, TPave, TPaveLabel, TPaveStats, TPavesText, TPaveText, TPie, TPolyLine3D, TPolyLine, TPolyMarker3D, TPolyMarker, TPrimary, TRatioPlot, TScatter2D, TScatter, TShape, TSpectrum2Painter, TSpider, TSpline, TSQLFile, TStyle, TText, TTreePerfStats, TVirtualGeoPainter, TVirtualGeoTrack, TVirtualHistPainter, TVirtualPad, TWbox, and TXMLFile.

Definition at line 631 of file TObject.cxx.

◆ PeekDataCache()

TVirtualArray * TBuffer::PeekDataCache ( ) const
virtualinherited

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

Definition at line 372 of file TBuffer.cxx.

◆ PerformPostProcessing()

void TBufferJSON::PerformPostProcessing ( TJSONStackObj * stack,
const TClass * obj_cl = nullptr )
protected

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

Definition at line 2415 of file TBufferJSON.cxx.

◆ Pop()

void TObject::Pop ( )
virtualinherited

Pop on object drawn in a pad to the top of the display list.

I.e. it will be drawn last and on top of all other primitives.

Reimplemented in TFrame, TPad, and TVirtualPad.

Definition at line 640 of file TObject.cxx.

◆ PopDataCache()

TVirtualArray * TBuffer::PopDataCache ( )
virtualinherited

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

Definition at line 382 of file TBuffer.cxx.

◆ PopStack()

TJSONStackObj * TBufferJSON::PopStack ( )
protected

remove one level from stack

Definition at line 1198 of file TBufferJSON.cxx.

◆ Print()

void TObject::Print ( Option_t * option = "") const
virtualinherited

This method must be overridden when a class wants to print itself.

Reimplemented in Roo1DTable, RooAbsArg, RooAbsBinning, RooAbsCollection, RooAbsData, RooAbsDataStore, RooAbsGenContext, RooCatType, RooCmdArg, RooCurve, RooEllipse, RooFitResult, RooGenFitStudy, RooHist, RooLinkedList, RooMsgService, RooNumGenConfig, RooNumIntConfig, RooPlot, RooSharedProperties, RooStats::ModelConfig, ROOT::Experimental::REveTrans, ROOT::Experimental::XRooFit::xRooNLLVar::xRooHypoPoint, ROOT::Experimental::XRooFit::xRooNLLVar::xRooHypoSpace, ROOT::Experimental::XRooFit::xRooNode, ROOT::v5::TFormula, RooWorkspace, TAnnotation, TApplicationRemote, TAttParticle, TBenchmark, TBits, TBox, TBranch, TBranchClones, TBranchElement, TBranchObject, TBranchRef, TBranchSTL, TChain, TClassTable, TCling, TCollection, TColor, TDatabasePDG, TDecompBase, TDecompBK, TDecompChol, TDecompLU, TDecompQRH, TDecompSparse, TDecompSVD, TDirectory, TEllipse, TEnv, TEventList, TEveTrans, TF1, TFile, TFileCacheRead, TFileCacheWrite, TFileCollection, TFileInfo, TFileInfoMeta, TFitResult, TFoamCell, TFoamVect, TFormula, TFunction, TGCompositeFrame, TGDMLMatrix, TGeoBatemanSol, TGeoBorderSurface, TGeoBranchArray, TGeoDecayChannel, TGeoElement, TGeoElementRN, TGeoElementTable, TGeoIsotope, TGeoMatrix, TGeoOpticalSurface, TGeoOverlap, TGeoPhysicalNode, TGeoRegion, TGeoSkinSurface, TGeoTessellated, TGeoTrack, TGeoVolume, TGeoVoxelFinder, TGFont, TGFontPool, TGFrame, TGFrameElement, TGGC, TGGCPool, TGLayoutHints, TGMimeTypes, TGPicture, TGPicturePool, TGraph2D, TGraph2DAsymmErrors, TGraph2DErrors, TGraph, TGraphAsymmErrors, TGraphBentErrors, TGraphErrors, TGraphMultiErrors, TGTextEdit, TGWindow, TH1, THashTable, THbookTree, THelix, THnBase, THStack, TInetAddress, TKey, TLegend, TLegendEntry, TLine, TLorentzVector, TMacro, TMapFile, TMarker, TMatrixTBase< Element >, TMatrixTBase< Double_t >, TMatrixTBase< Float_t >, TMemFile, TMessageHandler, TMultiDimFit, TMultiGraph, TMVA::Event, TMVA::Option< T >, TMVA::Option< T * >, TMVA::OptionBase, TMVA::PDEFoamCell, TMVA::PDEFoamVect, TMVA::TNeuron, TNamed, TObjectTable, TObjString, TPad, TParallelCoordRange, TParallelCoordVar, TParameter< AParamType >, TParameter< Long64_t >, TParticle, TParticleClassPDG, TParticlePDG, TPave, TPaveText, TPluginHandler, TPluginManager, TPolyLine3D, TPolyLine, TPolyMarker3D, TPolyMarker, TPrimary, TPrincipal, TQpDataDens, TQpDataSparse, TQpVar, TQSlot, TQuaternion, TRolke, TRootBrowserHistoryCursor, TScatter2D, TScatter, TSpectrum2, TSpectrum3, TSpectrum, TSQLColumnInfo, TSQLFile, TSQLStructure, TSQLTableInfo, TStatistic, TStopwatch, TStreamerInfoActions::TActionSequence, TText, TTree, TTreeCache, TTreeCacheUnzip, TTreeIndex, TTreePerfStats, TUri, TUrl, TVector2, TVector3, TVectorT< Element >, TVectorT< Double_t >, TVectorT< Float_t >, TVirtualPad, TXMLFile, TXTRU, TZIPFile, and TZIPMember.

Definition at line 661 of file TObject.cxx.

◆ PushDataCache()

void TBuffer::PushDataCache ( TVirtualArray * obj)
virtualinherited

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

Definition at line 363 of file TBuffer.cxx.

◆ PushStack()

TJSONStackObj * TBufferJSON::PushStack ( Int_t inclevel = 0,
void * readnode = nullptr )
protected

add new level to the structures stack

Definition at line 1180 of file TBufferJSON.cxx.

◆ Read()

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

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

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

Reimplemented from TObject.

Definition at line 66 of file TBuffer.h.

◆ ReadArray() [1/13]

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

Read array of Bool_t from buffer.

Implements TBuffer.

Definition at line 2617 of file TBufferJSON.cxx.

◆ ReadArray() [2/13]

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

Read array of Char_t from buffer.

Implements TBuffer.

Definition at line 2625 of file TBufferJSON.cxx.

◆ ReadArray() [3/13]

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

Read array of Double_t from buffer.

Implements TBuffer.

Definition at line 2713 of file TBufferJSON.cxx.

◆ ReadArray() [4/13]

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

Read array of Float_t from buffer.

Implements TBuffer.

Definition at line 2705 of file TBufferJSON.cxx.

◆ ReadArray() [5/13]

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

Read array of Int_t from buffer.

Implements TBuffer.

Definition at line 2657 of file TBufferJSON.cxx.

◆ ReadArray() [6/13]

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

Read array of Long64_t from buffer.

Implements TBuffer.

Definition at line 2689 of file TBufferJSON.cxx.

◆ ReadArray() [7/13]

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

Read array of Long_t from buffer.

Implements TBuffer.

Definition at line 2673 of file TBufferJSON.cxx.

◆ ReadArray() [8/13]

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

Read array of Short_t from buffer.

Implements TBuffer.

Definition at line 2641 of file TBufferJSON.cxx.

◆ ReadArray() [9/13]

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

Read array of UChar_t from buffer.

Implements TBuffer.

Definition at line 2633 of file TBufferJSON.cxx.

◆ ReadArray() [10/13]

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

Read array of UInt_t from buffer.

Implements TBuffer.

Definition at line 2665 of file TBufferJSON.cxx.

◆ ReadArray() [11/13]

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

Read array of ULong64_t from buffer.

Implements TBuffer.

Definition at line 2697 of file TBufferJSON.cxx.

◆ ReadArray() [12/13]

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

Read array of ULong_t from buffer.

Implements TBuffer.

Definition at line 2681 of file TBufferJSON.cxx.

◆ ReadArray() [13/13]

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

Read array of UShort_t from buffer.

Implements TBuffer.

Definition at line 2649 of file TBufferJSON.cxx.

◆ ReadArrayDouble32()

Int_t TBufferText::ReadArrayDouble32 ( Double_t *& d,
TStreamerElement * ele = nullptr )
overridevirtualinherited

Read array of Double32_t from buffer.

Implements TBuffer.

Definition at line 576 of file TBufferText.cxx.

◆ ReadArrayFloat16()

Int_t TBufferText::ReadArrayFloat16 ( Float_t *& f,
TStreamerElement * ele = nullptr )
overridevirtualinherited

Read array of Float16_t from buffer.

Implements TBuffer.

Definition at line 568 of file TBufferText.cxx.

◆ ReadBaseClass()

void TBufferJSON::ReadBaseClass ( void * start,
TStreamerBase * elem )
finalvirtual

Read data of base class.

Reimplemented from TBufferText.

Definition at line 4203 of file TBufferJSON.cxx.

◆ ReadBool()

void TBufferJSON::ReadBool ( Bool_t & b)
finalvirtual

Reads Bool_t value from buffer.

Implements TBuffer.

Definition at line 3646 of file TBufferJSON.cxx.

◆ ReadBuf()

Int_t TBufferText::ReadBuf ( void * ,
Int_t  )
inlinefinalvirtualinherited

Implements TBuffer.

Definition at line 84 of file TBufferText.h.

◆ ReadChar()

void TBufferJSON::ReadChar ( Char_t & c)
finalvirtual

Reads Char_t value from buffer.

Implements TBuffer.

Definition at line 3654 of file TBufferJSON.cxx.

◆ ReadCharP()

void TBufferJSON::ReadCharP ( Char_t * c)
finalvirtual

Reads array of characters from buffer.

Implements TBuffer.

Definition at line 3792 of file TBufferJSON.cxx.

◆ ReadCharStar()

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

Reads a char* string.

Implements TBuffer.

Definition at line 3818 of file TBufferJSON.cxx.

◆ ReadClass()

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

suppressed function of TBuffer

Implements TBuffer.

Definition at line 2537 of file TBufferJSON.cxx.

◆ ReadClassBuffer() [1/2]

Int_t TBufferText::ReadClassBuffer ( const TClass * cl,
void * pointer,
const TClass * onFileClass = nullptr )
overridevirtualinherited

Deserialize information from a buffer into an object.

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

Implements TBuffer.

Definition at line 327 of file TBufferText.cxx.

◆ ReadClassBuffer() [2/2]

Int_t TBufferText::ReadClassBuffer ( const TClass * cl,
void * pointer,
Int_t version,
UInt_t start,
UInt_t count,
const TClass * onFileClass = nullptr )
overridevirtualinherited

Deserialize information from a buffer into an object.

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

Parameters
[in]clpointer to the local TClass
[out]pointervoid pointer to object
[in]versionThe version number of the class
[in]startThe starting position in the buffer b
[in]countThe number of bytes for this object in the buffer
[in]onFileClasspointer to TClass object on file

Implements TBuffer.

Definition at line 239 of file TBufferText.cxx.

◆ ReadClassEmulated()

Int_t TBufferText::ReadClassEmulated ( const TClass * ,
void * ,
const TClass * = nullptr )
inlinefinalvirtualinherited

Implements TBuffer.

Definition at line 116 of file TBufferText.h.

◆ ReadClones()

Int_t TBufferIO::ReadClones ( TClonesArray * a,
Int_t nobjects,
Version_t objvers )
overridevirtualinherited

Interface to TStreamerInfo::ReadBufferClones.

Implements TBuffer.

Definition at line 371 of file TBufferIO.cxx.

◆ ReadDouble()

void TBufferJSON::ReadDouble ( Double_t & d)
finalvirtual

Reads Double_t value from buffer.

Implements TBuffer.

Definition at line 3766 of file TBufferJSON.cxx.

◆ ReadDouble32()

void TBufferText::ReadDouble32 ( Double_t * d,
TStreamerElement * ele = nullptr )
finalvirtualinherited

read a Double32_t from the buffer

Implements TBuffer.

Definition at line 500 of file TBufferText.cxx.

◆ ReadFastArray() [1/15]

void TBufferJSON::ReadFastArray ( Bool_t * b,
Int_t n )
finalvirtual

read array of Bool_t from buffer

Implements TBuffer.

Definition at line 2917 of file TBufferJSON.cxx.

◆ ReadFastArray() [2/15]

void TBufferJSON::ReadFastArray ( Char_t * c,
Int_t n )
finalvirtual

read array of Char_t from buffer

Implements TBuffer.

Definition at line 2925 of file TBufferJSON.cxx.

◆ ReadFastArray() [3/15]

void TBufferJSON::ReadFastArray ( Double_t * d,
Int_t n )
finalvirtual

read array of Double_t from buffer

Implements TBuffer.

Definition at line 3021 of file TBufferJSON.cxx.

◆ ReadFastArray() [4/15]

void TBufferJSON::ReadFastArray ( Float_t * f,
Int_t n )
finalvirtual

read array of Float_t from buffer

Implements TBuffer.

Definition at line 3013 of file TBufferJSON.cxx.

◆ ReadFastArray() [5/15]

void TBufferJSON::ReadFastArray ( Int_t * i,
Int_t n )
finalvirtual

read array of Int_t from buffer

Implements TBuffer.

Definition at line 2965 of file TBufferJSON.cxx.

◆ ReadFastArray() [6/15]

void TBufferJSON::ReadFastArray ( Long64_t * l,
Int_t n )
finalvirtual

read array of Long64_t from buffer

Implements TBuffer.

Definition at line 2997 of file TBufferJSON.cxx.

◆ ReadFastArray() [7/15]

void TBufferJSON::ReadFastArray ( Long_t * l,
Int_t n )
finalvirtual

read array of Long_t from buffer

Implements TBuffer.

Definition at line 2981 of file TBufferJSON.cxx.

◆ ReadFastArray() [8/15]

void TBufferJSON::ReadFastArray ( Short_t * h,
Int_t n )
finalvirtual

read array of Short_t from buffer

Implements TBuffer.

Definition at line 2949 of file TBufferJSON.cxx.

◆ ReadFastArray() [9/15]

void TBufferJSON::ReadFastArray ( UChar_t * c,
Int_t n )
finalvirtual

read array of UChar_t from buffer

Implements TBuffer.

Definition at line 2941 of file TBufferJSON.cxx.

◆ ReadFastArray() [10/15]

void TBufferJSON::ReadFastArray ( UInt_t * i,
Int_t n )
finalvirtual

read array of UInt_t from buffer

Implements TBuffer.

Definition at line 2973 of file TBufferJSON.cxx.

◆ ReadFastArray() [11/15]

void TBufferJSON::ReadFastArray ( ULong64_t * l,
Int_t n )
finalvirtual

read array of ULong64_t from buffer

Implements TBuffer.

Definition at line 3005 of file TBufferJSON.cxx.

◆ ReadFastArray() [12/15]

void TBufferJSON::ReadFastArray ( ULong_t * l,
Int_t n )
finalvirtual

read array of ULong_t from buffer

Implements TBuffer.

Definition at line 2989 of file TBufferJSON.cxx.

◆ ReadFastArray() [13/15]

void TBufferJSON::ReadFastArray ( UShort_t * h,
Int_t n )
finalvirtual

read array of UShort_t from buffer

Implements TBuffer.

Definition at line 2957 of file TBufferJSON.cxx.

◆ ReadFastArray() [14/15]

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

redefined here to avoid warning message from gcc

Implements TBuffer.

Definition at line 3072 of file TBufferJSON.cxx.

◆ ReadFastArray() [15/15]

void TBufferJSON::ReadFastArray ( void * start,
const TClass * cl,
Int_t n = 1,
TMemberStreamer * s = 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'. Copied code from TBufferFile

Implements TBuffer.

Definition at line 3032 of file TBufferJSON.cxx.

◆ ReadFastArrayDouble32()

void TBufferText::ReadFastArrayDouble32 ( Double_t * d,
Int_t n,
TStreamerElement * ele = nullptr )
finalvirtualinherited

read array of Double32_t from buffer

Implements TBuffer.

Definition at line 624 of file TBufferText.cxx.

◆ ReadFastArrayFloat16()

void TBufferText::ReadFastArrayFloat16 ( Float_t * f,
Int_t n,
TStreamerElement * ele = nullptr )
finalvirtualinherited

read array of Float16_t from buffer

Implements TBuffer.

Definition at line 600 of file TBufferText.cxx.

◆ ReadFastArrayString()

void TBufferJSON::ReadFastArrayString ( Char_t * c,
Int_t n )
finalvirtual

read array of Char_t from buffer

Implements TBuffer.

Definition at line 2933 of file TBufferJSON.cxx.

◆ ReadFastArrayWithFactor() [1/2]

void TBufferText::ReadFastArrayWithFactor ( Double_t * ptr,
Int_t n,
Double_t factor,
Double_t minvalue )
finalvirtualinherited

read array of Double32_t from buffer

Implements TBuffer.

Definition at line 632 of file TBufferText.cxx.

◆ ReadFastArrayWithFactor() [2/2]

void TBufferText::ReadFastArrayWithFactor ( Float_t * ptr,
Int_t n,
Double_t factor,
Double_t minvalue )
finalvirtualinherited

read array of Float16_t from buffer

Implements TBuffer.

Definition at line 608 of file TBufferText.cxx.

◆ ReadFastArrayWithNbits() [1/2]

void TBufferText::ReadFastArrayWithNbits ( Double_t * ptr,
Int_t n,
Int_t nbits )
finalvirtualinherited

read array of Double32_t from buffer

Implements TBuffer.

Definition at line 640 of file TBufferText.cxx.

◆ ReadFastArrayWithNbits() [2/2]

void TBufferText::ReadFastArrayWithNbits ( Float_t * ptr,
Int_t n,
Int_t nbits )
finalvirtualinherited

read array of Float16_t from buffer

Implements TBuffer.

Definition at line 616 of file TBufferText.cxx.

◆ ReadFloat()

void TBufferJSON::ReadFloat ( Float_t & f)
finalvirtual

Reads Float_t value from buffer.

Implements TBuffer.

Definition at line 3740 of file TBufferJSON.cxx.

◆ ReadFloat16()

void TBufferText::ReadFloat16 ( Float_t * f,
TStreamerElement * ele = nullptr )
finalvirtualinherited

read a Float16_t from the buffer

Implements TBuffer.

Definition at line 492 of file TBufferText.cxx.

◆ ReadInt()

void TBufferJSON::ReadInt ( Int_t & i)
finalvirtual

Reads Int_t value from buffer.

Implements TBuffer.

Definition at line 3689 of file TBufferJSON.cxx.

◆ ReadLong()

void TBufferJSON::ReadLong ( Long_t & l)
finalvirtual

Reads Long_t value from buffer.

Implements TBuffer.

Definition at line 3708 of file TBufferJSON.cxx.

◆ ReadLong64()

void TBufferJSON::ReadLong64 ( Long64_t & l)
finalvirtual

Reads Long64_t value from buffer.

Implements TBuffer.

Definition at line 3724 of file TBufferJSON.cxx.

◆ ReadObject()

TObject * TBufferText::ReadObject ( const TClass * )
inlinefinalvirtualinherited

Implements TBuffer.

Definition at line 109 of file TBufferText.h.

◆ ReadObjectAny()

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

Read object from buffer. Only used from TBuffer.

Implements TBuffer.

Definition at line 2581 of file TBufferJSON.cxx.

◆ ReadProcessID()

TProcessID * TBufferIO::ReadProcessID ( UShort_t pidf)
overridevirtualinherited

The TProcessID with number pidf is read from file.

If the object is not already entered in the gROOT list, it is added.

Implements TBuffer.

Definition at line 421 of file TBufferIO.cxx.

◆ ReadShort()

void TBufferJSON::ReadShort ( Short_t & s)
finalvirtual

Reads Short_t value from buffer.

Implements TBuffer.

Definition at line 3673 of file TBufferJSON.cxx.

◆ ReadStaticArray() [1/13]

Int_t TBufferJSON::ReadStaticArray ( Bool_t * b)
finalvirtual

Read array of Bool_t from buffer.

Implements TBuffer.

Definition at line 2731 of file TBufferJSON.cxx.

◆ ReadStaticArray() [2/13]

Int_t TBufferJSON::ReadStaticArray ( Char_t * c)
finalvirtual

Read array of Char_t from buffer.

Implements TBuffer.

Definition at line 2739 of file TBufferJSON.cxx.

◆ ReadStaticArray() [3/13]

Int_t TBufferJSON::ReadStaticArray ( Double_t * d)
finalvirtual

Read array of Double_t from buffer.

Implements TBuffer.

Definition at line 2827 of file TBufferJSON.cxx.

◆ ReadStaticArray() [4/13]

Int_t TBufferJSON::ReadStaticArray ( Float_t * f)
finalvirtual

Read array of Float_t from buffer.

Implements TBuffer.

Definition at line 2819 of file TBufferJSON.cxx.

◆ ReadStaticArray() [5/13]

Int_t TBufferJSON::ReadStaticArray ( Int_t * i)
finalvirtual

Read array of Int_t from buffer.

Implements TBuffer.

Definition at line 2771 of file TBufferJSON.cxx.

◆ ReadStaticArray() [6/13]

Int_t TBufferJSON::ReadStaticArray ( Long64_t * l)
finalvirtual

Read array of Long64_t from buffer.

Implements TBuffer.

Definition at line 2803 of file TBufferJSON.cxx.

◆ ReadStaticArray() [7/13]

Int_t TBufferJSON::ReadStaticArray ( Long_t * l)
finalvirtual

Read array of Long_t from buffer.

Implements TBuffer.

Definition at line 2787 of file TBufferJSON.cxx.

◆ ReadStaticArray() [8/13]

Int_t TBufferJSON::ReadStaticArray ( Short_t * h)
finalvirtual

Read array of Short_t from buffer.

Implements TBuffer.

Definition at line 2755 of file TBufferJSON.cxx.

◆ ReadStaticArray() [9/13]

Int_t TBufferJSON::ReadStaticArray ( UChar_t * c)
finalvirtual

Read array of UChar_t from buffer.

Implements TBuffer.

Definition at line 2747 of file TBufferJSON.cxx.

◆ ReadStaticArray() [10/13]

Int_t TBufferJSON::ReadStaticArray ( UInt_t * i)
finalvirtual

Read array of UInt_t from buffer.

Implements TBuffer.

Definition at line 2779 of file TBufferJSON.cxx.

◆ ReadStaticArray() [11/13]

Int_t TBufferJSON::ReadStaticArray ( ULong64_t * l)
finalvirtual

Read array of ULong64_t from buffer.

Implements TBuffer.

Definition at line 2811 of file TBufferJSON.cxx.

◆ ReadStaticArray() [12/13]

Int_t TBufferJSON::ReadStaticArray ( ULong_t * l)
finalvirtual

Read array of ULong_t from buffer.

Implements TBuffer.

Definition at line 2795 of file TBufferJSON.cxx.

◆ ReadStaticArray() [13/13]

Int_t TBufferJSON::ReadStaticArray ( UShort_t * h)
finalvirtual

Read array of UShort_t from buffer.

Implements TBuffer.

Definition at line 2763 of file TBufferJSON.cxx.

◆ ReadStaticArrayDouble32()

Int_t TBufferText::ReadStaticArrayDouble32 ( Double_t * d,
TStreamerElement * ele = nullptr )
finalvirtualinherited

Read array of Double32_t from buffer.

Implements TBuffer.

Definition at line 592 of file TBufferText.cxx.

◆ ReadStaticArrayFloat16()

Int_t TBufferText::ReadStaticArrayFloat16 ( Float_t * f,
TStreamerElement * ele = nullptr )
finalvirtualinherited

Read array of Float16_t from buffer.

Implements TBuffer.

Definition at line 584 of file TBufferText.cxx.

◆ ReadStdString() [1/2]

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

Reimplemented from TBuffer.

Definition at line 292 of file TBuffer.h.

◆ ReadStdString() [2/2]

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

Reads a std::string.

Implements TBuffer.

Definition at line 3810 of file TBufferJSON.cxx.

◆ ReadString()

char * TBufferText::ReadString ( char * ,
Int_t  )
inlinefinalvirtualinherited

Implements TBuffer.

Definition at line 91 of file TBufferText.h.

◆ ReadTString()

void TBufferJSON::ReadTString ( TString & s)
finalvirtual

Reads a TString.

Implements TBuffer.

Definition at line 3800 of file TBufferJSON.cxx.

◆ ReadUChar()

void TBufferJSON::ReadUChar ( UChar_t & c)
finalvirtual

Reads UChar_t value from buffer.

Implements TBuffer.

Definition at line 3665 of file TBufferJSON.cxx.

◆ ReadUInt()

void TBufferJSON::ReadUInt ( UInt_t & i)
finalvirtual

Reads UInt_t value from buffer.

Implements TBuffer.

Definition at line 3700 of file TBufferJSON.cxx.

◆ ReadULong()

void TBufferJSON::ReadULong ( ULong_t & l)
finalvirtual

Reads ULong_t value from buffer.

Implements TBuffer.

Definition at line 3716 of file TBufferJSON.cxx.

◆ ReadULong64()

void TBufferJSON::ReadULong64 ( ULong64_t & l)
finalvirtual

Reads ULong64_t value from buffer.

Implements TBuffer.

Definition at line 3732 of file TBufferJSON.cxx.

◆ ReadUShort()

void TBufferJSON::ReadUShort ( UShort_t & s)
finalvirtual

Reads UShort_t value from buffer.

Implements TBuffer.

Definition at line 3681 of file TBufferJSON.cxx.

◆ ReadVersion()

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

read version value from buffer

Implements TBuffer.

Definition at line 2550 of file TBufferJSON.cxx.

◆ ReadVersionForMemberWise()

Version_t TBufferText::ReadVersionForMemberWise ( const TClass * = nullptr)
inlinefinalvirtualinherited

Implements TBuffer.

Definition at line 98 of file TBufferText.h.

◆ ReadVersionNoCheckSum()

Version_t TBufferText::ReadVersionNoCheckSum ( UInt_t * ,
UInt_t *  )
inlinefinalvirtualinherited

Implements TBuffer.

Definition at line 82 of file TBufferText.h.

◆ ReadWithFactor() [1/2]

void TBufferText::ReadWithFactor ( Double_t * d,
Double_t factor,
Double_t minvalue )
finalvirtualinherited

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().

Currently TBufferText does not optimize space in this case.

Implements TBuffer.

Definition at line 533 of file TBufferText.cxx.

◆ ReadWithFactor() [2/2]

void TBufferText::ReadWithFactor ( Float_t * f,
Double_t factor,
Double_t minvalue )
finalvirtualinherited

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().

Currently TBufferText does not optimize space in this case.

Implements TBuffer.

Definition at line 511 of file TBufferText.cxx.

◆ ReadWithNbits() [1/2]

void TBufferText::ReadWithNbits ( Double_t * d,
Int_t nbits )
finalvirtualinherited

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().

Currently TBufferText does not optimize space in this case.

Implements TBuffer.

Definition at line 544 of file TBufferText.cxx.

◆ ReadWithNbits() [2/2]

void TBufferText::ReadWithNbits ( Float_t * f,
Int_t nbits )
finalvirtualinherited

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().

Currently TBufferText does not optimize space in this case.

Implements TBuffer.

Definition at line 522 of file TBufferText.cxx.

◆ RecursiveRemove()

◆ Reset()

void TBufferIO::Reset ( )
overridevirtualinherited

Reset buffer object. Resets map and buffer offset.

Implements TBuffer.

Reimplemented in TMessage.

Definition at line 304 of file TBufferIO.cxx.

◆ ResetBit()

void TObject::ResetBit ( UInt_t f)
inlineinherited

Definition at line 203 of file TObject.h.

◆ ResetMap()

void TBufferIO::ResetMap ( )
overridevirtualinherited

Delete existing fMap and reset map counter.

Implements TBuffer.

Definition at line 287 of file TBufferIO.cxx.

◆ RestoreObject()

void * TBufferJSON::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.

Definition at line 991 of file TBufferJSON.cxx.

◆ SaveAs()

void TObject::SaveAs ( const char * filename = "",
Option_t * option = "" ) const
virtualinherited

Save this object in the file specified by filename.

  • if "filename" contains ".root" the object is saved in filename as root binary file.
  • if "filename" contains ".xml" the object is saved in filename as a xml ascii file.
  • if "filename" contains ".cc" the object is saved in filename as C code independent from ROOT. The code is generated via SavePrimitive(). Specific code should be implemented in each object to handle this option. Like in TF1::SavePrimitive().
  • otherwise the object is written to filename as a CINT/C++ script. The C++ code to rebuild this object is generated via SavePrimitive(). The "option" parameter is passed to SavePrimitive. By default it is an empty string. It can be used to specify the Draw option in the code generated by SavePrimitive.

    The function is available via the object context menu.

Reimplemented in ROOT::Experimental::XRooFit::xRooNode, TClassTree, TFolder, TGeoVolume, TGObject, TGraph, TH1, TPad, TPaveClass, TSpline3, TSpline5, TSpline, TTreePerfStats, and TVirtualPad.

Definition at line 708 of file TObject.cxx.

◆ SavePrimitive()

void TObject::SavePrimitive ( std::ostream & out,
Option_t * option = "" )
virtualinherited

Save a primitive as a C++ statement(s) on output stream "out".

Reimplemented in TAnnotation, TArc, TArrow, TASImage, TAxis3D, TBox, TButton, TCanvas, TChain, TCrown, TCurlyArc, TCurlyLine, TCutG, TDiamond, TEfficiency, TEllipse, TExec, TF12, TF1, TF2, TF3, TFrame, TGaxis, TGButton, TGButtonGroup, TGCanvas, TGCheckButton, TGColorSelect, TGColumnLayout, TGComboBox, TGCompositeFrame, TGContainer, TGDockableFrame, TGDoubleHSlider, TGDoubleVSlider, TGedMarkerSelect, TGedPatternSelect, TGeoArb8, TGeoBBox, TGeoBoolNode, TGeoCombiTrans, TGeoCompositeShape, TGeoCone, TGeoConeSeg, TGeoCtub, TGeoDecayChannel, TGeoElementRN, TGeoEltu, TGeoGtra, TGeoHalfSpace, TGeoHMatrix, TGeoHype, TGeoIdentity, TGeoIntersection, TGeoMaterial, TGeoMedium, TGeoMixture, TGeoPara, TGeoParaboloid, TGeoPatternCylPhi, TGeoPatternCylR, TGeoPatternParaX, TGeoPatternParaY, TGeoPatternParaZ, TGeoPatternSphPhi, TGeoPatternSphR, TGeoPatternSphTheta, TGeoPatternTrapZ, TGeoPatternX, TGeoPatternY, TGeoPatternZ, TGeoPcon, TGeoPgon, TGeoRotation, TGeoScaledShape, TGeoShapeAssembly, TGeoSphere, TGeoSubtraction, TGeoTessellated, TGeoTorus, TGeoTranslation, TGeoTrap, TGeoTrd1, TGeoTrd2, TGeoTube, TGeoTubeSeg, TGeoUnion, TGeoVolume, TGeoXtru, TGFileContainer, TGFont, TGFrame, TGFSComboBox, TGGC, TGGroupFrame, TGHButtonGroup, TGHorizontal3DLine, TGHorizontalFrame, TGHorizontalLayout, TGHProgressBar, TGHScrollBar, TGHSlider, TGHSplitter, TGHtml, TGIcon, TGLabel, TGLayoutHints, TGLineStyleComboBox, TGLineWidthComboBox, TGListBox, TGListDetailsLayout, TGListLayout, TGListTree, TGListView, TGLVContainer, TGMainFrame, TGMatrixLayout, TGMdiFrame, TGMdiMainFrame, TGMdiMenuBar, TGMenuBar, TGMenuTitle, TGNumberEntry, TGNumberEntryField, TGPictureButton, TGPopupMenu, TGProgressBar, TGRadioButton, TGraph2D, TGraph2DAsymmErrors, TGraph2DErrors, TGraph, TGraphAsymmErrors, TGraphBentErrors, TGraphEdge, TGraphErrors, TGraphMultiErrors, TGraphNode, TGraphPolar, TGraphPolargram, TGraphStruct, TGroupButton, TGRowLayout, TGShapedFrame, TGShutter, TGShutterItem, TGSplitFrame, TGStatusBar, TGTab, TGTabLayout, TGTableLayout, TGTableLayoutHints, TGTextButton, TGTextEdit, TGTextEntry, TGTextLBEntry, TGTextView, TGTileLayout, TGToolBar, TGTransientFrame, TGTripleHSlider, TGTripleVSlider, TGVButtonGroup, TGVertical3DLine, TGVerticalFrame, TGVerticalLayout, TGVFileSplitter, TGVProgressBar, TGVScrollBar, TGVSlider, TGVSplitter, TGXYLayout, TGXYLayoutHints, TH1, TH2Poly, THelix, THStack, TLatex, TLegend, TLine, TMacro, TMarker3DBox, TMarker, TMathText, TMultiGraph, TPad, TPaletteAxis, TParallelCoord, TParallelCoordVar, TPave, TPaveClass, TPaveLabel, TPaveStats, TPavesText, TPaveText, TPie, TPieSlice, TPolyLine3D, TPolyLine, TPolyMarker3D, TPolyMarker, TProfile2D, TProfile3D, TProfile, TRootContainer, TRootEmbeddedCanvas, TScatter2D, TScatter, TSlider, TSliderBox, TSpline3, TSpline5, TStyle, TText, TTreePerfStats, and TWbox.

Definition at line 858 of file TObject.cxx.

◆ SavePrimitiveConstructor()

void TObject::SavePrimitiveConstructor ( std::ostream & out,
TClass * cl,
const char * variable_name,
const char * constructor_agrs = "",
Bool_t empty_line = kTRUE )
staticprotectedinherited

Save object constructor in the output stream "out".

Can be used as first statement when implementing SavePrimitive() method for the object

Definition at line 777 of file TObject.cxx.

◆ SavePrimitiveDraw()

void TObject::SavePrimitiveDraw ( std::ostream & out,
const char * variable_name,
Option_t * option = nullptr )
staticprotectedinherited

Save invocation of primitive Draw() method Skipped if option contains "nodraw" string.

Definition at line 845 of file TObject.cxx.

◆ SavePrimitiveVector()

TString TObject::SavePrimitiveVector ( std::ostream & out,
const char * prefix,
Int_t len,
Double_t * arr,
Int_t flag = 0 )
staticprotectedinherited

Save array in the output stream "out" as vector.

Create unique variable name based on prefix value Returns name of vector which can be used in constructor or in other places of C++ code If flag === kTRUE, just add empty line If flag === 111, check if array is empty and return nullptr or <vectorname>.data()

Definition at line 796 of file TObject.cxx.

◆ SetBit() [1/2]

void TObject::SetBit ( UInt_t f)
inlineinherited

Definition at line 202 of file TObject.h.

◆ SetBit() [2/2]

void TObject::SetBit ( UInt_t f,
Bool_t set )
inherited

Set or unset the user status bits as specified in f.

Definition at line 888 of file TObject.cxx.

◆ SetBuffer()

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

Sets a new buffer in an existing TBuffer object.

If newsiz=0 then the new buffer is expected to have the same size as the previous buffer. The current buffer position is reset to the start of the buffer. If the TBuffer owned the previous buffer, it will be deleted prior to accepting the new buffer. By default the new buffer will be adopted unless adopt is false.

If the new buffer is not adopted and no memory allocation routine is provided, a Fatal error will be issued if the Buffer attempts to expand.

Definition at line 186 of file TBuffer.cxx.

◆ SetBufferDisplacement() [1/2]

void TBufferIO::SetBufferDisplacement ( )
inlineoverridevirtualinherited

Implements TBuffer.

Definition at line 82 of file TBufferIO.h.

◆ SetBufferDisplacement() [2/2]

void TBufferIO::SetBufferDisplacement ( Int_t skipped)
inlineoverridevirtualinherited

Implements TBuffer.

Definition at line 83 of file TBufferIO.h.

◆ SetBufferOffset()

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

Definition at line 93 of file TBuffer.h.

◆ SetByteCount()

void TBufferText::SetByteCount ( UInt_t ,
Bool_t = kFALSE )
inlinefinalvirtualinherited

Implements TBuffer.

Definition at line 80 of file TBufferText.h.

◆ SetCompact()

void TBufferJSON::SetCompact ( int level)

Set level of space/newline/array compression Lower digit of compact parameter define formatting rules.

  • kNoCompress = 0 - no any compression, human-readable form
  • kNoIndent = 1 - remove indentation spaces in the begin of each line
  • kNoNewLine = 2 - remove also newlines
  • kNoSpaces = 3 - exclude all spaces and new lines

Second digit of compact parameter defines algorithm for arrays compression

  • 0 - no compression, standard JSON array
  • kZeroSuppression = 10 - exclude leading and trailing zeros
  • kSameSuppression = 20 - check values repetition and empty gaps

Third digit defines usage of typeinfo

  • kSkipTypeInfo = 100 - "_typename" field will be skipped, reading by ROOT or JSROOT may be impossible

Fourth digit (1 or 0) defines whether to set kStoreInfNaN

Definition at line 590 of file TBufferJSON.cxx.

◆ SetDoubleFormat()

void TBufferText::SetDoubleFormat ( const char * fmt = "%.14e")
staticinherited

set printf format for double members, default "%.14e" use it after SetFloatFormat, which also overwrites format for doubles

Definition at line 819 of file TBufferText.cxx.

◆ SetDrawOption()

void TObject::SetDrawOption ( Option_t * option = "")
virtualinherited

Set drawing option for object.

This option only affects the drawing style and is stored in the option field of the TObjOptLink supporting a TPad's primitive list (TList). Note that it does not make sense to call object.SetDrawOption(option) before having called object.Draw().

Reimplemented in RooPlot, TAxis, TBrowser, TGedFrame, TGFrame, TPad, TPaveStats, TRootBrowserLite, TSystemDirectory, and TSystemFile.

Definition at line 871 of file TObject.cxx.

◆ SetDtorOnly()

void TObject::SetDtorOnly ( void * obj)
staticinherited

Set destructor only flag.

Definition at line 1204 of file TObject.cxx.

◆ SetFloatFormat()

void TBufferText::SetFloatFormat ( const char * fmt = "%e")
staticinherited

set printf format for float/double members, default "%e" to change format only for doubles, use SetDoubleFormat

Definition at line 799 of file TBufferText.cxx.

◆ SetGlobalReadParam()

void TBufferIO::SetGlobalReadParam ( Int_t mapsize)
staticinherited

Set the initial size of the map used to store object and class references during reading.

The default size is kMapSize. Increasing the default has the benefit that when reading many small objects the array does not need to be resized too often (the system is always dynamic, even with the default everything will work, only the initial resizing will cost some time). Per TBuffer object this option can be changed using SetReadParam().

Definition at line 547 of file TBufferIO.cxx.

◆ SetGlobalWriteParam()

void TBufferIO::SetGlobalWriteParam ( Int_t mapsize)
staticinherited

Set the initial size of the map used to store object and class references during reading.

The default size is kMapSize. Increasing the default has the benefit that when reading many small objects the array does not need to be resized too often (the system is always dynamic, even with the default everything will work, only the initial resizing will cost some time). Per TBuffer object this option can be changed using SetReadParam().

Definition at line 563 of file TBufferIO.cxx.

◆ SetObjectStat()

void TObject::SetObjectStat ( Bool_t stat)
staticinherited

Turn on/off tracking of objects in the TObjectTable.

Definition at line 1188 of file TObject.cxx.

◆ SetParent()

void TBuffer::SetParent ( TObject * parent)
inherited

Set parent owning this buffer.

Definition at line 269 of file TBuffer.cxx.

◆ SetPidOffset()

void TBufferIO::SetPidOffset ( UShort_t offset)
overridevirtualinherited

This offset is used when a key (or basket) is transferred from one file to the other.

In this case the TRef and TObject might have stored a pid index (to retrieve TProcessIDs) which referred to their order on the original file, the fPidOffset is to be added to those values to correctly find the TProcessID. This fPidOffset needs to be increment if the key/basket is copied and need to be zero for new key/basket.

Implements TBuffer.

Definition at line 318 of file TBufferIO.cxx.

◆ SetReadMode()

void TBuffer::SetReadMode ( )
inherited

Set buffer in read mode.

Definition at line 301 of file TBuffer.cxx.

◆ SetReadParam()

void TBufferIO::SetReadParam ( Int_t mapsize)
overridevirtualinherited

Set the initial size of the map used to store object and class references during reading.

The default size is TBufferFile::kMapSize. Increasing the default has the benefit that when reading many small objects the map does not need to be resized too often (the system is always dynamic, even with the default everything will work, only the initial resizing will cost some time). This method can only be called directly after the creation of the TBuffer, before any reading is done. Globally this option can be changed using SetGlobalReadParam().

Implements TBuffer.

Definition at line 96 of file TBufferIO.cxx.

◆ SetReAllocFunc()

void TBuffer::SetReAllocFunc ( ReAllocCharFun_t reallocfunc = nullptr)
inherited

Set which memory reallocation method to use.

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

Definition at line 285 of file TBuffer.cxx.

◆ SetSkipClassInfo()

void TBufferJSON::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("").

Definition at line 642 of file TBufferJSON.cxx.

◆ SetStreamerElementNumber()

void TBufferJSON::SetStreamerElementNumber ( TStreamerElement * elem,
Int_t comp_type )
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 2176 of file TBufferJSON.cxx.

◆ SetTypenameTag()

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 615 of file TBufferJSON.cxx.

◆ SetTypeversionTag()

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 629 of file TBufferJSON.cxx.

◆ SetUniqueID()

void TObject::SetUniqueID ( UInt_t uid)
virtualinherited

Set the unique object id.

Definition at line 899 of file TObject.cxx.

◆ SetWriteMode()

void TBuffer::SetWriteMode ( )
inherited

Set buffer in write mode.

Definition at line 315 of file TBuffer.cxx.

◆ SetWriteParam()

void TBufferIO::SetWriteParam ( Int_t mapsize)
overridevirtualinherited

Set the initial size of the hashtable used to store object and class references during writing.

The default size is TBufferFile::kMapSize. Increasing the default has the benefit that when writing many small objects the hashtable does not get too many collisions (the system is always dynamic, even with the default everything will work, only a large number of collisions will cost performance). For optimal performance hashsize should always be a prime. This method can only be called directly after the creation of the TBuffer, before any writing is done. Globally this option can be changed using SetGlobalWriteParam().

Implements TBuffer.

Definition at line 116 of file TBufferIO.cxx.

◆ SkipObjectAny()

void TBufferJSON::SkipObjectAny ( )
finalvirtual

Skip any kind of object from buffer.

Implements TBuffer.

Definition at line 2592 of file TBufferJSON.cxx.

◆ SkipVersion()

void TBufferText::SkipVersion ( const TClass * cl = nullptr)
finalvirtualinherited

Skip class version from I/O buffer.

Implements TBuffer.

Definition at line 679 of file TBufferText.cxx.

◆ Stack()

TJSONStackObj * TBufferJSON::Stack ( )
inlineprotected

Definition at line 261 of file TBufferJSON.h.

◆ StoreObject()

TString TBufferJSON::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:

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 742 of file TBufferJSON.cxx.

◆ Streamer()

void TBufferJSON::Streamer ( TBuffer & R__b)
overridevirtual

Stream an object of class TObject.

Reimplemented from TBufferIO.

◆ StreamerNVirtual()

void TBufferJSON::StreamerNVirtual ( TBuffer & ClassDef_StreamerNVirtual_b)
inline

Definition at line 337 of file TBufferJSON.h.

◆ StreamObject() [1/4]

void TBufferText::StreamObject ( TObject * obj)
overridevirtual

Implements TBuffer.

Definition at line 33 of file TBufferText.cxx.

◆ StreamObject() [2/4]

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

stream object to/from buffer

Implements TBuffer.

Definition at line 32 of file TBufferText.cxx.

◆ StreamObject() [3/4]

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

stream object to/from buffer

Implements TBuffer.

Definition at line 31 of file TBufferText.cxx.

◆ StreamObject() [4/4]

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

stream object to/from buffer

Implements TBuffer.

Definition at line 3623 of file TBufferJSON.cxx.

◆ SysError()

void TObject::SysError ( const char * location,
const char * fmt,
... ) const
virtualinherited

Issue system error message.

Use "location" to specify the method where the system error occurred. Accepts standard printf formatting arguments.

Definition at line 1112 of file TObject.cxx.

◆ TagStreamerInfo()

void TBufferIO::TagStreamerInfo ( TVirtualStreamerInfo * info)
overridevirtualinherited

Mark the classindex of the current file as using this TStreamerInfo.

Implements TBuffer.

Reimplemented in TMessage.

Definition at line 349 of file TBufferIO.cxx.

◆ TestBit()

Bool_t TObject::TestBit ( UInt_t f) const
inlineinherited

Definition at line 204 of file TObject.h.

◆ TestBits()

Int_t TObject::TestBits ( UInt_t f) const
inlineinherited

Definition at line 205 of file TObject.h.

◆ ToJSON()

template<class T>
TString TBufferJSON::ToJSON ( const T * obj,
Int_t compact = 0,
const char * member_name = nullptr )
inlinestatic

Definition at line 77 of file TBufferJSON.h.

◆ UseCurrentStyle()

void TObject::UseCurrentStyle ( )
virtualinherited

Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked.

Reimplemented in TAxis3D, TCanvas, TFrame, TGraph, TH1, TPad, TPaveStats, TPaveText, and TTree.

Definition at line 909 of file TObject.cxx.

◆ Void_Hash()

ULong_t TBufferIO::Void_Hash ( const void * ptr)
inlinestaticprotectedinherited

Return hash value for provided object.

Definition at line 53 of file TBufferIO.h.

◆ Warning()

void TObject::Warning ( const char * location,
const char * fmt,
... ) const
virtualinherited

Issue warning message.

Use "location" to specify the method where the warning occurred. Accepts standard printf formatting arguments.

Definition at line 1084 of file TObject.cxx.

◆ WorkWithClass()

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

Prepares buffer to stream data of specified class.

Definition at line 2099 of file TBufferJSON.cxx.

◆ WorkWithElement()

void TBufferJSON::WorkWithElement ( TStreamerElement * elem,
Int_t  )
protected

This is call-back from streamer which indicates that class member will be streamed Name of element used in JSON.

Definition at line 2189 of file TBufferJSON.cxx.

◆ Write() [1/2]

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

Write this object to the current directory.

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

Writing an object to a file involves the following steps:

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

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

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

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

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

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

Reimplemented from TObject.

Definition at line 69 of file TBuffer.h.

◆ Write() [2/2]

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

Write this object to the current directory.

For more see the const version of this method.

Reimplemented from TObject.

Definition at line 67 of file TBuffer.h.

◆ WriteArray() [1/13]

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

Write array of Bool_t to buffer.

Implements TBuffer.

Definition at line 3221 of file TBufferJSON.cxx.

◆ WriteArray() [2/13]

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

Write array of Char_t to buffer.

Implements TBuffer.

Definition at line 3230 of file TBufferJSON.cxx.

◆ WriteArray() [3/13]

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

Write array of Double_t to buffer.

Implements TBuffer.

Definition at line 3329 of file TBufferJSON.cxx.

◆ WriteArray() [4/13]

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

Write array of Float_t to buffer.

Implements TBuffer.

Definition at line 3320 of file TBufferJSON.cxx.

◆ WriteArray() [5/13]

void TBufferJSON::WriteArray ( const Int_t * i,
Int_t n )
finalvirtual

Write array of Int_ to buffer.

Implements TBuffer.

Definition at line 3266 of file TBufferJSON.cxx.

◆ WriteArray() [6/13]

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

Write array of Long64_t to buffer.

Implements TBuffer.

Definition at line 3302 of file TBufferJSON.cxx.

◆ WriteArray() [7/13]

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

Write array of Long_t to buffer.

Implements TBuffer.

Definition at line 3284 of file TBufferJSON.cxx.

◆ WriteArray() [8/13]

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

Write array of Short_t to buffer.

Implements TBuffer.

Definition at line 3248 of file TBufferJSON.cxx.

◆ WriteArray() [9/13]

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

Write array of UChar_t to buffer.

Implements TBuffer.

Definition at line 3239 of file TBufferJSON.cxx.

◆ WriteArray() [10/13]

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

Write array of UInt_t to buffer.

Implements TBuffer.

Definition at line 3275 of file TBufferJSON.cxx.

◆ WriteArray() [11/13]

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

Write array of ULong64_t to buffer.

Implements TBuffer.

Definition at line 3311 of file TBufferJSON.cxx.

◆ WriteArray() [12/13]

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

Write array of ULong_t to buffer.

Implements TBuffer.

Definition at line 3293 of file TBufferJSON.cxx.

◆ WriteArray() [13/13]

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

Write array of UShort_t to buffer.

Implements TBuffer.

Definition at line 3257 of file TBufferJSON.cxx.

◆ WriteArrayDouble32()

void TBufferText::WriteArrayDouble32 ( const Double_t * d,
Int_t n,
TStreamerElement * ele = nullptr )
finalvirtualinherited

Write array of Double32_t to buffer.

Implements TBuffer.

Definition at line 655 of file TBufferText.cxx.

◆ WriteArrayFloat16()

void TBufferText::WriteArrayFloat16 ( const Float_t * f,
Int_t n,
TStreamerElement * ele = nullptr )
finalvirtualinherited

Write array of Float16_t to buffer.

Implements TBuffer.

Definition at line 647 of file TBufferText.cxx.

◆ WriteBaseClass()

void TBufferText::WriteBaseClass ( void * start,
TStreamerBase * elem )
virtualinherited

Write data of base class.

Definition at line 687 of file TBufferText.cxx.

◆ WriteBool()

void TBufferJSON::WriteBool ( Bool_t b)
finalvirtual

Writes Bool_t value to buffer.

Implements TBuffer.

Definition at line 3839 of file TBufferJSON.cxx.

◆ WriteBuf()

void TBufferText::WriteBuf ( const void * ,
Int_t  )
inlinefinalvirtualinherited

Implements TBuffer.

Definition at line 89 of file TBufferText.h.

◆ WriteChar()

void TBufferJSON::WriteChar ( Char_t c)
finalvirtual

Writes Char_t value to buffer.

Implements TBuffer.

Definition at line 3848 of file TBufferJSON.cxx.

◆ WriteCharP()

void TBufferJSON::WriteCharP ( const Char_t * c)
finalvirtual

Writes array of characters to buffer.

Implements TBuffer.

Definition at line 3956 of file TBufferJSON.cxx.

◆ WriteCharStar()

void TBufferJSON::WriteCharStar ( char * s)
finalvirtual

Writes a char*.

Implements TBuffer.

Definition at line 3989 of file TBufferJSON.cxx.

◆ WriteClass()

void TBufferJSON::WriteClass ( const TClass * cl)
finalvirtual

suppressed function of TBuffer

Implements TBuffer.

Definition at line 2545 of file TBufferJSON.cxx.

◆ WriteClassBuffer()

Int_t TBufferText::WriteClassBuffer ( const TClass * cl,
void * pointer )
overridevirtualinherited

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

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

Implements TBuffer.

Definition at line 180 of file TBufferText.cxx.

◆ WriteClones()

Int_t TBufferIO::WriteClones ( TClonesArray * a,
Int_t nobjects )
overridevirtualinherited

Interface to TStreamerInfo::WriteBufferClones.

Implements TBuffer.

Definition at line 384 of file TBufferIO.cxx.

◆ WriteDouble()

void TBufferJSON::WriteDouble ( Double_t d)
finalvirtual

Writes Double_t value to buffer.

Implements TBuffer.

Definition at line 3947 of file TBufferJSON.cxx.

◆ WriteDouble32()

void TBufferText::WriteDouble32 ( Double_t * d,
TStreamerElement * ele = nullptr )
finalvirtualinherited

write a Double32_t to the buffer

Implements TBuffer.

Definition at line 560 of file TBufferText.cxx.

◆ WriteFastArray() [1/15]

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

Write array of Bool_t to buffer.

Implements TBuffer.

Definition at line 3384 of file TBufferJSON.cxx.

◆ WriteFastArray() [2/15]

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

Write array of Char_t to buffer.

Normally written as JSON string, but if string includes \0 in the middle or some special characters, uses regular array. From array size 1000 it will be automatically converted into base64 coding

Implements TBuffer.

Definition at line 3396 of file TBufferJSON.cxx.

◆ WriteFastArray() [3/15]

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

Write array of Double_t to buffer.

Implements TBuffer.

Definition at line 3506 of file TBufferJSON.cxx.

◆ WriteFastArray() [4/15]

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

Write array of Float_t to buffer.

Implements TBuffer.

Definition at line 3498 of file TBufferJSON.cxx.

◆ WriteFastArray() [5/15]

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

Write array of Int_t to buffer.

Implements TBuffer.

Definition at line 3450 of file TBufferJSON.cxx.

◆ WriteFastArray() [6/15]

void TBufferJSON::WriteFastArray ( const Long64_t * l,
Long64_t n )
finalvirtual

Write array of Long64_t to buffer.

Implements TBuffer.

Definition at line 3482 of file TBufferJSON.cxx.

◆ WriteFastArray() [7/15]

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

Write array of Long_t to buffer.

Implements TBuffer.

Definition at line 3466 of file TBufferJSON.cxx.

◆ WriteFastArray() [8/15]

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

Write array of Short_t to buffer.

Implements TBuffer.

Definition at line 3434 of file TBufferJSON.cxx.

◆ WriteFastArray() [9/15]

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

Write array of UChar_t to buffer.

Implements TBuffer.

Definition at line 3426 of file TBufferJSON.cxx.

◆ WriteFastArray() [10/15]

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

Write array of UInt_t to buffer.

Implements TBuffer.

Definition at line 3458 of file TBufferJSON.cxx.

◆ WriteFastArray() [11/15]

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

Write array of ULong64_t to buffer.

Implements TBuffer.

Definition at line 3490 of file TBufferJSON.cxx.

◆ WriteFastArray() [12/15]

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

Write array of ULong_t to buffer.

Implements TBuffer.

Definition at line 3474 of file TBufferJSON.cxx.

◆ WriteFastArray() [13/15]

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

Write array of UShort_t to buffer.

Implements TBuffer.

Definition at line 3442 of file TBufferJSON.cxx.

◆ WriteFastArray() [14/15]

Int_t TBufferJSON::WriteFastArray ( void ** startp,
const TClass * cl,
Long64_t n = 1,
Bool_t isPreAlloc = kFALSE,
TMemberStreamer * s = nullptr )
finalvirtual

Recall TBuffer function to avoid gcc warning message.

Implements TBuffer.

Definition at line 3567 of file TBufferJSON.cxx.

◆ WriteFastArray() [15/15]

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

Recall TBuffer function to avoid gcc warning message.

Implements TBuffer.

Definition at line 3514 of file TBufferJSON.cxx.

◆ WriteFastArrayDouble32()

void TBufferText::WriteFastArrayDouble32 ( const Double_t * d,
Long64_t n,
TStreamerElement * ele = nullptr )
finalvirtualinherited

Write array of Double32_t to buffer.

Implements TBuffer.

Definition at line 671 of file TBufferText.cxx.

◆ WriteFastArrayFloat16()

void TBufferText::WriteFastArrayFloat16 ( const Float_t * d,
Long64_t n,
TStreamerElement * ele = nullptr )
finalvirtualinherited

Write array of Float16_t to buffer.

Implements TBuffer.

Definition at line 663 of file TBufferText.cxx.

◆ WriteFastArrayString()

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

Write array of Char_t to buffer.

Implements TBuffer.

Definition at line 3418 of file TBufferJSON.cxx.

◆ WriteFloat()

void TBufferJSON::WriteFloat ( Float_t f)
finalvirtual

Writes Float_t value to buffer.

Implements TBuffer.

Definition at line 3938 of file TBufferJSON.cxx.

◆ WriteFloat16()

void TBufferText::WriteFloat16 ( Float_t * f,
TStreamerElement * ele = nullptr )
finalvirtualinherited

write a Float16_t to the buffer

Implements TBuffer.

Definition at line 552 of file TBufferText.cxx.

◆ WriteInt()

void TBufferJSON::WriteInt ( Int_t i)
finalvirtual

Writes Int_t value to buffer.

Implements TBuffer.

Definition at line 3884 of file TBufferJSON.cxx.

◆ WriteLong()

void TBufferJSON::WriteLong ( Long_t l)
finalvirtual

Writes Long_t value to buffer.

Implements TBuffer.

Definition at line 3902 of file TBufferJSON.cxx.

◆ WriteLong64()

void TBufferJSON::WriteLong64 ( Long64_t l)
finalvirtual

Writes Long64_t value to buffer.

Implements TBuffer.

Definition at line 3920 of file TBufferJSON.cxx.

◆ WriteObject() [1/2]

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

Definition at line 159 of file TBuffer.h.

◆ WriteObject() [2/2]

void TBufferIO::WriteObject ( const TObject * obj,
Bool_t cacheReuse = kTRUE )
overridevirtualinherited

Write object to I/O buffer.

Implements TBuffer.

Definition at line 529 of file TBufferIO.cxx.

◆ WriteObjectAny()

Int_t TBufferIO::WriteObjectAny ( const void * obj,
const TClass * ptrClass,
Bool_t cacheReuse = kTRUE )
overridevirtualinherited

Write object to I/O buffer.

This function assumes that the value in 'obj' is the value stored in a pointer to a "ptrClass". The actual type of the object pointed to can be any class derived from "ptrClass". Return:

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

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

Implements TBuffer.

Definition at line 491 of file TBufferIO.cxx.

◆ WriteObjectClass()

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

Write object to buffer. Only used from TBuffer.

Implements TBufferIO.

Definition at line 2597 of file TBufferJSON.cxx.

◆ WriteProcessID()

UShort_t TBufferIO::WriteProcessID ( TProcessID * pid)
overridevirtualinherited

Check if the ProcessID pid is already in the file.

If not, add it and return the index number in the local file list.

Implements TBuffer.

Reimplemented in TMessage.

Definition at line 455 of file TBufferIO.cxx.

◆ WriteShort()

void TBufferJSON::WriteShort ( Short_t s)
finalvirtual

Writes Short_t value to buffer.

Implements TBuffer.

Definition at line 3866 of file TBufferJSON.cxx.

◆ WriteStdString() [1/2]

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

Writes a std::string.

Implements TBuffer.

Definition at line 3976 of file TBufferJSON.cxx.

◆ WriteStdString() [2/2]

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

Reimplemented from TBuffer.

Definition at line 312 of file TBuffer.h.

◆ WriteString()

void TBufferText::WriteString ( const char * )
inlinefinalvirtualinherited

Implements TBuffer.

Definition at line 96 of file TBufferText.h.

◆ WriteTString()

void TBufferJSON::WriteTString ( const TString & s)
finalvirtual

Writes a TString.

Implements TBuffer.

Definition at line 3966 of file TBufferJSON.cxx.

◆ WriteUChar()

void TBufferJSON::WriteUChar ( UChar_t c)
finalvirtual

Writes UChar_t value to buffer.

Implements TBuffer.

Definition at line 3857 of file TBufferJSON.cxx.

◆ WriteUInt()

void TBufferJSON::WriteUInt ( UInt_t i)
finalvirtual

Writes UInt_t value to buffer.

Implements TBuffer.

Definition at line 3893 of file TBufferJSON.cxx.

◆ WriteULong()

void TBufferJSON::WriteULong ( ULong_t l)
finalvirtual

Writes ULong_t value to buffer.

Implements TBuffer.

Definition at line 3911 of file TBufferJSON.cxx.

◆ WriteULong64()

void TBufferJSON::WriteULong64 ( ULong64_t l)
finalvirtual

Writes ULong64_t value to buffer.

Implements TBuffer.

Definition at line 3929 of file TBufferJSON.cxx.

◆ WriteUShort()

void TBufferJSON::WriteUShort ( UShort_t s)
finalvirtual

Writes UShort_t value to buffer.

Implements TBuffer.

Definition at line 3875 of file TBufferJSON.cxx.

◆ WriteVersion()

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

Ignored in TBufferJSON.

Implements TBuffer.

Definition at line 2573 of file TBufferJSON.cxx.

◆ WriteVersionMemberWise()

UInt_t TBufferText::WriteVersionMemberWise ( const TClass * ,
Bool_t = kFALSE )
inlinefinalvirtualinherited

Implements TBuffer.

Definition at line 103 of file TBufferText.h.

◆ zipJSON()

TString TBufferJSON::zipJSON ( const char * json)
static

zip JSON string and convert into base64 string to be used with JSROOT unzipJSON() function Main application - embed large JSON code into jupyter notebooks

Definition at line 554 of file TBufferJSON.cxx.

Member Data Documentation

◆ fArrayCompact

Int_t TBufferJSON::fArrayCompact {0}
protected

! 0 - no array compression, 1 - exclude leading/trailing zeros, 2 - check value repetition

Definition at line 329 of file TBufferJSON.h.

◆ fArraySepar

TString TBufferJSON::fArraySepar
protected

! depending from compression level, ", " or ","

Definition at line 330 of file TBufferJSON.h.

◆ fBits

UInt_t TObject::fBits
privateinherited

bit field status word

Definition at line 47 of file TObject.h.

◆ fBufCur

char* TBuffer::fBufCur
protectedinherited

Definition at line 52 of file TBuffer.h.

◆ fBuffer

char* TBuffer::fBuffer
protectedinherited

Definition at line 51 of file TBuffer.h.

◆ fBufMax

char* TBuffer::fBufMax
protectedinherited

Definition at line 53 of file TBuffer.h.

◆ fBufSize

Int_t TBuffer::fBufSize
protectedinherited

Definition at line 50 of file TBuffer.h.

◆ fCacheStack

CacheList_t TBuffer::fCacheStack
protectedinherited

Definition at line 56 of file TBuffer.h.

◆ fClassMap

TExMap* TBufferIO::fClassMap {nullptr}
protectedinherited

Map containing object,class pairs for reading.

Definition at line 40 of file TBufferIO.h.

◆ fCompact

Int_t TBufferJSON::fCompact {0}
protected

! 0 - no any compression, 1 - no spaces in the begin, 2 - no new lines, 3 - no spaces at all

Definition at line 326 of file TBufferJSON.h.

◆ fDisplacement

Int_t TBufferIO::fDisplacement {0}
protectedinherited

Value to be added to the map offsets.

Definition at line 37 of file TBufferIO.h.

◆ fgDoubleFmt

const char * TBufferText::fgDoubleFmt = "%.14e"
staticprotectedinherited

! printf argument for doubles, either "%f" or "%e" or "%10f" and so on

Definition at line 137 of file TBufferText.h.

◆ fgDtorOnly

Longptr_t TObject::fgDtorOnly = 0
staticprivateinherited

object for which to call dtor only (i.e. no delete)

Definition at line 49 of file TObject.h.

◆ fgFloatFmt

const char * TBufferText::fgFloatFmt = "%e"
staticprotectedinherited

! printf argument for floats, either "%f" or "%e" or "%10f" and so on

Definition at line 136 of file TBufferText.h.

◆ fgMapSize

Int_t TBufferIO::fgMapSize = kMapSize
staticprotectedinherited

Default map size for all TBuffer objects.

Definition at line 42 of file TBufferIO.h.

◆ fgObjectStat

Bool_t TObject::fgObjectStat = kTRUE
staticprivateinherited

if true keep track of objects in TObjectTable

Definition at line 50 of file TObject.h.

◆ fJsonrCnt

unsigned TBufferJSON::fJsonrCnt {0}
protected

! counter for all objects, used for referencing

Definition at line 324 of file TBufferJSON.h.

◆ fMap

TExMap* TBufferIO::fMap {nullptr}
protectedinherited

Map containing object,offset pairs for reading/writing.

Definition at line 39 of file TBufferIO.h.

◆ fMapAsObject

Bool_t TBufferJSON::fMapAsObject {kFALSE}
protected

! when true, std::map will be converted into JSON object

Definition at line 327 of file TBufferJSON.h.

◆ fMapCount

Int_t TBufferIO::fMapCount {0}
protectedinherited

Number of objects or classes in map.

Definition at line 35 of file TBufferIO.h.

◆ fMapSize

Int_t TBufferIO::fMapSize {0}
protectedinherited

Default size of map.

Definition at line 36 of file TBufferIO.h.

◆ fMode

Bool_t TBuffer::fMode
protectedinherited

Definition at line 48 of file TBuffer.h.

◆ fNumericLocale

TString TBufferJSON::fNumericLocale
protected

! stored value of setlocale(LC_NUMERIC), which should be recovered at the end

Definition at line 331 of file TBufferJSON.h.

◆ fOutBuffer

TString TBufferJSON::fOutBuffer
protected

! main output buffer for json code

Definition at line 321 of file TBufferJSON.h.

◆ fOutput

TString* TBufferJSON::fOutput {nullptr}
protected

! current output buffer for json code

Definition at line 322 of file TBufferJSON.h.

◆ fParent

TObject* TBuffer::fParent
protectedinherited

Definition at line 54 of file TBuffer.h.

◆ fPidOffset

UShort_t TBufferIO::fPidOffset {0}
protectedinherited

Offset to be added to the pid index in this key/buffer.

Definition at line 38 of file TBufferIO.h.

◆ fReAllocFunc

ReAllocCharFun_t TBuffer::fReAllocFunc
protectedinherited

! Realloc function to be used when extending the buffer.

Definition at line 55 of file TBuffer.h.

◆ fSemicolon

TString TBufferJSON::fSemicolon
protected

! depending from compression level, " : " or ":"

Definition at line 328 of file TBufferJSON.h.

◆ fSkipClasses

std::vector<const TClass *> TBufferJSON::fSkipClasses
protected

! list of classes, which class info is not stored

Definition at line 335 of file TBufferJSON.h.

◆ fStack

std::deque<std::unique_ptr<TJSONStackObj> > TBufferJSON::fStack
protected

! hierarchy of currently streamed element

Definition at line 325 of file TBufferJSON.h.

◆ fStoreInfNaN

Bool_t TBufferJSON::fStoreInfNaN {kFALSE}
protected

! when true, store inf and nan as string, this is not portable for other JSON readers

Definition at line 332 of file TBufferJSON.h.

◆ fTypeNameTag

TString TBufferJSON::fTypeNameTag
protected

! JSON member used for storing class name, when empty - no class name will be stored

Definition at line 333 of file TBufferJSON.h.

◆ fTypeVersionTag

TString TBufferJSON::fTypeVersionTag
protected

! JSON member used to store class version, default empty

Definition at line 334 of file TBufferJSON.h.

◆ fUniqueID

UInt_t TObject::fUniqueID
privateinherited

object unique identifier

Definition at line 46 of file TObject.h.

◆ fValue

TString TBufferJSON::fValue
protected

! buffer for current value

Definition at line 323 of file TBufferJSON.h.

◆ fVersion

Int_t TBuffer::fVersion
protectedinherited

Definition at line 49 of file TBuffer.h.


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