ROOT  6.06/09
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();
163  virtual TClass *GetClassPointer() const;
164  const char *GetErrorMessage() const { return fErrorMsg; }
165  const char *GetInclude() const;
167  ULong_t GetMethod() const {return 0;}
168  Int_t GetSize() const;
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();}
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();}
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 
460 
461  ClassDef(TStreamerArtificial, 0); // StreamerElement injected by a TSchemaRule. Transient only to preverse forward compatibility.
462 };
463 
464 #endif
Int_t GetTObjectOffset() const
const char * GetInclude() const
Return the proper include for this element.
TStreamerBasicType()
value of data member when referenced by an array
virtual ~TStreamerBase()
TStreamerBase dtor.
ESTLtype
Conversion factor if a range is specified fFactor = (1<
ROOT::TSchemaRule::ReadFuncPtr_t fReadFunc
void(* ReadRawFuncPtr_t)(char *, TBuffer &)
Definition: TSchemaRule.h:43
Bool_t CannotSplit() const
We can not split STL's which are inside a variable size array.
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)
Int_t GetOffset() const
Int_t GetCountVersion() const
const char * GetTypeName() const
ClassConvStreamerFunc_t fConvStreamerFunc
Pointer to a wrapper around a custom streamer member function.
TStreamerBase & operator=(const TStreamerBase &)
TStreamerArtificial(const char *name, const char *title, Int_t offset, Int_t dtype, const char *typeName)
Double_t GetXmin() const
virtual void SetSize(Int_t dsize)
const char Option_t
Definition: RtypesCore.h:62
virtual Bool_t CannotSplit() const
Returns true if the element cannot be split, false otherwise.
Bool_t IsaPointer() const
Return true if the data member is a pointer.
Double_t fXmin
pointer to element Streamer
virtual void Init(TObject *obj=0)
Setup the element.
TStreamerObjectPointer & operator=(const TStreamerObjectPointer &)
#define BIT(n)
Definition: Rtypes.h:120
virtual void SetArrayDim(Int_t dim)
Set number of array dimensions.
UInt_t GetBaseCheckSum()
const char * GetCountClass() const
void SetCountVersion(Int_t count)
TStreamerObject & operator=(const TStreamerObject &)
virtual ~TStreamerObjectAny()
TStreamerObjectAny dtor.
Buffer base class used for serializing objects.
Definition: TBuffer.h:40
virtual void SetTypeName(const char *name)
Int_t GetSize() const
Returns size of objectpointer in bytes.
TClass * GetNewClass() const
void SetReadFunc(ROOT::TSchemaRule::ReadFuncPtr_t val)
TStreamerString & operator=(const TStreamerString &)
virtual Bool_t IsTransient() const
Return kTRUE if the element represent an entity that is not written to the disk (transient members...
virtual Int_t GetSize() const
Returns size of this element in bytes.
Basic string class.
Definition: TString.h:137
int Int_t
Definition: RtypesCore.h:41
bool Bool_t
Definition: RtypesCore.h:59
const Bool_t kFALSE
Definition: Rtypes.h:92
TStreamerBasicType & operator=(const TStreamerBasicType &)
TClass * fBaseClass
checksum of the base class (used during memberwise streaming)
const char * GetInclude() const
Return the proper include for this element.
virtual ~TStreamerObjectAnyPointer()
TStreamerObjectAnyPointer dtor.
ClassStreamerFunc_t fStreamerFunc
pointer to new base class if renamed
virtual Bool_t IsBase() const
Return kTRUE if the element represent a base class.
virtual void SetArrayDim(Int_t dim)
Set number of array dimensions.
virtual ~TStreamerElement()
TStreamerElement dtor.
Int_t GetBaseVersion()
ULong_t GetMethod() const
return address of counter
ULong_t GetMethod() const
TStreamerArtificial(const TStreamerArtificial &)
TStreamerObjectAnyPointer & operator=(const TStreamerObjectAnyPointer &)
virtual void SetMaxIndex(Int_t dim, Int_t max)
set maximum index for array with dimension dim
virtual ~TStreamerBasicType()
TStreamerBasicType dtor.
Int_t GetSize() const
Returns size of anyclass in bytes.
virtual Bool_t IsaPointer() const
Double_t GetFactor() const
TStreamerLoop & operator=(const TStreamerLoop &)
const char * Data() const
Definition: TString.h:349
ULong_t GetMethod() const
return offset of counter
virtual Bool_t IsaPointer() const
#define ClassDef(name, id)
Definition: Rtypes.h:254
virtual void Init(TObject *obj=0)
Initliaze the element.
Int_t GetSize() const
Returns size of anyclass in bytes.
TStreamerArtificial & operator=(const TStreamerArtificial &)
const char * GetCountClass() const
virtual Bool_t IsaPointer() const
The TNamed class is the base class for all named ROOT classes.
Definition: TNamed.h:33
TClass * GetClassPointer() const
Returns a pointer to the TClass of this element.
const char * GetInclude() const
Return the proper include for this element.
const char * GetCountName() const
Int_t GetSize() const
Returns size of counter in bytes.
virtual void Init(TObject *obj=0)
Setup the element.
virtual void SetNewClass(TClass *cl)
virtual Bool_t IsaPointer() const
TStreamerBasicPointer & operator=(const TStreamerBasicPointer &)
const char * GetInclude() const
Return the proper include for this element.
void SetSTLtype(Int_t t)
Int_t GetSize() const
Returns size of baseclass in bytes.
void SetCtype(Int_t t)
UInt_t & fBaseCheckSum
const char * GetInclude() const
Return the proper include for this element.
void SetCountClass(const char *clname)
Method or function calling interface.
Definition: TMethodCall.h:41
virtual ~TStreamerObject()
TStreamerObject dtor.
virtual ~TStreamerString()
TStreamerString dtor.
void SetCountVersion(Int_t count)
virtual const char * GetInclude() const
virtual void Init(TObject *obj=0)
Setup the element.
Int_t GetCountVersion() const
virtual ~TStreamerBasicPointer()
TStreamerBasicPointer dtor.
void(* ClassConvStreamerFunc_t)(TBuffer &, void *, const TClass *)
Definition: Rtypes.h:68
Int_t GetArrayDim() const
virtual void Update(const TClass *oldClass, TClass *newClass)
function called by the TClass constructor when replacing an emulated class by the real class ...
Double_t fXmax
Minimum of data member if a range is specified [xmin,xmax,nbits].
virtual void ls(Option_t *option="") const
Print the content of the element.
virtual void SetStreamer(TMemberStreamer *streamer)
set pointer to Streamer function for this element
void SetErrorMessage(const char *msg)
Int_t fTObjectOffset
element offset in class
virtual void ls(Option_t *option="") const
Print the content of the element.
virtual ~TStreamerSTLstring()
TStreamerSTLstring dtor.
virtual Bool_t HasCounter() const
Int_t GetSize() const
Returns size of basicpointer in bytes.
Int_t GetCtype() const
SVector< double, 2 > v
Definition: Dict.h:5
virtual void Update(const TClass *oldClass, TClass *newClass)
Function called by the TClass constructor when replacing an emulated class by the real class...
TStreamerBasicPointer()
pointer to basic type counter
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.
void SetCountClass(const char *clname)
Int_t GetMaxIndex(Int_t i) const
TClass * GetNewBaseClass()
void SetBaseCheckSum(UInt_t cs)
TStreamerLoop()
pointer to basic type counter
Int_t GetSTLtype() const
Int_t WriteBuffer(TBuffer &b, char *pointer)
Write the base class into the buffer.
unsigned int UInt_t
Definition: RtypesCore.h:42
virtual Int_t GetExecID() const
Returns the TExec id for the EXEC instruction in the comment field of a TRef data member...
Int_t GetCounter() const
virtual Bool_t IsaPointer() const
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 ~TStreamerObjectPointer()
TStreamerObjectPointer dtor.
Int_t GetSize() const
Returns size of objectpointer in bytes.
virtual void Update(const TClass *, TClass *)
function called by the TClass constructor when replacing an emulated class by the real class ...
virtual void Init(TObject *obj=0)
Setup the element.
Wrapper around an object and giving indirect access to its content even if the object is not of a cla...
Int_t GetSize() const
Returns size of this element in bytes.
TStreamerObjectAny & operator=(const TStreamerObjectAny &)
TClass * GetClassPointer() const
Returns a pointer to the TClass of this element.
const char * GetCountName() const
void(* ReadFuncPtr_t)(char *, TVirtualObject *)
Definition: TSchemaRule.h:42
virtual ~TStreamerLoop()
TStreamerLoop dtor.
virtual void SetStreamer(TMemberStreamer *streamer)
Set pointer to Streamer function for this element NOTE: we do not take ownership. ...
ULong_t GetMethod() const
return address of counter
double Double_t
Definition: RtypesCore.h:55
virtual TClass * GetClassPointer() const
Returns a pointer to the TClass of this element.
virtual TClass * GetClassPointer() const
Returns a pointer to the TClass of this element.
const char * GetInclude() const
Return the proper include for this element.
ClassDef(TStreamerArtificial, 0)
int type
Definition: TGX11.cxx:120
void SetNewBaseClass(TClass *cl)
unsigned long ULong_t
Definition: RtypesCore.h:51
virtual void ls(Option_t *option="") const
Print the content of the element.
virtual void Init(TObject *obj=0)
Setup the element.
virtual void SetType(Int_t dtype)
Int_t GetNewType() 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...
Int_t GetSize() const
Returns size of object class in bytes.
virtual void SetTObjectOffset(Int_t tobjoffset)
TStreamerSTL & operator=(const TStreamerSTL &)
TMemberStreamer * GetStreamer() const
Return the local streamer object.
Bool_t IsBase() const
Return kTRUE if the element represent a base class.
Int_t GetSize() const
Returns size of STL container in bytes.
TClass * fNewClass
pointer to class of object
const char * GetErrorMessage() const
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
TClass * GetClass() const
Mother of all ROOT objects.
Definition: TObject.h:58
const char * GetInclude() const
Return the proper include for this element.
virtual void Init(TObject *obj=0)
Setup the element.
Bool_t IsBase() const
Return kTRUE if the element represent a base class.
virtual ULong_t GetMethod() const
virtual void SetArrayDim(Int_t dim)
Set number of array dimensions.
TStreamerSTLstring & operator=(const TStreamerSTLstring &)
virtual void Update(const TClass *, TClass *)
function called by the TClass constructor when replacing an emulated class by the real class ...
void GetSequenceType(TString &type) const
Fill type with the string representation of sequence information including 'cached','repeat','write' or 'nodelete'.
void SetArrayDim(Int_t dim)
Set number of array dimensions.
const char * GetInclude() const
Return the proper include for this element.
virtual void SetNewType(Int_t dtype)
ROOT::TSchemaRule::ReadFuncPtr_t GetReadFunc()
virtual Bool_t HasCounter() const
Int_t ReadBuffer(TBuffer &b, char *pointer)
Read the content of the buffer.
Int_t GetType() const
TVirtualStreamerInfo * GetBaseStreamerInfo() const
Double_t fFactor
Maximum of data member if a range is specified [xmin,xmax,nbits].
void SetBaseVersion(Int_t v)
TString fErrorMsg
Pointer to the current StreamerInfo for the baset class.
ROOT::TSchemaRule::ReadRawFuncPtr_t GetReadRawFunc()
virtual const char * GetFullName() const
Return element name including dimensions, if any Note that this function stores the name into a stati...
virtual void Init(TObject *obj=0)
Setup the element.
TStreamerBasicType * fCounter
Abstract Interface class describing Streamer information for one class.
const Bool_t kTRUE
Definition: Rtypes.h:91
virtual ~TStreamerSTL()
TStreamerSTL dtor.
TObject * obj
Int_t GetSize() const
Returns size of anyclass in bytes.
TClass * fNewBaseClass
pointer to base class
TVirtualStreamerInfo * fStreamerInfo
Pointer to a wrapper around a custom convertion streamer member function.
Double_t GetXmax() const
void SetReadRawFunc(ROOT::TSchemaRule::ReadRawFuncPtr_t val)
TStreamerElement & operator=(const TStreamerElement &)
void InitStreaming()
Error message in case of checksum/version mismatch.
virtual Bool_t HasCounter() const
TStreamerBasicType * fCounter
TString fTypeName
new element type when reading
Int_t GetArrayLength() const
void SetCountName(const char *name)
const char * GetInclude() const
Return the proper include for this element.