Logo ROOT   6.08/07
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 #ifndef ROOT_TNamed
25 #include "TNamed.h"
26 #endif
27 
28 #ifndef ROOT_ESTLType
29 #include "ESTLType.h"
30 #endif
31 
32 class TMethodCall;
33 class TClass;
34 class TStreamerBasicType;
36 
37 class TStreamerElement : public TNamed {
38 
39 private:
40  TStreamerElement(const TStreamerElement &); // Not implemented
41  TStreamerElement&operator=(const TStreamerElement&); // Not implemented
42 
43 protected:
44  Int_t fType; //element type
45  Int_t fSize; //sizeof element
46  Int_t fArrayLength; //cumulative size of all array dims
47  Int_t fArrayDim; //number of array dimensions
48  Int_t fMaxIndex[5]; //Maximum array index for array dimension "dim"
49  Int_t fOffset; //!element offset in class
50  Int_t fTObjectOffset; //!base offset for TObject if the element inherits from it
51  Int_t fNewType; //!new element type when reading
52  TString fTypeName; //Data type name of data member
53  TClass *fClassObject; //!pointer to class of object
54  TClass *fNewClass; //!new element class when reading
55  TMemberStreamer *fStreamer; //!pointer to element Streamer
56  Double_t fXmin; //!Minimum of data member if a range is specified [xmin,xmax,nbits]
57  Double_t fXmax; //!Maximum of data member if a range is specified [xmin,xmax,nbits]
58  Double_t fFactor; //!Conversion factor if a range is specified fFactor = (1<<nbits/(xmax-xmin)
59 
60 public:
61 
62  enum ESTLtype {
78  };
79  // TStreamerElement status bits
80  enum {
81  kHasRange = BIT(6),
82  kCache = BIT(9),
83  kRepeat = BIT(10),
84  kRead = BIT(11),
85  kWrite = BIT(12),
88  };
89 
91  TStreamerElement(const char *name, const char *title, Int_t offset, Int_t dtype, const char *typeName);
92  virtual ~TStreamerElement();
93  virtual Bool_t CannotSplit() const;
94  Int_t GetArrayDim() const {return fArrayDim;}
95  Int_t GetArrayLength() const {return fArrayLength;}
96  virtual TClass *GetClassPointer() const;
97  TClass *GetClass() const {return GetClassPointer();}
98  virtual Int_t GetExecID() const;
99  virtual const char *GetFullName() const;
100  virtual const char *GetInclude() const {return "";}
101  Int_t GetMaxIndex(Int_t i) const {return fMaxIndex[i];}
102  virtual ULong_t GetMethod() const {return ULong_t(fStreamer);}
103  TMemberStreamer *GetStreamer() const;
104  virtual Int_t GetSize() const;
105  Int_t GetNewType() const {return fNewType;}
106  TClass* GetNewClass() const { return fNewClass; }
107  Int_t GetType() const {return fType;}
108  Int_t GetOffset() const {return fOffset;}
109  void GetSequenceType(TString &type) const;
111  const char *GetTypeName() const {return fTypeName.Data();}
112  const char *GetTypeNameBasic() const;
113  Double_t GetFactor() const {return fFactor;}
114  Double_t GetXmin() const {return fXmin;}
115  Double_t GetXmax() const {return fXmax;}
116  virtual void Init(TVirtualStreamerInfo *obj=0);
117  virtual Bool_t IsaPointer() const {return kFALSE;}
118  virtual Bool_t HasCounter() const {return kFALSE;}
119  virtual Bool_t IsOldFormat(const char *newTypeName);
120  virtual Bool_t IsBase() const;
121  virtual Bool_t IsTransient() const;
122  virtual void ls(Option_t *option="") const;
123  virtual void SetArrayDim(Int_t dim);
124  virtual void SetMaxIndex(Int_t dim, Int_t max);
125  virtual void SetOffset(Int_t offset) {fOffset=offset;}
126  virtual void SetTObjectOffset(Int_t tobjoffset) {fTObjectOffset=tobjoffset;}
127  virtual void SetStreamer(TMemberStreamer *streamer);
128  virtual void SetSize(Int_t dsize) {fSize = dsize;}
129  virtual void SetNewType(Int_t dtype) {fNewType = dtype;}
130  virtual void SetNewClass( TClass* cl ) { fNewClass= cl; }
131  virtual void SetType(Int_t dtype) {fType = dtype;}
132  virtual void SetTypeName(const char *name) {fTypeName = name; fClassObject = (TClass*)-1; }
133  virtual void Update(const TClass *oldClass, TClass *newClass);
134 
135  ClassDef(TStreamerElement,4) //Base class for one element (data member) to be Streamed
136 };
137 
138 //________________________________________________________________________
140 
141 private:
142  TStreamerBase(const TStreamerBase &); // Not implemented
143  TStreamerBase&operator=(const TStreamerBase&); // Not implemented
144 
145 protected:
146  Int_t fBaseVersion; //version number of the base class (used during memberwise streaming)
147  UInt_t &fBaseCheckSum; //!checksum of the base class (used during memberwise streaming)
148  TClass *fBaseClass; //!pointer to base class
149  TClass *fNewBaseClass; //!pointer to new base class if renamed
150  ClassStreamerFunc_t fStreamerFunc; //!Pointer to a wrapper around a custom streamer member function.
151  ClassConvStreamerFunc_t fConvStreamerFunc; //!Pointer to a wrapper around a custom convertion streamer member function.
152  TVirtualStreamerInfo *fStreamerInfo; //!Pointer to the current StreamerInfo for the baset class.
153  TString fErrorMsg; //!Error message in case of checksum/version mismatch.
154 
155  void InitStreaming();
156 
157 public:
158 
159  TStreamerBase();
160  TStreamerBase(const char *name, const char *title, Int_t offset);
161  virtual ~TStreamerBase();
162  Int_t GetBaseVersion() {return fBaseVersion;}
163  UInt_t GetBaseCheckSum() {return fBaseCheckSum;}
164  virtual TClass *GetClassPointer() const;
165  const char *GetErrorMessage() const { return fErrorMsg; }
166  const char *GetInclude() const;
167  TClass *GetNewBaseClass() { return fNewBaseClass; }
168  ULong_t GetMethod() const {return 0;}
169  Int_t GetSize() const;
170  TVirtualStreamerInfo *GetBaseStreamerInfo () const { return fStreamerInfo; }
171  virtual void Init(TVirtualStreamerInfo *obj=0);
172  Bool_t IsBase() const;
173  virtual void ls(Option_t *option="") const;
174  Int_t ReadBuffer (TBuffer &b, char *pointer);
175  void SetNewBaseClass( TClass* cl ) { fNewBaseClass = cl; InitStreaming(); }
176  void SetBaseVersion(Int_t v) {fBaseVersion = v;}
177  void SetBaseCheckSum(UInt_t cs) {fBaseCheckSum = cs;}
178  void SetErrorMessage(const char *msg) { fErrorMsg = msg; }
179  virtual void Update(const TClass *oldClass, TClass *newClass);
180  Int_t WriteBuffer(TBuffer &b, char *pointer);
181 
182  ClassDef(TStreamerBase,3) //Streamer element of type base class
183 };
184 
185 //________________________________________________________________________
187 
188 private:
189  TStreamerBasicPointer(const TStreamerBasicPointer &); // Not implemented
190  TStreamerBasicPointer&operator=(const TStreamerBasicPointer&); // Not implemented
191 
192 protected:
193  Int_t fCountVersion; //version number of the class with the counter
194  TString fCountName; //name of data member holding the array count
195  TString fCountClass; //name of the class with the counter
196  TStreamerBasicType *fCounter; //!pointer to basic type counter
197 
198 public:
199 
201  TStreamerBasicPointer(const char *name, const char *title, Int_t offset, Int_t dtype,
202  const char *countName, const char *countClass, Int_t version, const char *typeName);
203  virtual ~TStreamerBasicPointer();
204  TClass *GetClassPointer() const { return 0; }
205  const char *GetCountClass() const {return fCountClass.Data();}
206  const char *GetCountName() const {return fCountName.Data();}
207  Int_t GetCountVersion() const {return fCountVersion;}
208  ULong_t GetMethod() const;
209  Int_t GetSize() const;
210  virtual void Init(TVirtualStreamerInfo *obj=0);
211  virtual Bool_t HasCounter() const {return fCounter!=0; }
212  virtual Bool_t IsaPointer() const {return kTRUE; }
213  void SetArrayDim(Int_t dim);
214  void SetCountClass(const char *clname) {fCountClass = clname; }
215  void SetCountName(const char *name) {fCountName = name; }
216  void SetCountVersion(Int_t count) {fCountVersion = count;}
217  virtual void Update(const TClass * /* oldClass */, TClass * /*newClass*/ ) {}
218 
219  ClassDef(TStreamerBasicPointer,2) //Streamer element for a pointer to a basic type
220 };
221 
222 //________________________________________________________________________
224 
225 private:
226  TStreamerLoop(const TStreamerLoop&); // Not implemented
227  TStreamerLoop&operator=(const TStreamerLoop&); // Not implemented
228 
229 protected:
230  Int_t fCountVersion; //version number of the class with the counter
231  TString fCountName; //name of data member holding the array count
232  TString fCountClass; //name of the class with the counter
233  TStreamerBasicType *fCounter; //!pointer to basic type counter
234 
235 public:
236 
237  TStreamerLoop();
238  TStreamerLoop(const char *name, const char *title, Int_t offset, const char *countName, const char *countClass, Int_t version, const char *typeName);
239  virtual ~TStreamerLoop();
240  const char *GetCountClass() const {return fCountClass.Data();}
241  const char *GetCountName() const {return fCountName.Data();}
242  Int_t GetCountVersion() const {return fCountVersion;}
243  const char *GetInclude() const;
244  ULong_t GetMethod() const;
245  Int_t GetSize() const;
246  virtual void Init(TVirtualStreamerInfo *obj=0);
247  virtual Bool_t IsaPointer() const {return kTRUE; }
248  virtual Bool_t HasCounter() const {return fCounter!=0; }
249  void SetCountClass(const char *clname) {fCountClass = clname; }
250  void SetCountName(const char *name) {fCountName = name; }
251  void SetCountVersion(Int_t count) {fCountVersion = count;}
252 
253  ClassDef(TStreamerLoop,2) //Streamer element for a pointer to an array of objects
254 };
255 
256 //________________________________________________________________________
258 
259 private:
260  TStreamerBasicType(const TStreamerBasicType&); // Not implemented
261  TStreamerBasicType&operator=(const TStreamerBasicType&); // Not implemented
262 
263 protected:
264  Int_t fCounter; //!value of data member when referenced by an array
265 
266 public:
267 
269  TStreamerBasicType(const char *name, const char *title, Int_t offset, Int_t dtype, const char *typeName);
270  virtual ~TStreamerBasicType();
271  TClass *GetClassPointer() const { return 0; }
272  Int_t GetCounter() const {return fCounter;}
273  ULong_t GetMethod() const;
274  Int_t GetSize() const;
275  virtual void Update(const TClass * /* oldClass */, TClass * /* newClass */) {}
276 
277  ClassDef(TStreamerBasicType,2) //Streamer element for a basic type
278 };
279 
280 //________________________________________________________________________
282 
283 private:
284  TStreamerObject(const TStreamerObject&); // Not implemented
285  TStreamerObject&operator=(const TStreamerObject&); // Not implemented
286 
287 public:
288 
289  TStreamerObject();
290  TStreamerObject(const char *name, const char *title, Int_t offset, const char *typeName);
291  virtual ~TStreamerObject();
292  const char *GetInclude() const;
293  Int_t GetSize() const;
294  virtual void Init(TVirtualStreamerInfo *obj=0);
295 
296  ClassDef(TStreamerObject,2) //Streamer element of type object
297 };
298 
299 //________________________________________________________________________
301 
302 private:
303  TStreamerObjectAny(const TStreamerObjectAny&); // Not implemented
304  TStreamerObjectAny&operator=(const TStreamerObjectAny&); // Not implemented
305 
306 public:
307 
309  TStreamerObjectAny(const char *name, const char *title, Int_t offset, const char *typeName);
310  virtual ~TStreamerObjectAny();
311  const char *GetInclude() const;
312  Int_t GetSize() const;
313  virtual void Init(TVirtualStreamerInfo *obj=0);
314 
315  ClassDef(TStreamerObjectAny,2) //Streamer element of type object other than TObject
316 };
317 
318 //________________________________________________________________________
320 
321 private:
322  TStreamerObjectPointer(const TStreamerObjectPointer&); // Not implemented
323  TStreamerObjectPointer&operator=(const TStreamerObjectPointer&); // Not implemented
324 
325 public:
326 
328  TStreamerObjectPointer(const char *name, const char *title, Int_t offset, const char *typeName);
329  virtual ~TStreamerObjectPointer();
330  const char *GetInclude() const;
331  Int_t GetSize() const;
332  virtual void Init(TVirtualStreamerInfo *obj=0);
333  virtual Bool_t IsaPointer() const {return kTRUE;}
334  virtual void SetArrayDim(Int_t dim);
335 
336  ClassDef(TStreamerObjectPointer,2) //Streamer element of type pointer to a TObject
337 };
338 
339 //________________________________________________________________________
341 
342 private:
343  TStreamerObjectAnyPointer(const TStreamerObjectAnyPointer&); // Not implemented
345 
346 public:
347 
349  TStreamerObjectAnyPointer(const char *name, const char *title, Int_t offset, const char *typeName);
350  virtual ~TStreamerObjectAnyPointer();
351  const char *GetInclude() const;
352  Int_t GetSize() const;
353  virtual void Init(TVirtualStreamerInfo *obj=0);
354  virtual Bool_t IsaPointer() const {return kTRUE;}
355  virtual void SetArrayDim(Int_t dim);
356 
357  ClassDef(TStreamerObjectAnyPointer,1) //Streamer element of type pointer to a non TObject
358 };
359 
360 //________________________________________________________________________
362 
363 private:
364  TStreamerString(const TStreamerString&); // Not implemented
365  TStreamerString&operator=(const TStreamerString&); // Not implemented
366 
367 public:
368 
369  TStreamerString();
370  TStreamerString(const char *name, const char *title, Int_t offset);
371  virtual ~TStreamerString();
372  const char *GetInclude() const;
373  Int_t GetSize() const;
374 
375  ClassDef(TStreamerString,2) //Streamer element of type TString
376 };
377 
378 //________________________________________________________________________
380 
381  enum {
382  kWarned = BIT(21)
383  };
384 
385 private:
386  TStreamerSTL(const TStreamerSTL&); // Not implemented
387  TStreamerSTL&operator=(const TStreamerSTL&); // Not implemented
388 
389 protected:
390  Int_t fSTLtype; //type of STL vector
391  Int_t fCtype; //STL contained type
392 
393 public:
394 
395  TStreamerSTL();
396  TStreamerSTL(const char *name, const char *title, Int_t offset,
397  const char *typeName, const char *trueType, Bool_t dmPointer);
398  TStreamerSTL(const char *name, const char *title, Int_t offset,
399  const char *typeName, const TVirtualCollectionProxy &proxy , Bool_t dmPointer);
400  virtual ~TStreamerSTL();
401  Bool_t CannotSplit() const;
402  Bool_t IsaPointer() const;
403  Bool_t IsBase() const;
404  Int_t GetSTLtype() const {return fSTLtype;}
405  Int_t GetCtype() const {return fCtype;}
406  const char *GetInclude() const;
407  Int_t GetSize() const;
408  virtual void ls(Option_t *option="") const;
409  void SetSTLtype(Int_t t) {fSTLtype = t;}
410  void SetCtype(Int_t t) {fCtype = t;}
411  virtual void SetStreamer(TMemberStreamer *streamer);
412 
413  ClassDef(TStreamerSTL,3) //Streamer element of type STL container
414 };
415 
416 //________________________________________________________________________
418 
419 private:
420  TStreamerSTLstring(const TStreamerSTLstring&); // Not implemented
421  TStreamerSTLstring&operator=(const TStreamerSTLstring&); // Not implemented
422 
423 public:
424 
426  TStreamerSTLstring(const char *name, const char *title, Int_t offset,
427  const char *typeName, Bool_t dmPointer);
428  virtual ~TStreamerSTLstring();
429  const char *GetInclude() const;
430  Int_t GetSize() const;
431 
432  ClassDef(TStreamerSTLstring,2) //Streamer element of type C++ string
433 };
434 
435 class TVirtualObject;
436 class TBuffer;
437 
438 #include "TSchemaRule.h"
439 
440 //________________________________________________________________________
442 private:
443  TStreamerArtificial(const TStreamerArtificial&); // Not implemented
444  TStreamerArtificial&operator=(const TStreamerArtificial&); // Not implemented
445 
446 protected:
449 
450 public:
451 
452  // TStreamerArtificial() : fReadFunc(0),fReadRawFunc(0) {}
453 
454  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) {}
455 
456  void SetReadFunc( ROOT::TSchemaRule::ReadFuncPtr_t val ) { fReadFunc = val; };
457  void SetReadRawFunc( ROOT::TSchemaRule::ReadRawFuncPtr_t val ) { fReadRawFunc = val; };
458 
459  ROOT::TSchemaRule::ReadFuncPtr_t GetReadFunc();
460  ROOT::TSchemaRule::ReadRawFuncPtr_t GetReadRawFunc();
461 
462  ClassDef(TStreamerArtificial, 0); // StreamerElement injected by a TSchemaRule. Transient only to preverse forward compatibility.
463 };
464 
465 #endif
virtual Bool_t IsTransient() const
Return kTRUE if the element represent an entity that is not written to the disk (transient members...
ESTLtype
Conversion factor if a range is specified fFactor = (1<<nbits/(xmax-xmin)
ROOT::TSchemaRule::ReadFuncPtr_t fReadFunc
void(* ReadRawFuncPtr_t)(char *, TBuffer &)
Definition: TSchemaRule.h:43
const char * GetCountClass() const
const char * GetTypeNameBasic() const
Return type name of this element in case the type name is not a standard basic type, return the basic type name known to CINT.
Int_t fNewType
base offset for TObject if the element inherits from it
void(* ClassStreamerFunc_t)(TBuffer &, void *)
Definition: Rtypes.h:67
virtual void SetOffset(Int_t offset)
virtual Bool_t IsaPointer() const
Int_t GetCountVersion() const
ClassConvStreamerFunc_t fConvStreamerFunc
Pointer to a wrapper around a custom streamer member function.
TStreamerArtificial(const char *name, const char *title, Int_t offset, Int_t dtype, const char *typeName)
virtual void SetSize(Int_t dsize)
const char Option_t
Definition: RtypesCore.h:62
Double_t fXmin
pointer to element Streamer
T ReadBuffer(TBufferFile *buf)
One of the template functions used to read objects from messages.
Definition: MPSendRecv.h:157
virtual TClass * GetClassPointer() const
Returns a pointer to the TClass of this element.
#define BIT(n)
Definition: Rtypes.h:120
virtual Bool_t IsaPointer() const
UInt_t GetBaseCheckSum()
TMemberStreamer * GetStreamer() const
Return the local streamer object.
void SetCountVersion(Int_t count)
Buffer base class used for serializing objects.
Definition: TBuffer.h:42
TClass * GetClassPointer() const
Returns a pointer to the TClass of this element.
virtual void SetTypeName(const char *name)
Int_t GetSTLtype() const
void SetReadFunc(ROOT::TSchemaRule::ReadFuncPtr_t val)
Basic string class.
Definition: TString.h:137
Int_t GetArrayLength() const
int Int_t
Definition: RtypesCore.h:41
bool Bool_t
Definition: RtypesCore.h:59
const Bool_t kFALSE
Definition: Rtypes.h:92
TClass * fBaseClass
checksum of the base class (used during memberwise streaming)
ClassStreamerFunc_t fStreamerFunc
pointer to new base class if renamed
virtual void SetArrayDim(Int_t dim)
Set number of array dimensions.
virtual ~TStreamerElement()
TStreamerElement dtor.
Int_t GetBaseVersion()
Int_t GetArrayDim() const
void GetSequenceType(TString &type) const
Fill type with the string representation of sequence information including &#39;cached&#39;,&#39;repeat&#39;,&#39;write&#39; or &#39;nodelete&#39;.
virtual void SetMaxIndex(Int_t dim, Int_t max)
set maximum index for array with dimension dim
virtual Bool_t HasCounter() const
virtual Bool_t CannotSplit() const
Returns true if the element cannot be split, false otherwise.
virtual Int_t GetExecID() const
Returns the TExec id for the EXEC instruction in the comment field of a TRef data member...
#define ClassDef(name, id)
Definition: Rtypes.h:254
virtual Bool_t IsaPointer() const
The TNamed class is the base class for all named ROOT classes.
Definition: TNamed.h:33
const char * GetCountClass() const
virtual void SetNewClass(TClass *cl)
void SetSTLtype(Int_t t)
void SetCtype(Int_t t)
UInt_t & fBaseCheckSum
Int_t GetTObjectOffset() const
void SetCountClass(const char *clname)
Method or function calling interface.
Definition: TMethodCall.h:41
virtual void ls(Option_t *option="") const
Print the content of the element.
TVirtualStreamerInfo * GetBaseStreamerInfo() const
void SetCountVersion(Int_t count)
void(* ClassConvStreamerFunc_t)(TBuffer &, void *, const TClass *)
Definition: Rtypes.h:68
virtual void Update(const TClass *oldClass, TClass *newClass)
function called by the TClass constructor when replacing an emulated class by the real class ...
Int_t GetCounter() const
Double_t fXmax
Minimum of data member if a range is specified [xmin,xmax,nbits].
virtual void SetStreamer(TMemberStreamer *streamer)
set pointer to Streamer function for this element
TClass * GetClassPointer() const
Returns a pointer to the TClass of this element.
void SetErrorMessage(const char *msg)
Int_t fTObjectOffset
element offset in class
virtual const char * GetInclude() const
SVector< double, 2 > v
Definition: Dict.h:5
void SetCountClass(const char *clname)
ULong_t GetMethod() const
TClass * GetNewBaseClass()
void SetBaseCheckSum(UInt_t cs)
Int_t GetCtype() const
Double_t GetXmin() const
Int_t GetMaxIndex(Int_t i) const
unsigned int UInt_t
Definition: RtypesCore.h:42
TStreamerElement()
Default ctor.
ROOT::TSchemaRule::ReadRawFuncPtr_t fReadRawFunc
The ROOT global object gROOT contains a list of all defined classes.
Definition: TClass.h:81
void SetCountName(const char *name)
virtual void Update(const TClass *, TClass *)
function called by the TClass constructor when replacing an emulated class by the real class ...
virtual void Init(TVirtualStreamerInfo *obj=0)
Initliaze the element.
Wrapper around an object and giving indirect access to its content even if the object is not of a cla...
Double_t GetXmax() const
void(* ReadFuncPtr_t)(char *, TVirtualObject *)
Definition: TSchemaRule.h:42
double Double_t
Definition: RtypesCore.h:55
virtual Bool_t IsaPointer() const
virtual const char * GetFullName() const
Return element name including dimensions, if any Note that this function stores the name into a stati...
Double_t GetFactor() const
int type
Definition: TGX11.cxx:120
virtual Int_t GetSize() const
Returns size of this element in bytes.
void SetNewBaseClass(TClass *cl)
unsigned long ULong_t
Definition: RtypesCore.h:51
virtual Bool_t HasCounter() const
virtual Bool_t IsBase() const
Return kTRUE if the element represent a base class.
const char * GetCountName() const
virtual void SetType(Int_t dtype)
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 void SetTObjectOffset(Int_t tobjoffset)
TClass * fNewClass
pointer to class of object
TMemberStreamer * fStreamer
new element class when reading
virtual Bool_t IsaPointer() const
Int_t GetNewType() const
virtual void Update(const TClass *, TClass *)
function called by the TClass constructor when replacing an emulated class by the real class ...
const char * GetTypeName() const
const char * GetCountName() const
TClass * GetNewClass() const
virtual void SetNewType(Int_t dtype)
you should not use this method at all Int_t Int_t Double_t Double_t Double_t Int_t Double_t Double_t Double_t Double_t b
Definition: TRolke.cxx:630
Double_t fFactor
Maximum of data member if a range is specified [xmin,xmax,nbits].
virtual ULong_t GetMethod() const
void SetBaseVersion(Int_t v)
TString fErrorMsg
Pointer to the current StreamerInfo for the baset class.
virtual Bool_t HasCounter() const
const char * GetErrorMessage() const
TStreamerBasicType * fCounter
Abstract Interface class describing Streamer information for one class.
const Bool_t kTRUE
Definition: Rtypes.h:91
Int_t GetOffset() const
Int_t GetType() const
TClass * fNewBaseClass
pointer to base class
TVirtualStreamerInfo * fStreamerInfo
Pointer to a wrapper around a custom convertion streamer member function.
void SetReadRawFunc(ROOT::TSchemaRule::ReadRawFuncPtr_t val)
TStreamerElement & operator=(const TStreamerElement &)
char name[80]
Definition: TGX11.cxx:109
Int_t GetCountVersion() const
TStreamerBasicType * fCounter
TString fTypeName
new element type when reading
TClass * GetClass() const
void SetCountName(const char *name)
const char * Data() const
Definition: TString.h:349