Logo ROOT   6.16/01
Reference Guide
TBufferSQL2.h
Go to the documentation of this file.
1// @(#)root/sql
2// Author: Sergey Linev 20/11/2005
3
4#ifndef ROOT_TBufferSQL2
5#define ROOT_TBufferSQL2
6
7#include "TBufferText.h"
8
9#include "TString.h"
10
11#include "TObjArray.h"
12
13class TMap;
14class TExMap;
17class TObjArray;
18class TMemberStreamer;
19class TSQLStackObj;
20
21class TSQLServer;
22class TSQLResult;
23class TSQLRow;
24class TSQLFile;
25class TSQLStructure;
26class TSQLObjectData;
27class TSQLClassInfo;
28
29class TBufferSQL2 : public TBufferText {
30
31 friend class TSQLStructure;
32
33protected:
34 TSQLFile *fSQL; ///<! instance of TSQLFile
35 Int_t fIOVersion; ///<! I/O version from TSQLFile
36 TSQLStructure *fStructure; ///<! structures, created by object storing
37 TSQLStructure *fStk; ///<! pointer on current active structure (stack head)
38 TString fReadBuffer; ///<! Buffer for read value
39 Int_t fErrorFlag; ///<! Error id value
40 Int_t fCompressLevel; ///<! compress level used to minimize size of data in database
41 Int_t fReadVersionBuffer; ///<! buffer, used to by ReadVersion method
42 Long64_t fObjIdCounter; ///<! counter of objects id
43 Bool_t fIgnoreVerification; ///<! ignore verification of names
45 TObjArray *fObjectsInfos; ///<! array of objects info for selected key
46 Long64_t fFirstObjId; ///<! id of first object to be read from the database
47 Long64_t fLastObjId; ///<! id of last object correspond to this key
48 TMap *fPoolsMap; ///<! map of pools with data from different tables
49
50 // TBufferSQL2 objects cannot be copied or assigned
51 TBufferSQL2(const TBufferSQL2 &); // not implemented
52 void operator=(const TBufferSQL2 &); // not implemented
53
55
56 // redefined protected virtual functions
57
58 virtual void WriteObjectClass(const void *actualObjStart, const TClass *actualClass, Bool_t cacheReuse);
59
60 // end redefined protected virtual functions
61
64 TSQLStructure *Stack(Int_t depth = 0);
65
66 void WorkWithClass(const char *classname, Version_t classversion);
67 void WorkWithElement(TStreamerElement *elem, Int_t comp_type);
68
70 Bool_t SqlObjectInfo(Long64_t objid, TString &clname, Version_t &version);
72
86 Bool_t SqlWriteValue(const char *value, const char *tname);
87
88 void SqlReadBasic(Char_t &value);
89 void SqlReadBasic(Short_t &value);
90 void SqlReadBasic(Int_t &value);
91 void SqlReadBasic(Long_t &value);
92 void SqlReadBasic(Long64_t &value);
93 void SqlReadBasic(Float_t &value);
94 void SqlReadBasic(Double_t &value);
95 void SqlReadBasic(Bool_t &value);
96 void SqlReadBasic(UChar_t &value);
97 void SqlReadBasic(UShort_t &value);
98 void SqlReadBasic(UInt_t &value);
99 void SqlReadBasic(ULong_t &value);
100 void SqlReadBasic(ULong64_t &value);
101 const char *SqlReadValue(const char *tname);
102 const char *SqlReadCharStarValue();
103
104 Int_t SqlWriteObject(const void *obj, const TClass *objClass, Bool_t cacheReuse, TMemberStreamer *streamer = 0,
105 Int_t streamer_index = 0);
106 void *SqlReadObject(void *obj, TClass **cl = 0, TMemberStreamer *streamer = 0, Int_t streamer_index = 0,
107 const TClass *onFileClass = 0);
108 void *SqlReadObjectDirect(void *obj, TClass **cl, Long64_t objid, TMemberStreamer *streamer = 0,
109 Int_t streamer_index = 0, const TClass *onFileClass = 0);
110
111 void StreamObjectExtra(void *obj, TMemberStreamer *streamer, const TClass *cl, Int_t n = 0,
112 const TClass *onFileClass = nullptr);
113
114 template <typename T>
115 R__ALWAYS_INLINE void SqlReadArrayContent(T *arr, Int_t arrsize, Bool_t withsize);
116
117 template <typename T>
118 R__ALWAYS_INLINE Int_t SqlReadArray(T *&arr, Bool_t is_static = kFALSE);
119
120 template <typename T>
121 R__ALWAYS_INLINE void SqlReadFastArray(T *arr, Int_t arrsize);
122
123 template <typename T>
124 R__ALWAYS_INLINE void SqlWriteArray(T *arr, Int_t arrsize, Bool_t withsize = kFALSE);
125
126public:
127 TBufferSQL2(TBuffer::EMode mode, TSQLFile *file = nullptr);
128 virtual ~TBufferSQL2();
129
130 void SetCompressionLevel(int level) { fCompressLevel = level; }
131
133
134 Int_t GetErrorFlag() const { return fErrorFlag; }
135
137
138 TSQLStructure *SqlWriteAny(const void *obj, const TClass *cl, Long64_t objid);
139
140 void *SqlReadAny(Long64_t keyid, Long64_t objid, TClass **cl, void *obj = nullptr);
141
142 // suppress class writing/reading
143
144 virtual TClass *ReadClass(const TClass *cl = 0, UInt_t *objTag = 0);
145 virtual void WriteClass(const TClass *cl);
146
147 // redefined virtual functions of TBuffer
148
149 virtual Version_t ReadVersion(UInt_t *start = 0, UInt_t *bcnt = 0, const TClass *cl = 0);
150 virtual UInt_t WriteVersion(const TClass *cl, Bool_t useBcnt = kFALSE);
151
152 virtual void *ReadObjectAny(const TClass *clCast);
153 virtual void SkipObjectAny();
154
155 virtual void IncrementLevel(TVirtualStreamerInfo *);
156 virtual void SetStreamerElementNumber(TStreamerElement *elem, Int_t comp_type);
157 virtual void DecrementLevel(TVirtualStreamerInfo *);
158
159 virtual void ClassBegin(const TClass *, Version_t = -1);
160 virtual void ClassEnd(const TClass *);
161 virtual void ClassMember(const char *name, const char *typeName = 0, Int_t arrsize1 = -1, Int_t arrsize2 = -1);
162
163 virtual Int_t ReadArray(Bool_t *&b);
164 virtual Int_t ReadArray(Char_t *&c);
165 virtual Int_t ReadArray(UChar_t *&c);
166 virtual Int_t ReadArray(Short_t *&h);
167 virtual Int_t ReadArray(UShort_t *&h);
168 virtual Int_t ReadArray(Int_t *&i);
169 virtual Int_t ReadArray(UInt_t *&i);
170 virtual Int_t ReadArray(Long_t *&l);
171 virtual Int_t ReadArray(ULong_t *&l);
172 virtual Int_t ReadArray(Long64_t *&l);
173 virtual Int_t ReadArray(ULong64_t *&l);
174 virtual Int_t ReadArray(Float_t *&f);
175 virtual Int_t ReadArray(Double_t *&d);
176
177 virtual Int_t ReadStaticArray(Bool_t *b);
178 virtual Int_t ReadStaticArray(Char_t *c);
179 virtual Int_t ReadStaticArray(UChar_t *c);
180 virtual Int_t ReadStaticArray(Short_t *h);
182 virtual Int_t ReadStaticArray(Int_t *i);
183 virtual Int_t ReadStaticArray(UInt_t *i);
184 virtual Int_t ReadStaticArray(Long_t *l);
185 virtual Int_t ReadStaticArray(ULong_t *l);
188 virtual Int_t ReadStaticArray(Float_t *f);
190
191 virtual void ReadFastArray(Bool_t *b, Int_t n);
192 virtual void ReadFastArray(Char_t *c, Int_t n);
193 virtual void ReadFastArray(UChar_t *c, Int_t n);
194 virtual void ReadFastArray(Short_t *h, Int_t n);
195 virtual void ReadFastArray(UShort_t *h, Int_t n);
196 virtual void ReadFastArray(Int_t *i, Int_t n);
197 virtual void ReadFastArray(UInt_t *i, Int_t n);
198 virtual void ReadFastArray(Long_t *l, Int_t n);
199 virtual void ReadFastArray(ULong_t *l, Int_t n);
200 virtual void ReadFastArray(Long64_t *l, Int_t n);
201 virtual void ReadFastArray(ULong64_t *l, Int_t n);
202 virtual void ReadFastArray(Float_t *f, Int_t n);
203 virtual void ReadFastArray(Double_t *d, Int_t n);
204 virtual void ReadFastArrayString(Char_t *c, Int_t n);
205 virtual void
206 ReadFastArray(void *start, const TClass *cl, Int_t n = 1, TMemberStreamer *s = 0, const TClass *onFileClass = 0);
207 virtual void ReadFastArray(void **startp, const TClass *cl, Int_t n = 1, Bool_t isPreAlloc = kFALSE,
208 TMemberStreamer *s = 0, const TClass *onFileClass = 0);
209
210 virtual void WriteArray(const Bool_t *b, Int_t n);
211 virtual void WriteArray(const Char_t *c, Int_t n);
212 virtual void WriteArray(const UChar_t *c, Int_t n);
213 virtual void WriteArray(const Short_t *h, Int_t n);
214 virtual void WriteArray(const UShort_t *h, Int_t n);
215 virtual void WriteArray(const Int_t *i, Int_t n);
216 virtual void WriteArray(const UInt_t *i, Int_t n);
217 virtual void WriteArray(const Long_t *l, Int_t n);
218 virtual void WriteArray(const ULong_t *l, Int_t n);
219 virtual void WriteArray(const Long64_t *l, Int_t n);
220 virtual void WriteArray(const ULong64_t *l, Int_t n);
221 virtual void WriteArray(const Float_t *f, Int_t n);
222 virtual void WriteArray(const Double_t *d, Int_t n);
223
224 virtual void WriteFastArray(const Bool_t *b, Int_t n);
225 virtual void WriteFastArray(const Char_t *c, Int_t n);
226 virtual void WriteFastArray(const UChar_t *c, Int_t n);
227 virtual void WriteFastArray(const Short_t *h, Int_t n);
228 virtual void WriteFastArray(const UShort_t *h, Int_t n);
229 virtual void WriteFastArray(const Int_t *i, Int_t n);
230 virtual void WriteFastArray(const UInt_t *i, Int_t n);
231 virtual void WriteFastArray(const Long_t *l, Int_t n);
232 virtual void WriteFastArray(const ULong_t *l, Int_t n);
233 virtual void WriteFastArray(const Long64_t *l, Int_t n);
234 virtual void WriteFastArray(const ULong64_t *l, Int_t n);
235 virtual void WriteFastArray(const Float_t *f, Int_t n);
236 virtual void WriteFastArray(const Double_t *d, Int_t n);
237 virtual void WriteFastArrayString(const Char_t *c, Int_t n);
238 virtual void WriteFastArray(void *start, const TClass *cl, Int_t n = 1, TMemberStreamer *s = 0);
239 virtual Int_t
240 WriteFastArray(void **startp, const TClass *cl, Int_t n = 1, Bool_t isPreAlloc = kFALSE, TMemberStreamer *s = 0);
241
242 virtual void StreamObject(void *obj, const TClass *cl, const TClass *onFileClass = nullptr);
244
245 virtual void ReadBool(Bool_t &b);
246 virtual void ReadChar(Char_t &c);
247 virtual void ReadUChar(UChar_t &c);
248 virtual void ReadShort(Short_t &s);
249 virtual void ReadUShort(UShort_t &s);
250 virtual void ReadInt(Int_t &i);
251 virtual void ReadUInt(UInt_t &i);
252 virtual void ReadLong(Long_t &l);
253 virtual void ReadULong(ULong_t &l);
254 virtual void ReadLong64(Long64_t &l);
255 virtual void ReadULong64(ULong64_t &l);
256 virtual void ReadFloat(Float_t &f);
257 virtual void ReadDouble(Double_t &d);
258 virtual void ReadCharP(Char_t *c);
259 virtual void ReadTString(TString &s);
260 virtual void ReadStdString(std::string *s);
262 virtual void ReadCharStar(char *&s);
263
264 virtual void WriteBool(Bool_t b);
265 virtual void WriteChar(Char_t c);
266 virtual void WriteUChar(UChar_t c);
267 virtual void WriteShort(Short_t s);
268 virtual void WriteUShort(UShort_t s);
269 virtual void WriteInt(Int_t i);
270 virtual void WriteUInt(UInt_t i);
271 virtual void WriteLong(Long_t l);
272 virtual void WriteULong(ULong_t l);
273 virtual void WriteLong64(Long64_t l);
274 virtual void WriteULong64(ULong64_t l);
275 virtual void WriteFloat(Float_t f);
276 virtual void WriteDouble(Double_t d);
277 virtual void WriteCharP(const Char_t *c);
278 virtual void WriteTString(const TString &s);
279 virtual void WriteStdString(const std::string *s);
281 virtual void WriteCharStar(char *s);
282
283 virtual TVirtualStreamerInfo *GetInfo();
284
285 // end of redefined virtual functions
286
287 ClassDef(TBufferSQL2, 0); // a specialized TBuffer to convert data to SQL statements or read data from SQL tables
288};
289
290#endif
#define R__ALWAYS_INLINE
Definition: RConfig.hxx:556
#define d(i)
Definition: RSha256.hxx:102
#define b(i)
Definition: RSha256.hxx:100
#define f(i)
Definition: RSha256.hxx:104
#define c(i)
Definition: RSha256.hxx:101
#define h(i)
Definition: RSha256.hxx:106
unsigned short UShort_t
Definition: RtypesCore.h:36
int Int_t
Definition: RtypesCore.h:41
short Version_t
Definition: RtypesCore.h:61
unsigned char UChar_t
Definition: RtypesCore.h:34
char Char_t
Definition: RtypesCore.h:29
unsigned int UInt_t
Definition: RtypesCore.h:42
const Bool_t kFALSE
Definition: RtypesCore.h:88
unsigned long ULong_t
Definition: RtypesCore.h:51
long Long_t
Definition: RtypesCore.h:50
bool Bool_t
Definition: RtypesCore.h:59
short Short_t
Definition: RtypesCore.h:35
double Double_t
Definition: RtypesCore.h:55
long long Long64_t
Definition: RtypesCore.h:69
unsigned long long ULong64_t
Definition: RtypesCore.h:70
float Float_t
Definition: RtypesCore.h:53
const Bool_t kTRUE
Definition: RtypesCore.h:87
#define ClassDef(name, id)
Definition: Rtypes.h:324
Converts data to SQL statements or read data from SQL tables.
Definition: TBufferSQL2.h:29
Long64_t fObjIdCounter
! counter of objects id
Definition: TBufferSQL2.h:42
virtual void WriteClass(const TClass *cl)
Suppressed function of TBuffer.
virtual UInt_t WriteVersion(const TClass *cl, Bool_t useBcnt=kFALSE)
Copies class version to buffer, but not writes it to sql immidiately Version will be used to produce ...
TSQLStructure * PopStack()
Pop stack.
Bool_t SqlObjectInfo(Long64_t objid, TString &clname, Version_t &version)
Returns object info like classname and version Should be taken from buffer, which is produced in the ...
virtual void ReadULong64(ULong64_t &l)
Reads ULong64_t value from buffer.
virtual void ReadChar(Char_t &c)
Reads Char_t value from buffer.
virtual void WriteLong(Long_t l)
Writes Long_t value to buffer.
void StreamObjectExtra(void *obj, TMemberStreamer *streamer, const TClass *cl, Int_t n=0, const TClass *onFileClass=nullptr)
Stream object to/from buffer.
R__ALWAYS_INLINE void SqlWriteArray(T *arr, Int_t arrsize, Bool_t withsize=kFALSE)
Long64_t fFirstObjId
! id of first object to be read from the database
Definition: TBufferSQL2.h:46
Bool_t SqlWriteBasic(Char_t value)
converts Char_t to string and creates correspondent sql structure
TSQLObjectData * fCurrentData
!
Definition: TBufferSQL2.h:44
Int_t fErrorFlag
! Error id value
Definition: TBufferSQL2.h:39
virtual ~TBufferSQL2()
Destroy sql buffer.
Definition: TBufferSQL2.cxx:85
virtual void ReadUInt(UInt_t &i)
Reads UInt_t value from buffer.
Long64_t fLastObjId
! id of last object correspond to this key
Definition: TBufferSQL2.h:47
TSQLStructure * PushStack()
Push stack with structural information about streamed object.
virtual void WriteDouble(Double_t d)
Writes Double_t value to buffer.
Int_t SqlWriteObject(const void *obj, const TClass *objClass, Bool_t cacheReuse, TMemberStreamer *streamer=0, Int_t streamer_index=0)
Write object to buffer.
Int_t fIOVersion
! I/O version from TSQLFile
Definition: TBufferSQL2.h:35
TSQLFile * fSQL
! instance of TSQLFile
Definition: TBufferSQL2.h:34
void SetIgnoreVerification()
Definition: TBufferSQL2.h:136
virtual void WriteTString(const TString &s)
Write a TString.
void operator=(const TBufferSQL2 &)
Int_t fReadVersionBuffer
! buffer, used to by ReadVersion method
Definition: TBufferSQL2.h:41
virtual void ClassBegin(const TClass *, Version_t=-1)
This method inform buffer data of which class now will be streamed.
virtual void ReadCharStar(char *&s)
Read a char* string.
virtual void WriteArray(const Bool_t *b, Int_t n)
Write array of Bool_t to buffer.
virtual void ReadBool(Bool_t &b)
Reads Bool_t value from buffer.
Bool_t fIgnoreVerification
! ignore verification of names
Definition: TBufferSQL2.h:43
virtual void WriteUShort(UShort_t s)
Writes UShort_t value to buffer.
virtual void WriteFastArray(const Bool_t *b, Int_t n)
Write array of Bool_t to buffer.
virtual void IncrementLevel(TVirtualStreamerInfo *)
Function is called from TStreamerInfo WriteBuffer and Readbuffer functions and indent new level in da...
virtual void ClassMember(const char *name, const char *typeName=0, Int_t arrsize1=-1, Int_t arrsize2=-1)
Method indicates name and typename of class memeber, which should be now streamed in custom streamer ...
void * SqlReadObject(void *obj, TClass **cl=0, TMemberStreamer *streamer=0, Int_t streamer_index=0, const TClass *onFileClass=0)
Read object from the buffer.
virtual void WriteInt(Int_t i)
Writes Int_t value to buffer.
virtual TClass * ReadClass(const TClass *cl=0, UInt_t *objTag=0)
Suppressed function of TBuffer.
virtual Int_t ReadStaticArray(Bool_t *b)
Read array of Bool_t from buffer.
TSQLStructure * GetStructure() const
Definition: TBufferSQL2.h:132
virtual void WriteStdString(const std::string *s)
Write a std::string.
virtual TVirtualStreamerInfo * GetInfo()
Return current streamer info element.
R__ALWAYS_INLINE Int_t SqlReadArray(T *&arr, Bool_t is_static=kFALSE)
virtual void * ReadObjectAny(const TClass *clCast)
Read object from buffer. Only used from TBuffer.
TBufferSQL2()
Default constructor, should not be used.
Definition: TBufferSQL2.cxx:58
R__ALWAYS_INLINE void SqlReadFastArray(T *arr, Int_t arrsize)
Template method to read content of array, which not include size of array.
virtual void ReadULong(ULong_t &l)
Reads ULong_t value from buffer.
TSQLStructure * fStructure
! structures, created by object storing
Definition: TBufferSQL2.h:36
virtual void ReadLong64(Long64_t &l)
Reads Long64_t value from buffer.
virtual void WriteCharP(const Char_t *c)
Writes array of characters to buffer.
virtual void ReadFloat(Float_t &f)
Reads Float_t value from buffer.
TBufferSQL2(const TBufferSQL2 &)
virtual void ReadTString(TString &s)
Read a TString.
virtual void WriteChar(Char_t c)
Writes Char_t value to buffer.
virtual void ReadCharP(Char_t *c)
Reads array of characters from buffer.
TMap * fPoolsMap
! map of pools with data from different tables
Definition: TBufferSQL2.h:48
TSQLStructure * Stack(Int_t depth=0)
returns head of stack
virtual void SetStreamerElementNumber(TStreamerElement *elem, Int_t comp_type)
Function is called from TStreamerInfo WriteBuffer and Readbuffer functions and add/verify next elemen...
virtual void WriteUInt(UInt_t i)
Writes UInt_t value to buffer.
void SetCompressionLevel(int level)
Definition: TBufferSQL2.h:130
const char * SqlReadValue(const char *tname)
Read string value from current stack node.
TString fReadBuffer
! Buffer for read value
Definition: TBufferSQL2.h:38
virtual void ReadUShort(UShort_t &s)
Reads UShort_t value from buffer.
TSQLStructure * fStk
! pointer on current active structure (stack head)
Definition: TBufferSQL2.h:37
virtual void WriteLong64(Long64_t l)
Writes Long64_t value to buffer.
const char * SqlReadCharStarValue()
Read CharStar value, if it has special code, request it from large table.
Int_t GetErrorFlag() const
Definition: TBufferSQL2.h:134
virtual void WriteULong64(ULong64_t l)
Writes ULong64_t value to buffer.
Int_t SqlReadArraySize()
Reads array size, written in raw data table.
void WorkWithClass(const char *classname, Version_t classversion)
This function is a part of IncrementLevel method.
virtual void WriteCharStar(char *s)
Write a char* string.
virtual Int_t ReadArray(Bool_t *&b)
Read array of Bool_t from buffer.
virtual void ClassEnd(const TClass *)
Method indicates end of streaming of classdata in custom streamer.
virtual void ReadUChar(UChar_t &c)
Reads UChar_t value from buffer.
virtual void ReadDouble(Double_t &d)
Reads Double_t value from buffer.
Bool_t SqlWriteValue(const char *value, const char *tname)
virtual void DecrementLevel(TVirtualStreamerInfo *)
Function is called from TStreamerInfo WriteBuffer and Readbuffer functions and decrease level in sql ...
virtual void WriteFastArrayString(const Char_t *c, Int_t n)
Write array of n characters into the I/O buffer.
virtual void WriteObjectClass(const void *actualObjStart, const TClass *actualClass, Bool_t cacheReuse)
Write object to buffer. Only used from TBuffer.
void WorkWithElement(TStreamerElement *elem, Int_t comp_type)
This function is a part of SetStreamerElementNumber method.
TSQLObjectData * SqlObjectData(Long64_t objid, TSQLClassInfo *sqlinfo)
Creates TSQLObjectData for specified object id and specified class.
virtual void WriteBool(Bool_t b)
Writes Bool_t value to buffer.
virtual Version_t ReadVersion(UInt_t *start=0, UInt_t *bcnt=0, const TClass *cl=0)
Read version value from buffer actually version is normally defined by table name and kept in interme...
virtual void ReadInt(Int_t &i)
Reads Int_t value from buffer.
virtual void StreamObject(void *obj, const TClass *cl, const TClass *onFileClass=nullptr)
Stream object to/from buffer.
TSQLStructure * SqlWriteAny(const void *obj, const TClass *cl, Long64_t objid)
Convert object of any class to sql structures Return pointer on created TSQLStructure TSQLStructure o...
virtual void SkipObjectAny()
?????? Skip any kind of object from buffer !!!!!! fix me, not yet implemented Should be just skip of ...
virtual void WriteUChar(UChar_t c)
Writes UChar_t value to buffer.
void * SqlReadAny(Long64_t keyid, Long64_t objid, TClass **cl, void *obj=nullptr)
Recreate object from sql structure.
virtual void WriteShort(Short_t s)
Writes Short_t value to buffer.
virtual void ReadFastArrayString(Char_t *c, Int_t n)
Read array of n characters from the I/O buffer.
virtual void ReadStdString(std::string *s)
Read a std::string.
void * SqlReadObjectDirect(void *obj, TClass **cl, Long64_t objid, TMemberStreamer *streamer=0, Int_t streamer_index=0, const TClass *onFileClass=0)
Read object data.
virtual void WriteULong(ULong_t l)
Writes ULong_t value to buffer.
TObjArray * fObjectsInfos
! array of objects info for selected key
Definition: TBufferSQL2.h:45
R__ALWAYS_INLINE void SqlReadArrayContent(T *arr, Int_t arrsize, Bool_t withsize)
Template method to read array content.
void SqlReadBasic(Char_t &value)
Read current value from table and convert it to Char_t value.
virtual void ReadShort(Short_t &s)
Reads Short_t value from buffer.
virtual void WriteFloat(Float_t f)
Writes Float_t value to buffer.
Int_t fCompressLevel
! compress level used to minimize size of data in database
Definition: TBufferSQL2.h:40
virtual void ReadLong(Long_t &l)
Reads Long_t value from buffer.
virtual void ReadFastArray(Bool_t *b, Int_t n)
Read array of Bool_t from buffer.
Base class for text-based streamers like TBufferJSON or TBufferXML Special actions list will use meth...
Definition: TBufferText.h:21
virtual void StreamObject(void *obj, const std::type_info &typeinfo, const TClass *onFileClass=nullptr)
stream object to/from buffer
virtual void WriteStdString(const std::string *s)=0
virtual void ReadStdString(std::string *s)=0
The ROOT global object gROOT contains a list of all defined classes.
Definition: TClass.h:75
This class stores a (key,value) pair using an external hash.
Definition: TExMap.h:33
TMap implements an associative array of (key,value) pairs using a THashTable for efficient retrieval ...
Definition: TMap.h:40
An array of TObjects.
Definition: TObjArray.h:37
Contains information about tables specific to one class and version.
Definition: TSQLClassInfo.h:42
Access an SQL db via the TFile interface.
Definition: TSQLFile.h:30
TSQLObjectData is used in TBufferSQL2 class in reading procedure.
This is hierarchical structure, which is created when data is written by TBufferSQL2.
Definition: TSQLStructure.h:94
Basic string class.
Definition: TString.h:131
Abstract Interface class describing Streamer information for one class.
const Int_t n
Definition: legend1.C:16
double T(double x)
Definition: ChebyshevPol.h:34
static constexpr double s
Definition: file.py:1
auto * l
Definition: textangle.C:4