Logo ROOT   6.12/06
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  };
85 
87  // This bit duplicates TObject::kInvalidObject. As the semantic of kDoNotDelete is a persistent,
88  // we can not change its value without breaking forward compatibility.
89  // Furthermore, TObject::kInvalidObject and its semantic is not (and should not be)
90  // used in TStreamerElement
92 
93  // This bit duplicates TObject::kCannotPick. As the semantic of kHasRange is a persistent,
94  // we can not change its value without breaking forward compatibility.
95  // Furthermore, TObject::kCannotPick and its semantic is not (and should not be)
96  // used in TStreamerElement
98  };
99 
100 
102  TStreamerElement(const char *name, const char *title, Int_t offset, Int_t dtype, const char *typeName);
103  virtual ~TStreamerElement();
104  virtual Bool_t CannotSplit() const;
105  Int_t GetArrayDim() const {return fArrayDim;}
107  virtual TClass *GetClassPointer() const;
108  TClass *GetClass() const {return GetClassPointer();}
109  virtual Int_t GetExecID() const;
110  virtual const char *GetFullName() const;
111  virtual const char *GetInclude() const {return "";}
112  Int_t GetMaxIndex(Int_t i) const {return fMaxIndex[i];}
113  virtual ULong_t GetMethod() const {return ULong_t(fStreamer);}
114  TMemberStreamer *GetStreamer() const;
115  virtual Int_t GetSize() const;
116  Int_t GetNewType() const {return fNewType;}
117  TClass* GetNewClass() const { return fNewClass; }
118  Int_t GetType() const {return fType;}
119  Int_t GetOffset() const {return fOffset;}
120  void GetSequenceType(TString &type) const;
122  const char *GetTypeName() const {return fTypeName.Data();}
123  const char *GetTypeNameBasic() const;
124  Double_t GetFactor() const {return fFactor;}
125  Double_t GetXmin() const {return fXmin;}
126  Double_t GetXmax() const {return fXmax;}
127  virtual void Init(TVirtualStreamerInfo *obj=0);
128  virtual Bool_t IsaPointer() const {return kFALSE;}
129  virtual Bool_t HasCounter() const {return kFALSE;}
130  virtual Bool_t IsOldFormat(const char *newTypeName);
131  virtual Bool_t IsBase() const;
132  virtual Bool_t IsTransient() const;
133  virtual void ls(Option_t *option="") const;
134  virtual void SetArrayDim(Int_t dim);
135  virtual void SetMaxIndex(Int_t dim, Int_t max);
136  virtual void SetOffset(Int_t offset) {fOffset=offset;}
137  virtual void SetTObjectOffset(Int_t tobjoffset) {fTObjectOffset=tobjoffset;}
138  virtual void SetStreamer(TMemberStreamer *streamer);
139  virtual void SetSize(Int_t dsize) {fSize = dsize;}
140  virtual void SetNewType(Int_t dtype) {fNewType = dtype;}
141  virtual void SetNewClass( TClass* cl ) { fNewClass= cl; }
142  virtual void SetType(Int_t dtype) {fType = dtype;}
143  virtual void SetTypeName(const char *name) {fTypeName = name; fClassObject = (TClass*)-1; }
144  virtual void Update(const TClass *oldClass, TClass *newClass);
145 
146  ClassDef(TStreamerElement,4) //Base class for one element (data member) to be Streamed
147 };
148 
149 //________________________________________________________________________
151 
152 private:
153  TStreamerBase(const TStreamerBase &); // Not implemented
154  TStreamerBase&operator=(const TStreamerBase&); // Not implemented
155 
156 protected:
157  Int_t fBaseVersion; //version number of the base class (used during memberwise streaming)
158  UInt_t &fBaseCheckSum; //!checksum of the base class (used during memberwise streaming)
159  TClass *fBaseClass; //!pointer to base class
160  TClass *fNewBaseClass; //!pointer to new base class if renamed
161  ClassStreamerFunc_t fStreamerFunc; //!Pointer to a wrapper around a custom streamer member function.
162  ClassConvStreamerFunc_t fConvStreamerFunc; //!Pointer to a wrapper around a custom convertion streamer member function.
163  TVirtualStreamerInfo *fStreamerInfo; //!Pointer to the current StreamerInfo for the baset class.
164  TString fErrorMsg; //!Error message in case of checksum/version mismatch.
165 
166  void InitStreaming();
167 
168 public:
169 
170  TStreamerBase();
171  TStreamerBase(const char *name, const char *title, Int_t offset);
172  virtual ~TStreamerBase();
175  virtual TClass *GetClassPointer() const;
176  const char *GetErrorMessage() const { return fErrorMsg; }
177  const char *GetInclude() const;
179  ULong_t GetMethod() const {return 0;}
180  Int_t GetSize() const;
182  virtual void Init(TVirtualStreamerInfo *obj=0);
183  Bool_t IsBase() const;
184  virtual void ls(Option_t *option="") const;
185  Int_t ReadBuffer (TBuffer &b, char *pointer);
189  void SetErrorMessage(const char *msg) { fErrorMsg = msg; }
190  virtual void Update(const TClass *oldClass, TClass *newClass);
191  Int_t WriteBuffer(TBuffer &b, char *pointer);
192 
193  ClassDef(TStreamerBase,3) //Streamer element of type base class
194 };
195 
196 //________________________________________________________________________
198 
199 private:
200  TStreamerBasicPointer(const TStreamerBasicPointer &); // Not implemented
201  TStreamerBasicPointer&operator=(const TStreamerBasicPointer&); // Not implemented
202 
203 protected:
204  Int_t fCountVersion; //version number of the class with the counter
205  TString fCountName; //name of data member holding the array count
206  TString fCountClass; //name of the class with the counter
207  TStreamerBasicType *fCounter; //!pointer to basic type counter
208 
209 public:
210 
212  TStreamerBasicPointer(const char *name, const char *title, Int_t offset, Int_t dtype,
213  const char *countName, const char *countClass, Int_t version, const char *typeName);
214  virtual ~TStreamerBasicPointer();
215  TClass *GetClassPointer() const { return 0; }
216  const char *GetCountClass() const {return fCountClass.Data();}
217  const char *GetCountName() const {return fCountName.Data();}
219  ULong_t GetMethod() const;
220  Int_t GetSize() const;
221  virtual void Init(TVirtualStreamerInfo *obj=0);
222  virtual Bool_t HasCounter() const {return fCounter!=0; }
223  virtual Bool_t IsaPointer() const {return kTRUE; }
224  void SetArrayDim(Int_t dim);
225  void SetCountClass(const char *clname) {fCountClass = clname; }
226  void SetCountName(const char *name) {fCountName = name; }
227  void SetCountVersion(Int_t count) {fCountVersion = count;}
228  virtual void Update(const TClass * /* oldClass */, TClass * /*newClass*/ ) {}
229 
230  ClassDef(TStreamerBasicPointer,2) //Streamer element for a pointer to a basic type
231 };
232 
233 //________________________________________________________________________
235 
236 private:
237  TStreamerLoop(const TStreamerLoop&); // Not implemented
238  TStreamerLoop&operator=(const TStreamerLoop&); // Not implemented
239 
240 protected:
241  Int_t fCountVersion; //version number of the class with the counter
242  TString fCountName; //name of data member holding the array count
243  TString fCountClass; //name of the class with the counter
244  TStreamerBasicType *fCounter; //!pointer to basic type counter
245 
246 public:
247 
248  TStreamerLoop();
249  TStreamerLoop(const char *name, const char *title, Int_t offset, const char *countName, const char *countClass, Int_t version, const char *typeName);
250  virtual ~TStreamerLoop();
251  const char *GetCountClass() const {return fCountClass.Data();}
252  const char *GetCountName() const {return fCountName.Data();}
254  const char *GetInclude() const;
255  ULong_t GetMethod() const;
256  Int_t GetSize() const;
257  virtual void Init(TVirtualStreamerInfo *obj=0);
258  virtual Bool_t IsaPointer() const {return kTRUE; }
259  virtual Bool_t HasCounter() const {return fCounter!=0; }
260  void SetCountClass(const char *clname) {fCountClass = clname; }
261  void SetCountName(const char *name) {fCountName = name; }
262  void SetCountVersion(Int_t count) {fCountVersion = count;}
263 
264  ClassDef(TStreamerLoop,2) //Streamer element for a pointer to an array of objects
265 };
266 
267 //________________________________________________________________________
269 
270 private:
271  TStreamerBasicType(const TStreamerBasicType&); // Not implemented
272  TStreamerBasicType&operator=(const TStreamerBasicType&); // Not implemented
273 
274 protected:
275  Int_t fCounter; //!value of data member when referenced by an array
276 
277 public:
278 
280  TStreamerBasicType(const char *name, const char *title, Int_t offset, Int_t dtype, const char *typeName);
281  virtual ~TStreamerBasicType();
282  TClass *GetClassPointer() const { return 0; }
283  Int_t GetCounter() const {return fCounter;}
284  ULong_t GetMethod() const;
285  Int_t GetSize() const;
286  virtual void Update(const TClass * /* oldClass */, TClass * /* newClass */) {}
287 
288  ClassDef(TStreamerBasicType,2) //Streamer element for a basic type
289 };
290 
291 //________________________________________________________________________
293 
294 private:
295  TStreamerObject(const TStreamerObject&); // Not implemented
296  TStreamerObject&operator=(const TStreamerObject&); // Not implemented
297 
298 public:
299 
300  TStreamerObject();
301  TStreamerObject(const char *name, const char *title, Int_t offset, const char *typeName);
302  virtual ~TStreamerObject();
303  const char *GetInclude() const;
304  Int_t GetSize() const;
305  virtual void Init(TVirtualStreamerInfo *obj=0);
306 
307  ClassDef(TStreamerObject,2) //Streamer element of type object
308 };
309 
310 //________________________________________________________________________
312 
313 private:
314  TStreamerObjectAny(const TStreamerObjectAny&); // Not implemented
315  TStreamerObjectAny&operator=(const TStreamerObjectAny&); // Not implemented
316 
317 public:
318 
320  TStreamerObjectAny(const char *name, const char *title, Int_t offset, const char *typeName);
321  virtual ~TStreamerObjectAny();
322  const char *GetInclude() const;
323  Int_t GetSize() const;
324  virtual void Init(TVirtualStreamerInfo *obj=0);
325 
326  ClassDef(TStreamerObjectAny,2) //Streamer element of type object other than TObject
327 };
328 
329 //________________________________________________________________________
331 
332 private:
333  TStreamerObjectPointer(const TStreamerObjectPointer&); // Not implemented
334  TStreamerObjectPointer&operator=(const TStreamerObjectPointer&); // Not implemented
335 
336 public:
337 
339  TStreamerObjectPointer(const char *name, const char *title, Int_t offset, const char *typeName);
340  virtual ~TStreamerObjectPointer();
341  const char *GetInclude() const;
342  Int_t GetSize() const;
343  virtual void Init(TVirtualStreamerInfo *obj=0);
344  virtual Bool_t IsaPointer() const {return kTRUE;}
345  virtual void SetArrayDim(Int_t dim);
346 
347  ClassDef(TStreamerObjectPointer,2) //Streamer element of type pointer to a TObject
348 };
349 
350 //________________________________________________________________________
352 
353 private:
354  TStreamerObjectAnyPointer(const TStreamerObjectAnyPointer&); // Not implemented
356 
357 public:
358 
360  TStreamerObjectAnyPointer(const char *name, const char *title, Int_t offset, const char *typeName);
361  virtual ~TStreamerObjectAnyPointer();
362  const char *GetInclude() const;
363  Int_t GetSize() const;
364  virtual void Init(TVirtualStreamerInfo *obj=0);
365  virtual Bool_t IsaPointer() const {return kTRUE;}
366  virtual void SetArrayDim(Int_t dim);
367 
368  ClassDef(TStreamerObjectAnyPointer,1) //Streamer element of type pointer to a non TObject
369 };
370 
371 //________________________________________________________________________
373 
374 private:
375  TStreamerString(const TStreamerString&); // Not implemented
376  TStreamerString&operator=(const TStreamerString&); // Not implemented
377 
378 public:
379 
380  TStreamerString();
381  TStreamerString(const char *name, const char *title, Int_t offset);
382  virtual ~TStreamerString();
383  const char *GetInclude() const;
384  Int_t GetSize() const;
385 
386  ClassDef(TStreamerString,2) //Streamer element of type TString
387 };
388 
389 //________________________________________________________________________
391 
392  enum EStatusBits {
393  kWarned = BIT(21)
394  };
395 
396 private:
397  TStreamerSTL(const TStreamerSTL&); // Not implemented
398  TStreamerSTL&operator=(const TStreamerSTL&); // Not implemented
399 
400 protected:
401  Int_t fSTLtype; //type of STL vector
402  Int_t fCtype; //STL contained type
403 
404 public:
405 
406  TStreamerSTL();
407  TStreamerSTL(const char *name, const char *title, Int_t offset,
408  const char *typeName, const char *trueType, Bool_t dmPointer);
409  TStreamerSTL(const char *name, const char *title, Int_t offset,
410  const char *typeName, const TVirtualCollectionProxy &proxy , Bool_t dmPointer);
411  virtual ~TStreamerSTL();
412  Bool_t CannotSplit() const;
413  Bool_t IsaPointer() const;
414  Bool_t IsBase() const;
415  Int_t GetSTLtype() const {return fSTLtype;}
416  Int_t GetCtype() const {return fCtype;}
417  const char *GetInclude() const;
418  Int_t GetSize() const;
419  virtual void ls(Option_t *option="") const;
420  void SetSTLtype(Int_t t) {fSTLtype = t;}
421  void SetCtype(Int_t t) {fCtype = t;}
422  virtual void SetStreamer(TMemberStreamer *streamer);
423 
424  ClassDef(TStreamerSTL,3) //Streamer element of type STL container
425 };
426 
427 //________________________________________________________________________
429 
430 private:
431  TStreamerSTLstring(const TStreamerSTLstring&); // Not implemented
432  TStreamerSTLstring&operator=(const TStreamerSTLstring&); // Not implemented
433 
434 public:
435 
437  TStreamerSTLstring(const char *name, const char *title, Int_t offset,
438  const char *typeName, Bool_t dmPointer);
439  virtual ~TStreamerSTLstring();
440  const char *GetInclude() const;
441  Int_t GetSize() const;
442 
443  ClassDef(TStreamerSTLstring,2) //Streamer element of type C++ string
444 };
445 
446 class TVirtualObject;
447 class TBuffer;
448 
449 #include "TSchemaRule.h"
450 
451 //________________________________________________________________________
453 private:
454  TStreamerArtificial(const TStreamerArtificial&); // Not implemented
455  TStreamerArtificial&operator=(const TStreamerArtificial&); // Not implemented
456 
457 protected:
460 
461 public:
462 
463  // TStreamerArtificial() : fReadFunc(0),fReadRawFunc(0) {}
464 
465  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) {}
466 
469 
472 
473  ClassDef(TStreamerArtificial, 0); // StreamerElement injected by a TSchemaRule. Transient only to preverse forward compatibility.
474 };
475 
476 #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:65
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:78
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:40
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:125
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:320
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:66
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.
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
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
The ROOT global object gROOT contains a list of all defined classes.
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
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:345