Logo ROOT   6.19/01
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 
28 class TMethodCall;
29 class TClass;
30 class TStreamerBasicType;
32 
33 class TStreamerElement : public TNamed {
34 
35 private:
36  TStreamerElement(const TStreamerElement &); // Not implemented
37  TStreamerElement&operator=(const TStreamerElement&); // Not implemented
38 
39 protected:
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 
56 public:
57 
58  enum ESTLtype {
74  };
75  // TStreamerElement status bits
76  enum EStatusBits {
77  kHasRange = BIT(6),
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);}
115  TMemberStreamer *GetStreamer() const;
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 
153 private:
154  TStreamerBase(const TStreamerBase &); // Not implemented
155  TStreamerBase&operator=(const TStreamerBase&); // Not implemented
156 
157 protected:
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();
168 
169 public:
170 
171  TStreamerBase();
172  TStreamerBase(const char *name, const char *title, Int_t offset);
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  Bool_t IsBase() const;
185  virtual void ls(Option_t *option="") const;
186  Int_t ReadBuffer (TBuffer &b, char *pointer);
190  void SetErrorMessage(const char *msg) { fErrorMsg = msg; }
191  virtual void Update(const TClass *oldClass, TClass *newClass);
192  Int_t WriteBuffer(TBuffer &b, char *pointer);
193 
194  ClassDef(TStreamerBase,3) //Streamer element of type base class
195 };
196 
197 //________________________________________________________________________
199 
200 private:
201  TStreamerBasicPointer(const TStreamerBasicPointer &); // Not implemented
202  TStreamerBasicPointer&operator=(const TStreamerBasicPointer&); // Not implemented
203 
204 protected:
205  Int_t fCountVersion; //version number of the class with the counter
206  TString fCountName; //name of data member holding the array count
207  TString fCountClass; //name of the class with the counter
208  TStreamerBasicType *fCounter; //!pointer to basic type counter
209 
210 public:
211 
213  TStreamerBasicPointer(const char *name, const char *title, Int_t offset, Int_t dtype,
214  const char *countName, const char *countClass, Int_t version, const char *typeName);
215  virtual ~TStreamerBasicPointer();
216  TClass *GetClassPointer() const { return 0; }
217  const char *GetCountClass() const {return fCountClass.Data();}
218  const char *GetCountName() const {return fCountName.Data();}
220  ULong_t GetMethod() const;
221  Int_t GetSize() const;
222  virtual void Init(TVirtualStreamerInfo *obj=0);
223  virtual Bool_t HasCounter() const {return fCounter!=0; }
224  virtual Bool_t IsaPointer() const {return kTRUE; }
225  void SetArrayDim(Int_t dim);
226  void SetCountClass(const char *clname) {fCountClass = clname; }
227  void SetCountName(const char *name) {fCountName = name; }
228  void SetCountVersion(Int_t count) {fCountVersion = count;}
229  virtual void Update(const TClass * /* oldClass */, TClass * /*newClass*/ ) {}
230 
231  ClassDef(TStreamerBasicPointer,2) //Streamer element for a pointer to a basic type
232 };
233 
234 //________________________________________________________________________
236 
237 private:
238  TStreamerLoop(const TStreamerLoop&); // Not implemented
239  TStreamerLoop&operator=(const TStreamerLoop&); // Not implemented
240 
241 protected:
242  Int_t fCountVersion; //version number of the class with the counter
243  TString fCountName; //name of data member holding the array count
244  TString fCountClass; //name of the class with the counter
245  TStreamerBasicType *fCounter; //!pointer to basic type counter
246 
247 public:
248 
249  TStreamerLoop();
250  TStreamerLoop(const char *name, const char *title, Int_t offset, const char *countName, const char *countClass, Int_t version, const char *typeName);
251  virtual ~TStreamerLoop();
252  const char *GetCountClass() const {return fCountClass.Data();}
253  const char *GetCountName() const {return fCountName.Data();}
255  const char *GetInclude() const;
256  ULong_t GetMethod() const;
257  Int_t GetSize() const;
258  virtual void Init(TVirtualStreamerInfo *obj=0);
259  virtual Bool_t IsaPointer() const {return kTRUE; }
260  virtual Bool_t HasCounter() const {return fCounter!=0; }
261  void SetCountClass(const char *clname) {fCountClass = clname; }
262  void SetCountName(const char *name) {fCountName = name; }
263  void SetCountVersion(Int_t count) {fCountVersion = count;}
264 
265  ClassDef(TStreamerLoop,2) //Streamer element for a pointer to an array of objects
266 };
267 
268 //________________________________________________________________________
270 
271 private:
272  TStreamerBasicType(const TStreamerBasicType&); // Not implemented
273  TStreamerBasicType&operator=(const TStreamerBasicType&); // Not implemented
274 
275 protected:
276  Int_t fCounter; //!value of data member when referenced by an array
277 
278 public:
279 
281  TStreamerBasicType(const char *name, const char *title, Int_t offset, Int_t dtype, const char *typeName);
282  virtual ~TStreamerBasicType();
283  TClass *GetClassPointer() const { return 0; }
284  Int_t GetCounter() const {return fCounter;}
285  ULong_t GetMethod() const;
286  Int_t GetSize() const;
287  virtual void Update(const TClass * /* oldClass */, TClass * /* newClass */) {}
288 
289  ClassDef(TStreamerBasicType,2) //Streamer element for a basic type
290 };
291 
292 //________________________________________________________________________
294 
295 private:
296  TStreamerObject(const TStreamerObject&); // Not implemented
297  TStreamerObject&operator=(const TStreamerObject&); // Not implemented
298 
299 public:
300 
301  TStreamerObject();
302  TStreamerObject(const char *name, const char *title, Int_t offset, const char *typeName);
303  virtual ~TStreamerObject();
304  const char *GetInclude() const;
305  Int_t GetSize() const;
306  virtual void Init(TVirtualStreamerInfo *obj=0);
307 
308  ClassDef(TStreamerObject,2) //Streamer element of type object
309 };
310 
311 //________________________________________________________________________
313 
314 private:
315  TStreamerObjectAny(const TStreamerObjectAny&); // Not implemented
316  TStreamerObjectAny&operator=(const TStreamerObjectAny&); // Not implemented
317 
318 public:
319 
321  TStreamerObjectAny(const char *name, const char *title, Int_t offset, const char *typeName);
322  virtual ~TStreamerObjectAny();
323  const char *GetInclude() const;
324  Int_t GetSize() const;
325  virtual void Init(TVirtualStreamerInfo *obj=0);
326 
327  ClassDef(TStreamerObjectAny,2) //Streamer element of type object other than TObject
328 };
329 
330 //________________________________________________________________________
332 
333 private:
334  TStreamerObjectPointer(const TStreamerObjectPointer&); // Not implemented
335  TStreamerObjectPointer&operator=(const TStreamerObjectPointer&); // Not implemented
336 
337 public:
338 
340  TStreamerObjectPointer(const char *name, const char *title, Int_t offset, const char *typeName);
341  virtual ~TStreamerObjectPointer();
342  const char *GetInclude() const;
343  Int_t GetSize() const;
344  virtual void Init(TVirtualStreamerInfo *obj=0);
345  virtual Bool_t IsaPointer() const {return kTRUE;}
346  virtual void SetArrayDim(Int_t dim);
347 
348  ClassDef(TStreamerObjectPointer,2) //Streamer element of type pointer to a TObject
349 };
350 
351 //________________________________________________________________________
353 
354 private:
355  TStreamerObjectAnyPointer(const TStreamerObjectAnyPointer&); // Not implemented
357 
358 public:
359 
361  TStreamerObjectAnyPointer(const char *name, const char *title, Int_t offset, const char *typeName);
362  virtual ~TStreamerObjectAnyPointer();
363  const char *GetInclude() const;
364  Int_t GetSize() const;
365  virtual void Init(TVirtualStreamerInfo *obj=0);
366  virtual Bool_t IsaPointer() const {return kTRUE;}
367  virtual void SetArrayDim(Int_t dim);
368 
369  ClassDef(TStreamerObjectAnyPointer,1) //Streamer element of type pointer to a non TObject
370 };
371 
372 //________________________________________________________________________
374 
375 private:
376  TStreamerString(const TStreamerString&); // Not implemented
377  TStreamerString&operator=(const TStreamerString&); // Not implemented
378 
379 public:
380 
381  TStreamerString();
382  TStreamerString(const char *name, const char *title, Int_t offset);
383  virtual ~TStreamerString();
384  const char *GetInclude() const;
385  Int_t GetSize() const;
386 
387  ClassDef(TStreamerString,2) //Streamer element of type TString
388 };
389 
390 //________________________________________________________________________
392 
393 private:
394  TStreamerSTL(const TStreamerSTL&); // Not implemented
395  TStreamerSTL&operator=(const TStreamerSTL&); // Not implemented
396 
397 protected:
398  Int_t fSTLtype; //type of STL vector
399  Int_t fCtype; //STL contained type
400 
401 public:
402 
403  TStreamerSTL();
404  TStreamerSTL(const char *name, const char *title, Int_t offset,
405  const char *typeName, const char *trueType, Bool_t dmPointer);
406  TStreamerSTL(const char *name, const char *title, Int_t offset,
407  const char *typeName, const TVirtualCollectionProxy &proxy , Bool_t dmPointer);
408  virtual ~TStreamerSTL();
409  Bool_t CannotSplit() const;
410  Bool_t IsaPointer() const;
411  Bool_t IsBase() const;
412  Int_t GetSTLtype() const {return fSTLtype;}
413  Int_t GetCtype() const {return fCtype;}
414  const char *GetInclude() const;
415  Int_t GetSize() const;
416  virtual void ls(Option_t *option="") const;
417  void SetSTLtype(Int_t t) {fSTLtype = t;}
418  void SetCtype(Int_t t) {fCtype = t;}
419  virtual void SetStreamer(TMemberStreamer *streamer);
420 
421  ClassDef(TStreamerSTL,3) //Streamer element of type STL container
422 };
423 
424 //________________________________________________________________________
426 
427 private:
428  TStreamerSTLstring(const TStreamerSTLstring&); // Not implemented
429  TStreamerSTLstring&operator=(const TStreamerSTLstring&); // Not implemented
430 
431 public:
432 
434  TStreamerSTLstring(const char *name, const char *title, Int_t offset,
435  const char *typeName, Bool_t dmPointer);
436  virtual ~TStreamerSTLstring();
437  const char *GetInclude() const;
438  Int_t GetSize() const;
439 
440  ClassDef(TStreamerSTLstring,2) //Streamer element of type C++ string
441 };
442 
443 class TVirtualObject;
444 class TBuffer;
445 
446 #include "TSchemaRule.h"
447 
448 //________________________________________________________________________
450 private:
451  TStreamerArtificial(const TStreamerArtificial&); // Not implemented
452  TStreamerArtificial&operator=(const TStreamerArtificial&); // Not implemented
453 
454 protected:
457 
458 public:
459 
460  // TStreamerArtificial() : fReadFunc(0),fReadRawFunc(0) {}
461 
462  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) {}
463 
466 
469 
470  ClassDef(TStreamerArtificial, 0); // StreamerElement injected by a TSchemaRule. Transient only to preverse forward compatibility.
471 };
472 
473 #endif
virtual Bool_t IsTransient() const
Return kTRUE if the element represent an entity that is not written to the disk (transient members...
TStreamerBasicType()
value of data member when referenced by an array
virtual void Init(TVirtualStreamerInfo *obj=0)
Setup the element.
virtual ~TStreamerBase()
TStreamerBase dtor.
ESTLtype
Conversion factor if a range is specified fFactor = (1<<nbits/(xmax-xmin)
ROOT::TSchemaRule::ReadFuncPtr_t fReadFunc
TStreamerSTL()
Default ctor.
void(* ReadRawFuncPtr_t)(char *, TBuffer &)
Definition: TSchemaRule.h:43
const char * GetInclude() const
Return the proper include for this element.
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:70
virtual void SetOffset(Int_t offset)
virtual Bool_t IsaPointer() const
Int_t GetSize() const
Returns size of this element in bytes.
Int_t GetCountVersion() const
ClassConvStreamerFunc_t fConvStreamerFunc
Pointer to a wrapper around a custom streamer member function.
Int_t GetSize() const
Returns size of baseclass in bytes.
TStreamerBase & operator=(const TStreamerBase &)
TStreamerArtificial(const char *name, const char *title, Int_t offset, Int_t dtype, const char *typeName)
Int_t GetSize() const
Returns size of basicpointer in bytes.
Int_t GetSize() const
Returns size of object class in bytes.
virtual void SetSize(Int_t dsize)
virtual void ls(Option_t *option="") const
Print the content of the element.
const char Option_t
Definition: RtypesCore.h:62
Double_t fXmin
pointer to element Streamer
virtual void Init(TVirtualStreamerInfo *obj=0)
Setup the element.
virtual TClass * GetClassPointer() const
Returns a pointer to the TClass of this element.
TStreamerObjectPointer & operator=(const TStreamerObjectPointer &)
#define BIT(n)
Definition: Rtypes.h:83
virtual Bool_t IsaPointer() const
virtual void SetArrayDim(Int_t dim)
Set number of array dimensions.
UInt_t GetBaseCheckSum()
TMemberStreamer * GetStreamer() const
Return the local streamer object.
void SetCountVersion(Int_t count)
TStreamerObject & operator=(const TStreamerObject &)
virtual ~TStreamerObjectAny()
TStreamerObjectAny dtor.
Buffer base class used for serializing objects.
Definition: TBuffer.h:42
TStreamerSTLstring()
Default ctor.
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)
const char * GetInclude() const
Return the proper include for this element.
TStreamerString & operator=(const TStreamerString &)
Basic string class.
Definition: TString.h:131
Int_t GetArrayLength() const
int Int_t
Definition: RtypesCore.h:41
bool Bool_t
Definition: RtypesCore.h:59
TStreamerBasicType & operator=(const TStreamerBasicType &)
TClass * fBaseClass
checksum of the base class (used during memberwise streaming)
virtual ~TStreamerObjectAnyPointer()
TStreamerObjectAnyPointer dtor.
virtual void Init(TVirtualStreamerInfo *obj=0)
Setup the element.
ClassStreamerFunc_t fStreamerFunc
pointer to new base class if renamed
const char * GetInclude() const
Return the proper include for this element.
virtual void SetArrayDim(Int_t dim)
Set number of array dimensions.
virtual ~TStreamerElement()
TStreamerElement dtor.
TStreamerString()
Default ctor.
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;.
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.
virtual Bool_t HasCounter() const
Bool_t IsaPointer() const
Return true if the data member is a pointer.
const char * GetInclude() const
Return the proper include for this element.
TStreamerLoop & operator=(const TStreamerLoop &)
virtual Bool_t CannotSplit() const
Returns true if the element cannot be split, false otherwise.
virtual void Init(TVirtualStreamerInfo *obj=0)
Setup the element.
Int_t GetSize() const
Returns size of objectpointer in bytes.
virtual void Init(TVirtualStreamerInfo *obj=0)
Setup the element.
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:326
const char * GetInclude() const
Return the proper include for this element.
virtual Bool_t IsaPointer() const
TStreamerArtificial & operator=(const TStreamerArtificial &)
TStreamerObject()
Default ctor.
The TNamed class is the base class for all named ROOT classes.
Definition: TNamed.h:29
const char * GetCountClass() const
virtual void SetNewClass(TClass *cl)
TStreamerBasicPointer & operator=(const TStreamerBasicPointer &)
void SetSTLtype(Int_t t)
Int_t GetSize() const
Returns size of anyclass in bytes.
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:37
virtual ~TStreamerObject()
TStreamerObject dtor.
virtual void ls(Option_t *option="") const
Print the content of the element.
TVirtualStreamerInfo * GetBaseStreamerInfo() const
virtual ~TStreamerString()
TStreamerString dtor.
void SetCountVersion(Int_t count)
virtual ~TStreamerBasicPointer()
TStreamerBasicPointer dtor.
void(* ClassConvStreamerFunc_t)(TBuffer &, void *, const TClass *)
Definition: Rtypes.h:71
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
Bool_t IsBase() const
Return kTRUE if the element represent a base class.
TClass * GetClassPointer() const
Returns a pointer to the TClass of this element.
TStreamerObjectAnyPointer()
Default ctor.
void SetErrorMessage(const char *msg)
Int_t fTObjectOffset
element offset in class
virtual const char * GetInclude() const
virtual ~TStreamerSTLstring()
TStreamerSTLstring dtor.
TStreamerObjectPointer()
Default ctor.
const char * GetInclude() const
Return the proper include for this element.
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
void SetCountClass(const char *clname)
ULong_t GetMethod() const
TClass * GetNewBaseClass()
void SetBaseCheckSum(UInt_t cs)
Int_t GetCtype() const
Double_t GetXmin() const
TStreamerLoop()
pointer to basic type counter
Int_t WriteBuffer(TBuffer &b, char *pointer)
Write the base class into the buffer.
Int_t GetMaxIndex(Int_t i) const
unsigned int UInt_t
Definition: RtypesCore.h:42
TStreamerElement()
Default ctor.
ULong_t GetMethod() const
return offset of counter
virtual void Init(TVirtualStreamerInfo *obj=0)
Setup the element.
ROOT::TSchemaRule::ReadRawFuncPtr_t fReadRawFunc
TClass instances represent classes, structs and namespaces in the ROOT type system.
Definition: TClass.h:75
void SetCountName(const char *name)
virtual ~TStreamerObjectPointer()
TStreamerObjectPointer dtor.
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.
Int_t GetSize() const
Returns size of objectpointer in bytes.
const Bool_t kFALSE
Definition: RtypesCore.h:88
Wrapper around an object and giving indirect access to its content even if the object is not of a cl...
TStreamerObjectAny & operator=(const TStreamerObjectAny &)
Double_t GetXmax() 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. ...
double Double_t
Definition: RtypesCore.h:55
virtual Bool_t IsaPointer() const
EStatusBits
Definition: TObject.h:57
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
ULong_t GetMethod() const
return address of counter
virtual Int_t GetSize() const
Returns size of this element in bytes.
Bool_t IsBase() const
Return kTRUE if the element represent a base class.
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)
TStreamerSTL & operator=(const TStreamerSTL &)
Int_t GetSize() const
Returns size of anyclass in bytes.
const char * GetInclude() const
Return the proper include for this element.
TClass * fNewClass
pointer to class of object
TMemberStreamer * fStreamer
new element class when reading
Int_t GetSize() const
Returns size of counter in bytes.
virtual void ls(Option_t *option="") const
Print the content of the element.
virtual Bool_t IsaPointer() const
Int_t GetNewType() const
Int_t GetSize() const
Returns size of anyclass in bytes.
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 SetArrayDim(Int_t dim)
Set number of array dimensions.
const char * GetTypeName() const
const char * GetCountName() const
const char * GetInclude() const
Return the proper include for this element.
TClass * GetNewClass() const
Int_t GetSize() const
Returns size of STL container in bytes.
virtual void SetNewType(Int_t dtype)
ROOT::TSchemaRule::ReadFuncPtr_t GetReadFunc()
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
Int_t ReadBuffer(TBuffer &b, char *pointer)
Read the content of the buffer.
Double_t fFactor
Maximum of data member if a range is specified [xmin,xmax,nbits].
virtual void Init(TVirtualStreamerInfo *obj=0)
Setup the element.
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
ROOT::TSchemaRule::ReadRawFuncPtr_t GetReadRawFunc()
virtual TClass * GetClassPointer() const
Returns a pointer to the TClass of this element.
const char * GetErrorMessage() const
TStreamerBasicType * fCounter
Abstract Interface class describing Streamer information for one class.
Int_t GetOffset() const
virtual ~TStreamerSTL()
TStreamerSTL dtor.
const Bool_t kTRUE
Definition: RtypesCore.h:87
Int_t GetType() const
TClass * fNewBaseClass
pointer to base class
TVirtualStreamerInfo * fStreamerInfo
Pointer to a wrapper around a custom convertion streamer member function.
const char * GetInclude() const
Return the proper include for this element.
void SetReadRawFunc(ROOT::TSchemaRule::ReadRawFuncPtr_t val)
TStreamerElement & operator=(const TStreamerElement &)
void InitStreaming()
Error message in case of checksum/version mismatch.
char name[80]
Definition: TGX11.cxx:109
Int_t GetCountVersion() const
Bool_t CannotSplit() const
We can not split STL&#39;s which are inside a variable size array.
TStreamerObjectAny()
Default ctor.
TStreamerBasicType * fCounter
TString fTypeName
new element type when reading
TClass * GetClass() const
void SetCountName(const char *name)
ULong_t GetMethod() const
return address of counter
const char * Data() const
Definition: TString.h:364