ROOT  6.06/08
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;
35 
36 class TStreamerElement : public TNamed {
37 
38 private:
39  TStreamerElement(const TStreamerElement &); // Not implemented
40  TStreamerElement&operator=(const TStreamerElement&); // Not implemented
41 
42 protected:
43  Int_t fType; //element type
44  Int_t fSize; //sizeof element
45  Int_t fArrayLength; //cumulative size of all array dims
46  Int_t fArrayDim; //number of array dimensions
47  Int_t fMaxIndex[5]; //Maximum array index for array dimension "dim"
48  Int_t fOffset; //!element offset in class
49  Int_t fTObjectOffset; //!base offset for TObject if the element inherits from it
50  Int_t fNewType; //!new element type when reading
51  TString fTypeName; //Data type name of data member
52  TClass *fClassObject; //!pointer to class of object
53  TClass *fNewClass; //!new element class when reading
54  TMemberStreamer *fStreamer; //!pointer to element Streamer
55  Double_t fXmin; //!Minimum of data member if a range is specified [xmin,xmax,nbits]
56  Double_t fXmax; //!Maximum of data member if a range is specified [xmin,xmax,nbits]
57  Double_t fFactor; //!Conversion factor if a range is specified fFactor = (1<<nbits/(xmax-xmin)
58 
59 public:
60 
61  enum ESTLtype {
77  };
78  // TStreamerElement status bits
79  enum {
80  kHasRange = BIT(6),
81  kCache = BIT(9),
82  kRepeat = BIT(10),
83  kRead = BIT(11),
84  kWrite = BIT(12),
87  };
88 
90  TStreamerElement(const char *name, const char *title, Int_t offset, Int_t dtype, const char *typeName);
91  virtual ~TStreamerElement();
92  virtual Bool_t CannotSplit() const;
93  Int_t GetArrayDim() const {return fArrayDim;}
94  Int_t GetArrayLength() const {return fArrayLength;}
95  virtual TClass *GetClassPointer() const;
96  TClass *GetClass() const {return GetClassPointer();}
97  virtual Int_t GetExecID() const;
98  virtual const char *GetFullName() const;
99  virtual const char *GetInclude() const {return "";}
100  Int_t GetMaxIndex(Int_t i) const {return fMaxIndex[i];}
101  virtual ULong_t GetMethod() const {return ULong_t(fStreamer);}
102  TMemberStreamer *GetStreamer() const;
103  virtual Int_t GetSize() const;
104  Int_t GetNewType() const {return fNewType;}
105  TClass* GetNewClass() const { return fNewClass; }
106  Int_t GetType() const {return fType;}
107  Int_t GetOffset() const {return fOffset;}
108  void GetSequenceType(TString &type) const;
110  const char *GetTypeName() const {return fTypeName.Data();}
111  const char *GetTypeNameBasic() const;
112  Double_t GetFactor() const {return fFactor;}
113  Double_t GetXmin() const {return fXmin;}
114  Double_t GetXmax() const {return fXmax;}
115  virtual void Init(TObject *obj=0);
116  virtual Bool_t IsaPointer() const {return kFALSE;}
117  virtual Bool_t HasCounter() const {return kFALSE;}
118  virtual Bool_t IsOldFormat(const char *newTypeName);
119  virtual Bool_t IsBase() const;
120  virtual Bool_t IsTransient() const;
121  virtual void ls(Option_t *option="") const;
122  virtual void SetArrayDim(Int_t dim);
123  virtual void SetMaxIndex(Int_t dim, Int_t max);
124  virtual void SetOffset(Int_t offset) {fOffset=offset;}
125  virtual void SetTObjectOffset(Int_t tobjoffset) {fTObjectOffset=tobjoffset;}
126  virtual void SetStreamer(TMemberStreamer *streamer);
127  virtual void SetSize(Int_t dsize) {fSize = dsize;}
128  virtual void SetNewType(Int_t dtype) {fNewType = dtype;}
129  virtual void SetNewClass( TClass* cl ) { fNewClass= cl; }
130  virtual void SetType(Int_t dtype) {fType = dtype;}
131  virtual void SetTypeName(const char *name) {fTypeName = name; fClassObject = (TClass*)-1; }
132  virtual void Update(const TClass *oldClass, TClass *newClass);
133 
134  ClassDef(TStreamerElement,4) //Base class for one element (data member) to be Streamed
135 };
136 
137 //________________________________________________________________________
139 
140 private:
141  TStreamerBase(const TStreamerBase &); // Not implemented
142  TStreamerBase&operator=(const TStreamerBase&); // Not implemented
143 
144 protected:
145  Int_t fBaseVersion; //version number of the base class (used during memberwise streaming)
146  UInt_t &fBaseCheckSum; //!checksum of the base class (used during memberwise streaming)
147  TClass *fBaseClass; //!pointer to base class
148  TClass *fNewBaseClass; //!pointer to new base class if renamed
149  ClassStreamerFunc_t fStreamerFunc; //!Pointer to a wrapper around a custom streamer member function.
150  ClassConvStreamerFunc_t fConvStreamerFunc; //!Pointer to a wrapper around a custom convertion streamer member function.
151  TVirtualStreamerInfo *fStreamerInfo; //!Pointer to the current StreamerInfo for the baset class.
152  TString fErrorMsg; //!Error message in case of checksum/version mismatch.
153 
154  void InitStreaming();
155 
156 public:
157 
158  TStreamerBase();
159  TStreamerBase(const char *name, const char *title, Int_t offset);
160  virtual ~TStreamerBase();
161  Int_t GetBaseVersion() {return fBaseVersion;}
162  UInt_t GetBaseCheckSum() {return fBaseCheckSum;}
163  virtual TClass *GetClassPointer() const;
164  const char *GetErrorMessage() const { return fErrorMsg; }
165  const char *GetInclude() const;
166  TClass *GetNewBaseClass() { return fNewBaseClass; }
167  ULong_t GetMethod() const {return 0;}
168  Int_t GetSize() const;
169  TVirtualStreamerInfo *GetBaseStreamerInfo () const { return fStreamerInfo; }
170  virtual void Init(TObject *obj=0);
171  Bool_t IsBase() const;
172  virtual void ls(Option_t *option="") const;
173  Int_t ReadBuffer (TBuffer &b, char *pointer);
174  void SetNewBaseClass( TClass* cl ) { fNewBaseClass = cl; InitStreaming(); }
175  void SetBaseVersion(Int_t v) {fBaseVersion = v;}
176  void SetBaseCheckSum(UInt_t cs) {fBaseCheckSum = cs;}
177  void SetErrorMessage(const char *msg) { fErrorMsg = msg; }
178  virtual void Update(const TClass *oldClass, TClass *newClass);
179  Int_t WriteBuffer(TBuffer &b, char *pointer);
180 
181  ClassDef(TStreamerBase,3) //Streamer element of type base class
182 };
183 
184 //________________________________________________________________________
186 
187 private:
188  TStreamerBasicPointer(const TStreamerBasicPointer &); // Not implemented
189  TStreamerBasicPointer&operator=(const TStreamerBasicPointer&); // Not implemented
190 
191 protected:
192  Int_t fCountVersion; //version number of the class with the counter
193  TString fCountName; //name of data member holding the array count
194  TString fCountClass; //name of the class with the counter
195  TStreamerBasicType *fCounter; //!pointer to basic type counter
196 
197 public:
198 
200  TStreamerBasicPointer(const char *name, const char *title, Int_t offset, Int_t dtype,
201  const char *countName, const char *countClass, Int_t version, const char *typeName);
202  virtual ~TStreamerBasicPointer();
203  TClass *GetClassPointer() const { return 0; }
204  const char *GetCountClass() const {return fCountClass.Data();}
205  const char *GetCountName() const {return fCountName.Data();}
206  Int_t GetCountVersion() const {return fCountVersion;}
207  ULong_t GetMethod() const;
208  Int_t GetSize() const;
209  virtual void Init(TObject *obj=0);
210  virtual Bool_t HasCounter() const {return fCounter!=0; }
211  virtual Bool_t IsaPointer() const {return kTRUE; }
212  void SetArrayDim(Int_t dim);
213  void SetCountClass(const char *clname) {fCountClass = clname; }
214  void SetCountName(const char *name) {fCountName = name; }
215  void SetCountVersion(Int_t count) {fCountVersion = count;}
216  virtual void Update(const TClass * /* oldClass */, TClass * /*newClass*/ ) {}
217 
218  ClassDef(TStreamerBasicPointer,2) //Streamer element for a pointer to a basic type
219 };
220 
221 //________________________________________________________________________
223 
224 private:
225  TStreamerLoop(const TStreamerLoop&); // Not implemented
226  TStreamerLoop&operator=(const TStreamerLoop&); // Not implemented
227 
228 protected:
229  Int_t fCountVersion; //version number of the class with the counter
230  TString fCountName; //name of data member holding the array count
231  TString fCountClass; //name of the class with the counter
232  TStreamerBasicType *fCounter; //!pointer to basic type counter
233 
234 public:
235 
236  TStreamerLoop();
237  TStreamerLoop(const char *name, const char *title, Int_t offset, const char *countName, const char *countClass, Int_t version, const char *typeName);
238  virtual ~TStreamerLoop();
239  const char *GetCountClass() const {return fCountClass.Data();}
240  const char *GetCountName() const {return fCountName.Data();}
241  Int_t GetCountVersion() const {return fCountVersion;}
242  const char *GetInclude() const;
243  ULong_t GetMethod() const;
244  Int_t GetSize() const;
245  virtual void Init(TObject *obj=0);
246  virtual Bool_t IsaPointer() const {return kTRUE; }
247  virtual Bool_t HasCounter() const {return fCounter!=0; }
248  void SetCountClass(const char *clname) {fCountClass = clname; }
249  void SetCountName(const char *name) {fCountName = name; }
250  void SetCountVersion(Int_t count) {fCountVersion = count;}
251 
252  ClassDef(TStreamerLoop,2) //Streamer element for a pointer to an array of objects
253 };
254 
255 //________________________________________________________________________
257 
258 private:
259  TStreamerBasicType(const TStreamerBasicType&); // Not implemented
260  TStreamerBasicType&operator=(const TStreamerBasicType&); // Not implemented
261 
262 protected:
263  Int_t fCounter; //!value of data member when referenced by an array
264 
265 public:
266 
268  TStreamerBasicType(const char *name, const char *title, Int_t offset, Int_t dtype, const char *typeName);
269  virtual ~TStreamerBasicType();
270  TClass *GetClassPointer() const { return 0; }
271  Int_t GetCounter() const {return fCounter;}
272  ULong_t GetMethod() const;
273  Int_t GetSize() const;
274  virtual void Update(const TClass * /* oldClass */, TClass * /* newClass */) {}
275 
276  ClassDef(TStreamerBasicType,2) //Streamer element for a basic type
277 };
278 
279 //________________________________________________________________________
281 
282 private:
283  TStreamerObject(const TStreamerObject&); // Not implemented
284  TStreamerObject&operator=(const TStreamerObject&); // Not implemented
285 
286 public:
287 
288  TStreamerObject();
289  TStreamerObject(const char *name, const char *title, Int_t offset, const char *typeName);
290  virtual ~TStreamerObject();
291  const char *GetInclude() const;
292  Int_t GetSize() const;
293  virtual void Init(TObject *obj=0);
294 
295  ClassDef(TStreamerObject,2) //Streamer element of type object
296 };
297 
298 //________________________________________________________________________
300 
301 private:
302  TStreamerObjectAny(const TStreamerObjectAny&); // Not implemented
303  TStreamerObjectAny&operator=(const TStreamerObjectAny&); // Not implemented
304 
305 public:
306 
308  TStreamerObjectAny(const char *name, const char *title, Int_t offset, const char *typeName);
309  virtual ~TStreamerObjectAny();
310  const char *GetInclude() const;
311  Int_t GetSize() const;
312  virtual void Init(TObject *obj=0);
313 
314  ClassDef(TStreamerObjectAny,2) //Streamer element of type object other than TObject
315 };
316 
317 //________________________________________________________________________
319 
320 private:
321  TStreamerObjectPointer(const TStreamerObjectPointer&); // Not implemented
322  TStreamerObjectPointer&operator=(const TStreamerObjectPointer&); // Not implemented
323 
324 public:
325 
327  TStreamerObjectPointer(const char *name, const char *title, Int_t offset, const char *typeName);
328  virtual ~TStreamerObjectPointer();
329  const char *GetInclude() const;
330  Int_t GetSize() const;
331  virtual void Init(TObject *obj=0);
332  virtual Bool_t IsaPointer() const {return kTRUE;}
333  virtual void SetArrayDim(Int_t dim);
334 
335  ClassDef(TStreamerObjectPointer,2) //Streamer element of type pointer to a TObject
336 };
337 
338 //________________________________________________________________________
340 
341 private:
342  TStreamerObjectAnyPointer(const TStreamerObjectAnyPointer&); // Not implemented
344 
345 public:
346 
348  TStreamerObjectAnyPointer(const char *name, const char *title, Int_t offset, const char *typeName);
349  virtual ~TStreamerObjectAnyPointer();
350  const char *GetInclude() const;
351  Int_t GetSize() const;
352  virtual void Init(TObject *obj=0);
353  virtual Bool_t IsaPointer() const {return kTRUE;}
354  virtual void SetArrayDim(Int_t dim);
355 
356  ClassDef(TStreamerObjectAnyPointer,1) //Streamer element of type pointer to a non TObject
357 };
358 
359 //________________________________________________________________________
361 
362 private:
363  TStreamerString(const TStreamerString&); // Not implemented
364  TStreamerString&operator=(const TStreamerString&); // Not implemented
365 
366 public:
367 
368  TStreamerString();
369  TStreamerString(const char *name, const char *title, Int_t offset);
370  virtual ~TStreamerString();
371  const char *GetInclude() const;
372  Int_t GetSize() const;
373 
374  ClassDef(TStreamerString,2) //Streamer element of type TString
375 };
376 
377 //________________________________________________________________________
379 
380  enum {
381  kWarned = BIT(21)
382  };
383 
384 private:
385  TStreamerSTL(const TStreamerSTL&); // Not implemented
386  TStreamerSTL&operator=(const TStreamerSTL&); // Not implemented
387 
388 protected:
389  Int_t fSTLtype; //type of STL vector
390  Int_t fCtype; //STL contained type
391 
392 public:
393 
394  TStreamerSTL();
395  TStreamerSTL(const char *name, const char *title, Int_t offset,
396  const char *typeName, const char *trueType, Bool_t dmPointer);
397  TStreamerSTL(const char *name, const char *title, Int_t offset,
398  const char *typeName, const TVirtualCollectionProxy &proxy , Bool_t dmPointer);
399  virtual ~TStreamerSTL();
400  Bool_t CannotSplit() const;
401  Bool_t IsaPointer() const;
402  Bool_t IsBase() const;
403  Int_t GetSTLtype() const {return fSTLtype;}
404  Int_t GetCtype() const {return fCtype;}
405  const char *GetInclude() const;
406  Int_t GetSize() const;
407  virtual void ls(Option_t *option="") const;
408  void SetSTLtype(Int_t t) {fSTLtype = t;}
409  void SetCtype(Int_t t) {fCtype = t;}
410  virtual void SetStreamer(TMemberStreamer *streamer);
411 
412  ClassDef(TStreamerSTL,3) //Streamer element of type STL container
413 };
414 
415 //________________________________________________________________________
417 
418 private:
419  TStreamerSTLstring(const TStreamerSTLstring&); // Not implemented
420  TStreamerSTLstring&operator=(const TStreamerSTLstring&); // Not implemented
421 
422 public:
423 
425  TStreamerSTLstring(const char *name, const char *title, Int_t offset,
426  const char *typeName, Bool_t dmPointer);
427  virtual ~TStreamerSTLstring();
428  const char *GetInclude() const;
429  Int_t GetSize() const;
430 
431  ClassDef(TStreamerSTLstring,2) //Streamer element of type C++ string
432 };
433 
434 class TVirtualObject;
435 class TBuffer;
436 
437 #include "TSchemaRule.h"
438 
439 //________________________________________________________________________
441 private:
442  TStreamerArtificial(const TStreamerArtificial&); // Not implemented
443  TStreamerArtificial&operator=(const TStreamerArtificial&); // Not implemented
444 
445 protected:
448 
449 public:
450 
451  // TStreamerArtificial() : fReadFunc(0),fReadRawFunc(0) {}
452 
453  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) {}
454 
455  void SetReadFunc( ROOT::TSchemaRule::ReadFuncPtr_t val ) { fReadFunc = val; };
456  void SetReadRawFunc( ROOT::TSchemaRule::ReadRawFuncPtr_t val ) { fReadRawFunc = val; };
457 
458  ROOT::TSchemaRule::ReadFuncPtr_t GetReadFunc();
459  ROOT::TSchemaRule::ReadRawFuncPtr_t GetReadRawFunc();
460 
461  ClassDef(TStreamerArtificial, 0); // StreamerElement injected by a TSchemaRule. Transient only to preverse forward compatibility.
462 };
463 
464 #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:146
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:40
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 void Init(TObject *obj=0)
Initliaze the element.
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 ...
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
static Vc_ALWAYS_INLINE int_v max(const int_v &x, const int_v &y)
Definition: vector.h:440
TMemberStreamer * fStreamer
new element class when reading
#define name(a, b)
Definition: linkTestLib0.cpp:5
virtual Bool_t IsaPointer() const
Mother of all ROOT objects.
Definition: TObject.h:58
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)
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 &)
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