ROOT  6.07/01
Reference Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
TStreamerElement.h
Go to the documentation of this file.
1 // @(#)root/meta:$Id: e0eac11e63ad37390c9467c97c5c6849c4ab7d39 $
2 // Author: Rene Brun 12/10/2000
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 
12 #ifndef ROOT_TStreamerElement
13 #define ROOT_TStreamerElement
14 
15 
16 //////////////////////////////////////////////////////////////////////////
17 // //
18 // TStreamerElement //
19 // //
20 // Describe one element (data member) to be Streamed //
21 // //
22 //////////////////////////////////////////////////////////////////////////
23 
24 #ifndef ROOT_TNamed
25 #include "TNamed.h"
26 #endif
27 
28 #ifndef ROOT_ESTLType
29 #include "ESTLType.h"
30 #endif
31 
32 class TMethodCall;
33 class TClass;
34 class TStreamerBasicType;
36 
37 class TStreamerElement : public TNamed {
38 
39 private:
40  TStreamerElement(const TStreamerElement &); // Not implemented
41  TStreamerElement&operator=(const TStreamerElement&); // Not implemented
42 
43 protected:
44  Int_t fType; //element type
45  Int_t fSize; //sizeof element
46  Int_t fArrayLength; //cumulative size of all array dims
47  Int_t fArrayDim; //number of array dimensions
48  Int_t fMaxIndex[5]; //Maximum array index for array dimension "dim"
49  Int_t fOffset; //!element offset in class
50  Int_t fTObjectOffset; //!base offset for TObject if the element inherits from it
51  Int_t fNewType; //!new element type when reading
52  TString fTypeName; //Data type name of data member
53  TClass *fClassObject; //!pointer to class of object
54  TClass *fNewClass; //!new element class when reading
55  TMemberStreamer *fStreamer; //!pointer to element Streamer
56  Double_t fXmin; //!Minimum of data member if a range is specified [xmin,xmax,nbits]
57  Double_t fXmax; //!Maximum of data member if a range is specified [xmin,xmax,nbits]
58  Double_t fFactor; //!Conversion factor if a range is specified fFactor = (1<<nbits/(xmax-xmin)
59 
60 public:
61 
62  enum ESTLtype {
78  };
79  // TStreamerElement status bits
80  enum {
81  kHasRange = BIT(6),
82  kCache = BIT(9),
83  kRepeat = BIT(10),
84  kRead = BIT(11),
85  kWrite = BIT(12),
88  };
89 
91  TStreamerElement(const char *name, const char *title, Int_t offset, Int_t dtype, const char *typeName);
92  virtual ~TStreamerElement();
93  virtual Bool_t CannotSplit() const;
94  Int_t GetArrayDim() const {return fArrayDim;}
95  Int_t GetArrayLength() const {return fArrayLength;}
96  virtual TClass *GetClassPointer() const;
97  TClass *GetClass() const {return GetClassPointer();}
98  virtual Int_t GetExecID() const;
99  virtual const char *GetFullName() const;
100  virtual const char *GetInclude() const {return "";}
101  Int_t GetMaxIndex(Int_t i) const {return fMaxIndex[i];}
102  virtual ULong_t GetMethod() const {return ULong_t(fStreamer);}
103  TMemberStreamer *GetStreamer() const;
104  virtual Int_t GetSize() const;
105  Int_t GetNewType() const {return fNewType;}
106  TClass* GetNewClass() const { return fNewClass; }
107  Int_t GetType() const {return fType;}
108  Int_t GetOffset() const {return fOffset;}
109  void GetSequenceType(TString &type) const;
111  const char *GetTypeName() const {return fTypeName.Data();}
112  const char *GetTypeNameBasic() const;
113  Double_t GetFactor() const {return fFactor;}
114  Double_t GetXmin() const {return fXmin;}
115  Double_t GetXmax() const {return fXmax;}
116  virtual void Init(TObject *obj=0);
117  virtual Bool_t IsaPointer() const {return kFALSE;}
118  virtual Bool_t HasCounter() const {return kFALSE;}
119  virtual Bool_t IsOldFormat(const char *newTypeName);
120  virtual Bool_t IsBase() const;
121  virtual Bool_t IsTransient() const;
122  virtual void ls(Option_t *option="") const;
123  virtual void SetArrayDim(Int_t dim);
124  virtual void SetMaxIndex(Int_t dim, Int_t max);
126  virtual void SetTObjectOffset(Int_t tobjoffset) {fTObjectOffset=tobjoffset;}
127  virtual void SetStreamer(TMemberStreamer *streamer);
128  virtual void SetSize(Int_t dsize) {fSize = dsize;}
129  virtual void SetNewType(Int_t dtype) {fNewType = dtype;}
130  virtual void SetNewClass( TClass* cl ) { fNewClass= cl; }
131  virtual void SetType(Int_t dtype) {fType = dtype;}
132  virtual void SetTypeName(const char *name) {fTypeName = name; fClassObject = (TClass*)-1; }
133  virtual void Update(const TClass *oldClass, TClass *newClass);
134 
135  ClassDef(TStreamerElement,4) //Base class for one element (data member) to be Streamed
136 };
137 
138 //________________________________________________________________________
140 
141 private:
142  TStreamerBase(const TStreamerBase &); // Not implemented
143  TStreamerBase&operator=(const TStreamerBase&); // Not implemented
144 
145 protected:
146  Int_t fBaseVersion; //version number of the base class (used during memberwise streaming)
147  UInt_t &fBaseCheckSum; //!checksum of the base class (used during memberwise streaming)
148  TClass *fBaseClass; //!pointer to base class
149  TClass *fNewBaseClass; //!pointer to new base class if renamed
150  ClassStreamerFunc_t fStreamerFunc; //!Pointer to a wrapper around a custom streamer member function.
151  ClassConvStreamerFunc_t fConvStreamerFunc; //!Pointer to a wrapper around a custom convertion streamer member function.
152  TVirtualStreamerInfo *fStreamerInfo; //!Pointer to the current StreamerInfo for the baset class.
153  TString fErrorMsg; //!Error message in case of checksum/version mismatch.
154 
155  void InitStreaming();
156 
157 public:
158 
159  TStreamerBase();
160  TStreamerBase(const char *name, const char *title, Int_t offset);
161  virtual ~TStreamerBase();
164  virtual TClass *GetClassPointer() const;
165  const char *GetErrorMessage() const { return fErrorMsg; }
166  const char *GetInclude() const;
168  ULong_t GetMethod() const {return 0;}
169  Int_t GetSize() const;
171  virtual void Init(TObject *obj=0);
172  Bool_t IsBase() const;
173  virtual void ls(Option_t *option="") const;
174  Int_t ReadBuffer (TBuffer &b, char *pointer);
178  void SetErrorMessage(const char *msg) { fErrorMsg = msg; }
179  virtual void Update(const TClass *oldClass, TClass *newClass);
180  Int_t WriteBuffer(TBuffer &b, char *pointer);
181 
182  ClassDef(TStreamerBase,3) //Streamer element of type base class
183 };
184 
185 //________________________________________________________________________
187 
188 private:
189  TStreamerBasicPointer(const TStreamerBasicPointer &); // Not implemented
190  TStreamerBasicPointer&operator=(const TStreamerBasicPointer&); // Not implemented
191 
192 protected:
193  Int_t fCountVersion; //version number of the class with the counter
194  TString fCountName; //name of data member holding the array count
195  TString fCountClass; //name of the class with the counter
196  TStreamerBasicType *fCounter; //!pointer to basic type counter
197 
198 public:
199 
201  TStreamerBasicPointer(const char *name, const char *title, Int_t offset, Int_t dtype,
202  const char *countName, const char *countClass, Int_t version, const char *typeName);
203  virtual ~TStreamerBasicPointer();
204  TClass *GetClassPointer() const { return 0; }
205  const char *GetCountClass() const {return fCountClass.Data();}
206  const char *GetCountName() const {return fCountName.Data();}
208  ULong_t GetMethod() const;
209  Int_t GetSize() const;
210  virtual void Init(TObject *obj=0);
211  virtual Bool_t HasCounter() const {return fCounter!=0; }
212  virtual Bool_t IsaPointer() const {return kTRUE; }
213  void SetArrayDim(Int_t dim);
214  void SetCountClass(const char *clname) {fCountClass = clname; }
215  void SetCountName(const char *name) {fCountName = name; }
216  void SetCountVersion(Int_t count) {fCountVersion = count;}
217  virtual void Update(const TClass * /* oldClass */, TClass * /*newClass*/ ) {}
218 
219  ClassDef(TStreamerBasicPointer,2) //Streamer element for a pointer to a basic type
220 };
221 
222 //________________________________________________________________________
224 
225 private:
226  TStreamerLoop(const TStreamerLoop&); // Not implemented
227  TStreamerLoop&operator=(const TStreamerLoop&); // Not implemented
228 
229 protected:
230  Int_t fCountVersion; //version number of the class with the counter
231  TString fCountName; //name of data member holding the array count
232  TString fCountClass; //name of the class with the counter
233  TStreamerBasicType *fCounter; //!pointer to basic type counter
234 
235 public:
236 
237  TStreamerLoop();
238  TStreamerLoop(const char *name, const char *title, Int_t offset, const char *countName, const char *countClass, Int_t version, const char *typeName);
239  virtual ~TStreamerLoop();
240  const char *GetCountClass() const {return fCountClass.Data();}
241  const char *GetCountName() const {return fCountName.Data();}
243  const char *GetInclude() const;
244  ULong_t GetMethod() const;
245  Int_t GetSize() const;
246  virtual void Init(TObject *obj=0);
247  virtual Bool_t IsaPointer() const {return kTRUE; }
248  virtual Bool_t HasCounter() const {return fCounter!=0; }
249  void SetCountClass(const char *clname) {fCountClass = clname; }
250  void SetCountName(const char *name) {fCountName = name; }
251  void SetCountVersion(Int_t count) {fCountVersion = count;}
252 
253  ClassDef(TStreamerLoop,2) //Streamer element for a pointer to an array of objects
254 };
255 
256 //________________________________________________________________________
258 
259 private:
260  TStreamerBasicType(const TStreamerBasicType&); // Not implemented
261  TStreamerBasicType&operator=(const TStreamerBasicType&); // Not implemented
262 
263 protected:
264  Int_t fCounter; //!value of data member when referenced by an array
265 
266 public:
267 
269  TStreamerBasicType(const char *name, const char *title, Int_t offset, Int_t dtype, const char *typeName);
270  virtual ~TStreamerBasicType();
271  TClass *GetClassPointer() const { return 0; }
272  Int_t GetCounter() const {return fCounter;}
273  ULong_t GetMethod() const;
274  Int_t GetSize() const;
275  virtual void Update(const TClass * /* oldClass */, TClass * /* newClass */) {}
276 
277  ClassDef(TStreamerBasicType,2) //Streamer element for a basic type
278 };
279 
280 //________________________________________________________________________
282 
283 private:
284  TStreamerObject(const TStreamerObject&); // Not implemented
285  TStreamerObject&operator=(const TStreamerObject&); // Not implemented
286 
287 public:
288 
289  TStreamerObject();
290  TStreamerObject(const char *name, const char *title, Int_t offset, const char *typeName);
291  virtual ~TStreamerObject();
292  const char *GetInclude() const;
293  Int_t GetSize() const;
294  virtual void Init(TObject *obj=0);
295 
296  ClassDef(TStreamerObject,2) //Streamer element of type object
297 };
298 
299 //________________________________________________________________________
301 
302 private:
303  TStreamerObjectAny(const TStreamerObjectAny&); // Not implemented
304  TStreamerObjectAny&operator=(const TStreamerObjectAny&); // Not implemented
305 
306 public:
307 
309  TStreamerObjectAny(const char *name, const char *title, Int_t offset, const char *typeName);
310  virtual ~TStreamerObjectAny();
311  const char *GetInclude() const;
312  Int_t GetSize() const;
313  virtual void Init(TObject *obj=0);
314 
315  ClassDef(TStreamerObjectAny,2) //Streamer element of type object other than TObject
316 };
317 
318 //________________________________________________________________________
320 
321 private:
322  TStreamerObjectPointer(const TStreamerObjectPointer&); // Not implemented
323  TStreamerObjectPointer&operator=(const TStreamerObjectPointer&); // Not implemented
324 
325 public:
326 
328  TStreamerObjectPointer(const char *name, const char *title, Int_t offset, const char *typeName);
329  virtual ~TStreamerObjectPointer();
330  const char *GetInclude() const;
331  Int_t GetSize() const;
332  virtual void Init(TObject *obj=0);
333  virtual Bool_t IsaPointer() const {return kTRUE;}
334  virtual void SetArrayDim(Int_t dim);
335 
336  ClassDef(TStreamerObjectPointer,2) //Streamer element of type pointer to a TObject
337 };
338 
339 //________________________________________________________________________
341 
342 private:
343  TStreamerObjectAnyPointer(const TStreamerObjectAnyPointer&); // Not implemented
345 
346 public:
347 
349  TStreamerObjectAnyPointer(const char *name, const char *title, Int_t offset, const char *typeName);
350  virtual ~TStreamerObjectAnyPointer();
351  const char *GetInclude() const;
352  Int_t GetSize() const;
353  virtual void Init(TObject *obj=0);
354  virtual Bool_t IsaPointer() const {return kTRUE;}
355  virtual void SetArrayDim(Int_t dim);
356 
357  ClassDef(TStreamerObjectAnyPointer,1) //Streamer element of type pointer to a non TObject
358 };
359 
360 //________________________________________________________________________
362 
363 private:
364  TStreamerString(const TStreamerString&); // Not implemented
365  TStreamerString&operator=(const TStreamerString&); // Not implemented
366 
367 public:
368 
369  TStreamerString();
370  TStreamerString(const char *name, const char *title, Int_t offset);
371  virtual ~TStreamerString();
372  const char *GetInclude() const;
373  Int_t GetSize() const;
374 
375  ClassDef(TStreamerString,2) //Streamer element of type TString
376 };
377 
378 //________________________________________________________________________
380 
381  enum {
382  kWarned = BIT(21)
383  };
384 
385 private:
386  TStreamerSTL(const TStreamerSTL&); // Not implemented
387  TStreamerSTL&operator=(const TStreamerSTL&); // Not implemented
388 
389 protected:
390  Int_t fSTLtype; //type of STL vector
391  Int_t fCtype; //STL contained type
392 
393 public:
394 
395  TStreamerSTL();
396  TStreamerSTL(const char *name, const char *title, Int_t offset,
397  const char *typeName, const char *trueType, Bool_t dmPointer);
398  TStreamerSTL(const char *name, const char *title, Int_t offset,
399  const char *typeName, const TVirtualCollectionProxy &proxy , Bool_t dmPointer);
400  virtual ~TStreamerSTL();
401  Bool_t CannotSplit() const;
402  Bool_t IsaPointer() const;
403  Bool_t IsBase() const;
404  Int_t GetSTLtype() const {return fSTLtype;}
405  Int_t GetCtype() const {return fCtype;}
406  const char *GetInclude() const;
407  Int_t GetSize() const;
408  virtual void ls(Option_t *option="") const;
410  void SetCtype(Int_t t) {fCtype = t;}
411  virtual void SetStreamer(TMemberStreamer *streamer);
412 
413  ClassDef(TStreamerSTL,3) //Streamer element of type STL container
414 };
415 
416 //________________________________________________________________________
418 
419 private:
420  TStreamerSTLstring(const TStreamerSTLstring&); // Not implemented
421  TStreamerSTLstring&operator=(const TStreamerSTLstring&); // Not implemented
422 
423 public:
424 
426  TStreamerSTLstring(const char *name, const char *title, Int_t offset,
427  const char *typeName, Bool_t dmPointer);
428  virtual ~TStreamerSTLstring();
429  const char *GetInclude() const;
430  Int_t GetSize() const;
431 
432  ClassDef(TStreamerSTLstring,2) //Streamer element of type C++ string
433 };
434 
435 class TVirtualObject;
436 class TBuffer;
437 
438 #include "TSchemaRule.h"
439 
440 //________________________________________________________________________
442 private:
443  TStreamerArtificial(const TStreamerArtificial&); // Not implemented
444  TStreamerArtificial&operator=(const TStreamerArtificial&); // Not implemented
445 
446 protected:
449 
450 public:
451 
452  // TStreamerArtificial() : fReadFunc(0),fReadRawFunc(0) {}
453 
454  TStreamerArtificial(const char *name, const char *title, Int_t offset, Int_t dtype, const char *typeName) : TStreamerElement(name,title,offset,dtype,typeName), fReadFunc(0), fReadRawFunc(0) {}
455 
458 
461 
462  ClassDef(TStreamerArtificial, 0); // StreamerElement injected by a TSchemaRule. Transient only to preverse forward compatibility.
463 };
464 
465 #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<<nbits/(xmax-xmin)
ROOT::TSchemaRule::ReadFuncPtr_t fReadFunc
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
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.
tuple offset
Definition: tree.py:93
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:42
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 &)
void(* ReadFuncPtr_t)(char *, TVirtualObject *)
Definition: TSchemaRule.h:42
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.
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
TThread * t[5]
Definition: threadsh1.C:13
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...
TPaveLabel title(3, 27.1, 15, 28.7,"ROOT Environment and Tools")
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(* ReadRawFuncPtr_t)(char *, TBuffer &)
Definition: TSchemaRule.h:43
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)
void(* ClassStreamerFunc_t)(TBuffer &, void *)
Definition: Rtypes.h:67
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.
void(* ClassConvStreamerFunc_t)(TBuffer &, void *, const TClass *)
Definition: Rtypes.h:68
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.