Logo ROOT  
Reference Guide
TStreamerElement.h
Go to the documentation of this file.
1// @(#)root/meta:$Id: e0eac11e63ad37390c9467c97c5c6849c4ab7d39 $
2// Author: Rene Brun 12/10/2000
3
4/*************************************************************************
5 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
6 * All rights reserved. *
7 * *
8 * For the licensing terms see $ROOTSYS/LICENSE. *
9 * For the list of contributors see $ROOTSYS/README/CREDITS. *
10 *************************************************************************/
11
12#ifndef ROOT_TStreamerElement
13#define ROOT_TStreamerElement
14
15
16//////////////////////////////////////////////////////////////////////////
17// //
18// TStreamerElement //
19// //
20// Describe one element (data member) to be Streamed //
21// //
22//////////////////////////////////////////////////////////////////////////
23
24#include "TNamed.h"
25
26#include "ESTLType.h"
27
28class TMethodCall;
29class TClass;
32
33class TStreamerElement : public TNamed {
34
35private:
36 TStreamerElement(const TStreamerElement &); // Not implemented
37 TStreamerElement&operator=(const TStreamerElement&); // Not implemented
38
39protected:
40 Int_t fType; //element type
41 Int_t fSize; //sizeof element
42 Int_t fArrayLength; //cumulative size of all array dims
43 Int_t fArrayDim; //number of array dimensions
44 Int_t fMaxIndex[5]; //Maximum array index for array dimension "dim"
45 Int_t fOffset; //!element offset in class
46 Int_t fTObjectOffset; //!base offset for TObject if the element inherits from it
47 Int_t fNewType; //!new element type when reading
48 TString fTypeName; //Data type name of data member
49 TClass *fClassObject; //!pointer to class of object
50 TClass *fNewClass; //!new element class when reading
51 TMemberStreamer *fStreamer; //!pointer to element Streamer
52 Double_t fXmin; //!Minimum of data member if a range is specified [xmin,xmax,nbits]
53 Double_t fXmax; //!Maximum of data member if a range is specified [xmin,xmax,nbits]
54 Double_t fFactor; //!Conversion factor if a range is specified fFactor = (1<<nbits/(xmax-xmin)
55
56public:
57
58 enum ESTLtype {
74 };
75 // TStreamerElement status bits
78 kCache = BIT(9),
79 kRepeat = BIT(10),
80 kRead = BIT(11),
81 kWrite = BIT(12),
84 kWarned = BIT(21)
85 };
86
88 // This bit duplicates TObject::kInvalidObject. As the semantic of kDoNotDelete is a persistent,
89 // we can not change its value without breaking forward compatibility.
90 // Furthermore, TObject::kInvalidObject and its semantic is not (and should not be)
91 // used in TStreamerElement
93
94 // This bit duplicates TObject::kCannotPick. As the semantic of kHasRange is a persistent,
95 // we can not change its value without breaking forward compatibility.
96 // Furthermore, TObject::kCannotPick and its semantic is not (and should not be)
97 // used in TStreamerElement
99 };
100
101
103 TStreamerElement(const char *name, const char *title, Int_t offset, Int_t dtype, const char *typeName);
104 virtual ~TStreamerElement();
105 virtual Bool_t CannotSplit() const;
106 Int_t GetArrayDim() const {return fArrayDim;}
108 virtual TClass *GetClassPointer() const;
109 TClass *GetClass() const {return GetClassPointer();}
110 virtual Int_t GetExecID() const;
111 virtual const char *GetFullName() const;
112 virtual const char *GetInclude() const {return "";}
113 Int_t GetMaxIndex(Int_t i) const {return fMaxIndex[i];}
114 virtual ULong_t GetMethod() const {return ULong_t(fStreamer);}
116 virtual Int_t GetSize() const;
117 Int_t GetNewType() const {return fNewType;}
118 TClass* GetNewClass() const { return fNewClass; }
119 Int_t GetType() const {return fType;}
120 Int_t GetOffset() const {return fOffset;}
121 void GetSequenceType(TString &type) const;
123 const char *GetTypeName() const {return fTypeName.Data();}
124 const char *GetTypeNameBasic() const;
125 Double_t GetFactor() const {return fFactor;}
126 Double_t GetXmin() const {return fXmin;}
127 Double_t GetXmax() const {return fXmax;}
128 virtual void Init(TVirtualStreamerInfo *obj=0);
129 virtual Bool_t IsaPointer() const {return kFALSE;}
130 virtual Bool_t HasCounter() const {return kFALSE;}
131 virtual Bool_t IsOldFormat(const char *newTypeName);
132 virtual Bool_t IsBase() const;
133 virtual Bool_t IsTransient() const;
134 virtual void ls(Option_t *option="") const;
135 virtual void SetArrayDim(Int_t dim);
136 virtual void SetMaxIndex(Int_t dim, Int_t max);
137 virtual void SetOffset(Int_t offset) {fOffset=offset;}
138 virtual void SetTObjectOffset(Int_t tobjoffset) {fTObjectOffset=tobjoffset;}
139 virtual void SetStreamer(TMemberStreamer *streamer);
140 virtual void SetSize(Int_t dsize) {fSize = dsize;}
141 virtual void SetNewType(Int_t dtype) {fNewType = dtype;}
142 virtual void SetNewClass( TClass* cl ) { fNewClass= cl; }
143 virtual void SetType(Int_t dtype) {fType = dtype;}
144 virtual void SetTypeName(const char *name) {fTypeName = name; fClassObject = (TClass*)-1; }
145 virtual void Update(const TClass *oldClass, TClass *newClass);
146
147 ClassDef(TStreamerElement,4) //Base class for one element (data member) to be Streamed
148};
149
150//________________________________________________________________________
152
153private:
154 TStreamerBase(const TStreamerBase &); // Not implemented
155 TStreamerBase&operator=(const TStreamerBase&); // Not implemented
156
157protected:
158 Int_t fBaseVersion; //version number of the base class (used during memberwise streaming)
159 UInt_t &fBaseCheckSum; //!checksum of the base class (used during memberwise streaming)
160 TClass *fBaseClass; //!pointer to base class
161 TClass *fNewBaseClass; //!pointer to new base class if renamed
162 ClassStreamerFunc_t fStreamerFunc; //!Pointer to a wrapper around a custom streamer member function.
163 ClassConvStreamerFunc_t fConvStreamerFunc; //!Pointer to a wrapper around a custom convertion streamer member function.
164 TVirtualStreamerInfo *fStreamerInfo; //!Pointer to the current StreamerInfo for the baset class.
165 TString fErrorMsg; //!Error message in case of checksum/version mismatch.
166
167 void InitStreaming(Bool_t isTransient);
168
169public:
170
172 TStreamerBase(const char *name, const char *title, Int_t offset, Bool_t isTransient = kFALSE);
173 virtual ~TStreamerBase();
176 virtual TClass *GetClassPointer() const;
177 const char *GetErrorMessage() const { return fErrorMsg; }
178 const char *GetInclude() const;
180 ULong_t GetMethod() const {return 0;}
181 Int_t GetSize() const;
183 virtual void Init(TVirtualStreamerInfo *obj=0);
184 void Init(Bool_t isTransient = kFALSE);
185 Bool_t IsBase() const;
186 virtual void ls(Option_t *option="") const;
187 Int_t ReadBuffer (TBuffer &b, char *pointer);
191 void SetErrorMessage(const char *msg) { fErrorMsg = msg; }
192 virtual void Update(const TClass *oldClass, TClass *newClass);
193 Int_t WriteBuffer(TBuffer &b, char *pointer);
194
195 ClassDef(TStreamerBase,3) //Streamer element of type base class
196};
197
198//________________________________________________________________________
200
201private:
202 TStreamerBasicPointer(const TStreamerBasicPointer &); // Not implemented
204
205protected:
206 Int_t fCountVersion; //version number of the class with the counter
207 TString fCountName; //name of data member holding the array count
208 TString fCountClass; //name of the class with the counter
209 TStreamerBasicType *fCounter; //!pointer to basic type counter
210
211public:
212
214 TStreamerBasicPointer(const char *name, const char *title, Int_t offset, Int_t dtype,
215 const char *countName, const char *countClass, Int_t version, const char *typeName);
216 virtual ~TStreamerBasicPointer();
217 TClass *GetClassPointer() const { return 0; }
218 const char *GetCountClass() const {return fCountClass.Data();}
219 const char *GetCountName() const {return fCountName.Data();}
221 ULong_t GetMethod() const;
222 Int_t GetSize() const;
223 virtual void Init(TVirtualStreamerInfo *obj=0);
224 virtual Bool_t HasCounter() const {return fCounter!=0; }
225 virtual Bool_t IsaPointer() const {return kTRUE; }
226 void SetArrayDim(Int_t dim);
227 void SetCountClass(const char *clname) {fCountClass = clname; }
228 void SetCountName(const char *name) {fCountName = name; }
229 void SetCountVersion(Int_t count) {fCountVersion = count;}
230 virtual void Update(const TClass * /* oldClass */, TClass * /*newClass*/ ) {}
231
232 ClassDef(TStreamerBasicPointer,2) //Streamer element for a pointer to a basic type
233};
234
235//________________________________________________________________________
237
238private:
239 TStreamerLoop(const TStreamerLoop&); // Not implemented
240 TStreamerLoop&operator=(const TStreamerLoop&); // Not implemented
241
242protected:
243 Int_t fCountVersion; //version number of the class with the counter
244 TString fCountName; //name of data member holding the array count
245 TString fCountClass; //name of the class with the counter
246 TStreamerBasicType *fCounter; //!pointer to basic type counter
247
248public:
249
251 TStreamerLoop(const char *name, const char *title, Int_t offset, const char *countName, const char *countClass, Int_t version, const char *typeName);
252 virtual ~TStreamerLoop();
253 const char *GetCountClass() const {return fCountClass.Data();}
254 const char *GetCountName() const {return fCountName.Data();}
256 const char *GetInclude() const;
257 ULong_t GetMethod() const;
258 Int_t GetSize() const;
259 virtual void Init(TVirtualStreamerInfo *obj=0);
260 virtual Bool_t IsaPointer() const {return kTRUE; }
261 virtual Bool_t HasCounter() const {return fCounter!=0; }
262 void SetCountClass(const char *clname) {fCountClass = clname; }
263 void SetCountName(const char *name) {fCountName = name; }
264 void SetCountVersion(Int_t count) {fCountVersion = count;}
265
266 ClassDef(TStreamerLoop,2) //Streamer element for a pointer to an array of objects
267};
268
269//________________________________________________________________________
271
272private:
273 TStreamerBasicType(const TStreamerBasicType&); // Not implemented
275
276protected:
277 Int_t fCounter; //!value of data member when referenced by an array
278
279public:
280
282 TStreamerBasicType(const char *name, const char *title, Int_t offset, Int_t dtype, const char *typeName);
283 virtual ~TStreamerBasicType();
284 TClass *GetClassPointer() const { return 0; }
285 Int_t GetCounter() const {return fCounter;}
286 ULong_t GetMethod() const;
287 Int_t GetSize() const;
288 virtual void Update(const TClass * /* oldClass */, TClass * /* newClass */) {}
289
290 ClassDef(TStreamerBasicType,2) //Streamer element for a basic type
291};
292
293//________________________________________________________________________
295
296private:
297 TStreamerObject(const TStreamerObject&); // Not implemented
298 TStreamerObject&operator=(const TStreamerObject&); // Not implemented
299
300public:
301
303 TStreamerObject(const char *name, const char *title, Int_t offset, const char *typeName);
304 virtual ~TStreamerObject();
305 const char *GetInclude() const;
306 Int_t GetSize() const;
307 virtual void Init(TVirtualStreamerInfo *obj=0);
308
309 ClassDef(TStreamerObject,2) //Streamer element of type object
310};
311
312//________________________________________________________________________
314
315private:
316 TStreamerObjectAny(const TStreamerObjectAny&); // Not implemented
318
319public:
320
322 TStreamerObjectAny(const char *name, const char *title, Int_t offset, const char *typeName);
323 virtual ~TStreamerObjectAny();
324 const char *GetInclude() const;
325 Int_t GetSize() const;
326 virtual void Init(TVirtualStreamerInfo *obj=0);
327
328 ClassDef(TStreamerObjectAny,2) //Streamer element of type object other than TObject
329};
330
331//________________________________________________________________________
333
334private:
337
338public:
339
341 TStreamerObjectPointer(const char *name, const char *title, Int_t offset, const char *typeName);
342 virtual ~TStreamerObjectPointer();
343 const char *GetInclude() const;
344 Int_t GetSize() const;
345 virtual void Init(TVirtualStreamerInfo *obj=0);
346 virtual Bool_t IsaPointer() const {return kTRUE;}
347 virtual void SetArrayDim(Int_t dim);
348
349 ClassDef(TStreamerObjectPointer,2) //Streamer element of type pointer to a TObject
350};
351
352//________________________________________________________________________
354
355private:
358
359public:
360
362 TStreamerObjectAnyPointer(const char *name, const char *title, Int_t offset, const char *typeName);
364 const char *GetInclude() const;
365 Int_t GetSize() const;
366 virtual void Init(TVirtualStreamerInfo *obj=0);
367 virtual Bool_t IsaPointer() const {return kTRUE;}
368 virtual void SetArrayDim(Int_t dim);
369
370 ClassDef(TStreamerObjectAnyPointer,1) //Streamer element of type pointer to a non TObject
371};
372
373//________________________________________________________________________
375
376private:
377 TStreamerString(const TStreamerString&); // Not implemented
378 TStreamerString&operator=(const TStreamerString&); // Not implemented
379
380public:
381
383 TStreamerString(const char *name, const char *title, Int_t offset);
384 virtual ~TStreamerString();
385 const char *GetInclude() const;
386 Int_t GetSize() const;
387
388 ClassDef(TStreamerString,2) //Streamer element of type TString
389};
390
391//________________________________________________________________________
393
394private:
395 TStreamerSTL(const TStreamerSTL&); // Not implemented
396 TStreamerSTL&operator=(const TStreamerSTL&); // Not implemented
397
398protected:
399 Int_t fSTLtype; //type of STL vector
400 Int_t fCtype; //STL contained type
401
402public:
403
404 TStreamerSTL();
405 TStreamerSTL(const char *name, const char *title, Int_t offset,
406 const char *typeName, const char *trueType, Bool_t dmPointer);
407 TStreamerSTL(const char *name, const char *title, Int_t offset,
408 const char *typeName, const TVirtualCollectionProxy &proxy , Bool_t dmPointer);
409 virtual ~TStreamerSTL();
410 Bool_t CannotSplit() const;
411 Bool_t IsaPointer() const;
412 Bool_t IsBase() const;
413 Int_t GetSTLtype() const {return fSTLtype;}
414 Int_t GetCtype() const {return fCtype;}
415 const char *GetInclude() const;
416 Int_t GetSize() const;
417 virtual void ls(Option_t *option="") const;
418 void SetSTLtype(Int_t t) {fSTLtype = t;}
419 void SetCtype(Int_t t) {fCtype = t;}
420 virtual void SetStreamer(TMemberStreamer *streamer);
421
422 ClassDef(TStreamerSTL,3) //Streamer element of type STL container
423};
424
425//________________________________________________________________________
427
428private:
429 TStreamerSTLstring(const TStreamerSTLstring&); // Not implemented
431
432public:
433
435 TStreamerSTLstring(const char *name, const char *title, Int_t offset,
436 const char *typeName, Bool_t dmPointer);
437 virtual ~TStreamerSTLstring();
438 const char *GetInclude() const;
439 Int_t GetSize() const;
440
441 ClassDef(TStreamerSTLstring,2) //Streamer element of type C++ string
442};
443
444class TVirtualObject;
445class TBuffer;
446
447#include "TSchemaRule.h"
448
449//________________________________________________________________________
451private:
452 TStreamerArtificial(const TStreamerArtificial&); // Not implemented
454
455protected:
458
459public:
460
461 // TStreamerArtificial() : fReadFunc(0),fReadRawFunc(0) {}
462
463 TStreamerArtificial(const char *name, const char *title, Int_t offset, Int_t dtype, const char *typeName) : TStreamerElement(name,title,offset,dtype,typeName), fReadFunc(0), fReadRawFunc(0) {}
464
467
470
471 ClassDef(TStreamerArtificial, 0); // StreamerElement injected by a TSchemaRule. Transient only to preverse forward compatibility.
472};
473
474#endif
int Int_t
Definition: CPyCppyy.h:43
unsigned int UInt_t
Definition: CPyCppyy.h:44
unsigned long ULong_t
Definition: CPyCppyy.h:51
#define b(i)
Definition: RSha256.hxx:100
const Bool_t kFALSE
Definition: RtypesCore.h:90
bool Bool_t
Definition: RtypesCore.h:61
double Double_t
Definition: RtypesCore.h:57
const Bool_t kTRUE
Definition: RtypesCore.h:89
const char Option_t
Definition: RtypesCore.h:64
#define ClassDef(name, id)
Definition: Rtypes.h:322
#define BIT(n)
Definition: Rtypes.h:83
void(* ClassStreamerFunc_t)(TBuffer &, void *)
Definition: Rtypes.h:70
void(* ClassConvStreamerFunc_t)(TBuffer &, void *, const TClass *)
Definition: Rtypes.h:71
char name[80]
Definition: TGX11.cxx:109
void(* ReadFuncPtr_t)(char *, TVirtualObject *)
Definition: TSchemaRule.h:42
void(* ReadRawFuncPtr_t)(char *, TBuffer &)
Definition: TSchemaRule.h:43
Buffer base class used for serializing objects.
Definition: TBuffer.h:42
TClass instances represent classes, structs and namespaces in the ROOT type system.
Definition: TClass.h:80
Method or function calling interface.
Definition: TMethodCall.h:37
The TNamed class is the base class for all named ROOT classes.
Definition: TNamed.h:29
EStatusBits
Definition: TObject.h:57
TStreamerArtificial(const TStreamerArtificial &)
void SetReadFunc(ROOT::TSchemaRule::ReadFuncPtr_t val)
ROOT::TSchemaRule::ReadRawFuncPtr_t GetReadRawFunc()
ROOT::TSchemaRule::ReadRawFuncPtr_t fReadRawFunc
ROOT::TSchemaRule::ReadFuncPtr_t GetReadFunc()
ROOT::TSchemaRule::ReadFuncPtr_t fReadFunc
void SetReadRawFunc(ROOT::TSchemaRule::ReadRawFuncPtr_t val)
TStreamerArtificial(const char *name, const char *title, Int_t offset, Int_t dtype, const char *typeName)
TStreamerArtificial & operator=(const TStreamerArtificial &)
TVirtualStreamerInfo * GetBaseStreamerInfo() const
void InitStreaming(Bool_t isTransient)
Error message in case of checksum/version mismatch.
UInt_t & fBaseCheckSum
void SetErrorMessage(const char *msg)
TClass * GetNewBaseClass()
void SetNewBaseClass(TClass *cl)
Int_t GetBaseVersion()
Bool_t IsBase() const
Return kTRUE if the element represent a base class.
Int_t WriteBuffer(TBuffer &b, char *pointer)
Write the base class into the buffer.
TStreamerBase(const TStreamerBase &)
void SetBaseVersion(Int_t v)
virtual void Init(TVirtualStreamerInfo *obj=0)
Setup the element.
const char * GetInclude() const
Return the proper include for this element.
virtual ~TStreamerBase()
TStreamerBase dtor.
UInt_t GetBaseCheckSum()
TStreamerBase & operator=(const TStreamerBase &)
TClass * fBaseClass
checksum of the base class (used during memberwise streaming)
Int_t ReadBuffer(TBuffer &b, char *pointer)
Read the content of the buffer.
ClassConvStreamerFunc_t fConvStreamerFunc
Pointer to a wrapper around a custom streamer member function.
void SetBaseCheckSum(UInt_t cs)
ULong_t GetMethod() const
TClass * fNewBaseClass
pointer to base class
Int_t GetSize() const
Returns size of baseclass in bytes.
TVirtualStreamerInfo * fStreamerInfo
Pointer to a wrapper around a custom convertion streamer member function.
virtual void Update(const TClass *oldClass, TClass *newClass)
Function called by the TClass constructor when replacing an emulated class by the real class.
ClassStreamerFunc_t fStreamerFunc
pointer to new base class if renamed
TString fErrorMsg
Pointer to the current StreamerInfo for the baset class.
const char * GetErrorMessage() const
virtual void ls(Option_t *option="") const
Print the content of the element.
virtual TClass * GetClassPointer() const
Returns a pointer to the TClass of this element.
void SetCountName(const char *name)
virtual ~TStreamerBasicPointer()
TStreamerBasicPointer dtor.
const char * GetCountName() const
void SetCountVersion(Int_t count)
void SetArrayDim(Int_t dim)
Set number of array dimensions.
Int_t GetSize() const
Returns size of basicpointer in bytes.
ULong_t GetMethod() const
return offset of counter
void SetCountClass(const char *clname)
TStreamerBasicPointer()
pointer to basic type counter
virtual void Update(const TClass *, TClass *)
function called by the TClass constructor when replacing an emulated class by the real class
virtual Bool_t IsaPointer() const
virtual Bool_t HasCounter() const
TStreamerBasicPointer(const TStreamerBasicPointer &)
const char * GetCountClass() const
TStreamerBasicPointer & operator=(const TStreamerBasicPointer &)
virtual void Init(TVirtualStreamerInfo *obj=0)
Setup the element.
Int_t GetCountVersion() const
TStreamerBasicType * fCounter
TClass * GetClassPointer() const
Returns a pointer to the TClass of this element.
Int_t GetSize() const
Returns size of this element in bytes.
ULong_t GetMethod() const
return address of counter
TClass * GetClassPointer() const
Returns a pointer to the TClass of this element.
TStreamerBasicType & operator=(const TStreamerBasicType &)
TStreamerBasicType()
value of data member when referenced by an array
TStreamerBasicType(const TStreamerBasicType &)
virtual ~TStreamerBasicType()
TStreamerBasicType dtor.
Int_t GetCounter() const
virtual void Update(const TClass *, TClass *)
function called by the TClass constructor when replacing an emulated class by the real class
virtual void SetSize(Int_t dsize)
TStreamerElement()
Default ctor.
Int_t GetNewType() const
virtual Int_t GetSize() const
Returns size of this element in bytes.
Int_t GetType() const
virtual Bool_t IsOldFormat(const char *newTypeName)
The early 3.00/00 and 3.01/01 versions used to store dm->GetTypeName instead of dm->GetFullTypename i...
virtual const char * GetFullName() const
Return element name including dimensions, if any Note that this function stores the name into a stati...
virtual TClass * GetClassPointer() const
Returns a pointer to the TClass of this element.
virtual void SetArrayDim(Int_t dim)
Set number of array dimensions.
virtual ~TStreamerElement()
TStreamerElement dtor.
Int_t GetArrayDim() const
TMemberStreamer * GetStreamer() const
Return the local streamer object.
Int_t fTObjectOffset
element offset in class
Double_t GetXmax() const
Double_t fXmax
Minimum of data member if a range is specified [xmin,xmax,nbits].
Int_t GetArrayLength() const
const char * GetTypeName() const
virtual void SetStreamer(TMemberStreamer *streamer)
set pointer to Streamer function for this element
TMemberStreamer * fStreamer
new element class when reading
Double_t GetFactor() const
TString fTypeName
new element type when reading
virtual Bool_t IsTransient() const
Return kTRUE if the element represent an entity that is not written to the disk (transient members,...
Double_t fFactor
Maximum of data member if a range is specified [xmin,xmax,nbits].
Int_t GetMaxIndex(Int_t i) const
virtual Bool_t IsaPointer() const
virtual void Update(const TClass *oldClass, TClass *newClass)
function called by the TClass constructor when replacing an emulated class by the real class
virtual Bool_t CannotSplit() const
Returns true if the element cannot be split, false otherwise.
virtual void SetType(Int_t dtype)
Double_t GetXmin() const
Int_t GetOffset() const
TStreamerElement(const TStreamerElement &)
virtual void Init(TVirtualStreamerInfo *obj=0)
Initliaze the element.
virtual void SetNewClass(TClass *cl)
virtual void SetTypeName(const char *name)
Double_t fXmin
pointer to element Streamer
const char * GetTypeNameBasic() const
Return type name of this element in case the type name is not a standard basic type,...
virtual Bool_t IsBase() const
Return kTRUE if the element represent a base class.
virtual Int_t GetExecID() const
Returns the TExec id for the EXEC instruction in the comment field of a TRef data member.
TClass * GetClass() const
virtual void SetOffset(Int_t offset)
virtual ULong_t GetMethod() const
TClass * GetNewClass() const
virtual void SetTObjectOffset(Int_t tobjoffset)
virtual void SetNewType(Int_t dtype)
virtual const char * GetInclude() const
TClass * fNewClass
pointer to class of object
virtual void SetMaxIndex(Int_t dim, Int_t max)
set maximum index for array with dimension dim
Int_t GetTObjectOffset() const
virtual Bool_t HasCounter() const
void GetSequenceType(TString &type) const
Fill type with the string representation of sequence information including 'cached',...
Int_t fNewType
base offset for TObject if the element inherits from it
TStreamerElement & operator=(const TStreamerElement &)
ESTLtype
Conversion factor if a range is specified fFactor = (1<<nbits/(xmax-xmin)
virtual void ls(Option_t *option="") const
Print the content of the element.
TStreamerBasicType * fCounter
virtual Bool_t IsaPointer() const
void SetCountName(const char *name)
TStreamerLoop(const TStreamerLoop &)
virtual ~TStreamerLoop()
TStreamerLoop dtor.
Int_t GetCountVersion() const
virtual Bool_t HasCounter() const
ULong_t GetMethod() const
return address of counter
void SetCountVersion(Int_t count)
const char * GetInclude() const
Return the proper include for this element.
const char * GetCountName() const
const char * GetCountClass() const
void SetCountClass(const char *clname)
virtual void Init(TVirtualStreamerInfo *obj=0)
Setup the element.
Int_t GetSize() const
Returns size of counter in bytes.
TStreamerLoop & operator=(const TStreamerLoop &)
TStreamerLoop()
pointer to basic type counter
virtual Bool_t IsaPointer() const
Int_t GetSize() const
Returns size of objectpointer in bytes.
virtual void Init(TVirtualStreamerInfo *obj=0)
Setup the element.
TStreamerObjectAnyPointer & operator=(const TStreamerObjectAnyPointer &)
virtual void SetArrayDim(Int_t dim)
Set number of array dimensions.
TStreamerObjectAnyPointer(const TStreamerObjectAnyPointer &)
const char * GetInclude() const
Return the proper include for this element.
virtual ~TStreamerObjectAnyPointer()
TStreamerObjectAnyPointer dtor.
TStreamerObjectAnyPointer()
Default ctor.
virtual ~TStreamerObjectAny()
TStreamerObjectAny dtor.
Int_t GetSize() const
Returns size of anyclass in bytes.
TStreamerObjectAny()
Default ctor.
virtual void Init(TVirtualStreamerInfo *obj=0)
Setup the element.
TStreamerObjectAny(const TStreamerObjectAny &)
const char * GetInclude() const
Return the proper include for this element.
TStreamerObjectAny & operator=(const TStreamerObjectAny &)
TStreamerObjectPointer & operator=(const TStreamerObjectPointer &)
virtual void SetArrayDim(Int_t dim)
Set number of array dimensions.
TStreamerObjectPointer()
Default ctor.
const char * GetInclude() const
Return the proper include for this element.
virtual ~TStreamerObjectPointer()
TStreamerObjectPointer dtor.
Int_t GetSize() const
Returns size of objectpointer in bytes.
virtual Bool_t IsaPointer() const
TStreamerObjectPointer(const TStreamerObjectPointer &)
virtual void Init(TVirtualStreamerInfo *obj=0)
Setup the element.
const char * GetInclude() const
Return the proper include for this element.
TStreamerObject()
Default ctor.
virtual void Init(TVirtualStreamerInfo *obj=0)
Setup the element.
virtual ~TStreamerObject()
TStreamerObject dtor.
TStreamerObject & operator=(const TStreamerObject &)
Int_t GetSize() const
Returns size of object class in bytes.
TStreamerObject(const TStreamerObject &)
const char * GetInclude() const
Return the proper include for this element.
Int_t GetSize() const
Returns size of STL container in bytes.
Bool_t CannotSplit() const
We can not split STL's which are inside a variable size array.
Int_t GetCtype() const
Int_t GetSTLtype() const
TStreamerSTL()
Default ctor.
TStreamerSTL & operator=(const TStreamerSTL &)
TStreamerSTL(const TStreamerSTL &)
virtual void ls(Option_t *option="") const
Print the content of the element.
void SetSTLtype(Int_t t)
void SetCtype(Int_t t)
Bool_t IsBase() const
Return kTRUE if the element represent a base class.
virtual ~TStreamerSTL()
TStreamerSTL dtor.
virtual void SetStreamer(TMemberStreamer *streamer)
Set pointer to Streamer function for this element NOTE: we do not take ownership.
Bool_t IsaPointer() const
Return true if the data member is a pointer.
const char * GetInclude() const
Return the proper include for this element.
virtual ~TStreamerSTLstring()
TStreamerSTLstring dtor.
TStreamerSTLstring(const TStreamerSTLstring &)
Int_t GetSize() const
Returns size of anyclass in bytes.
TStreamerSTLstring & operator=(const TStreamerSTLstring &)
TStreamerSTLstring()
Default ctor.
TStreamerString()
Default ctor.
Int_t GetSize() const
Returns size of anyclass in bytes.
const char * GetInclude() const
Return the proper include for this element.
TStreamerString & operator=(const TStreamerString &)
virtual ~TStreamerString()
TStreamerString dtor.
TStreamerString(const TStreamerString &)
Basic string class.
Definition: TString.h:131
const char * Data() const
Definition: TString.h:364
Wrapper around an object and giving indirect access to its content even if the object is not of a cla...
Abstract Interface class describing Streamer information for one class.
struct void * fTypeName
Definition: cppyy.h:9
@ kSTLbitset
Definition: ESTLType.h:37
@ kSTLmap
Definition: ESTLType.h:33
@ kSTLunorderedmultiset
Definition: ESTLType.h:43
@ kSTLstring
Definition: ESTLType.h:48
@ kSTLset
Definition: ESTLType.h:35
@ kSTLmultiset
Definition: ESTLType.h:36
@ kSTLdeque
Definition: ESTLType.h:32
@ kSTLvector
Definition: ESTLType.h:30
@ kSTLany
Definition: ESTLType.h:47
@ kSTLunorderedmultimap
Definition: ESTLType.h:45
@ kSTLunorderedset
Definition: ESTLType.h:42
@ kSTLlist
Definition: ESTLType.h:31
@ kSTLforwardlist
Definition: ESTLType.h:41
@ kSTLunorderedmap
Definition: ESTLType.h:44
@ kSTLmultimap
Definition: ESTLType.h:34