Logo ROOT  
Reference Guide
TStreamerInfo.h
Go to the documentation of this file.
1 // @(#)root/io:$Id$
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_TStreamerInfo
13 #define ROOT_TStreamerInfo
14 
15 #include <atomic>
16 #include <vector>
17 
18 #include "TVirtualStreamerInfo.h"
19 
21 
22 #include "TObjArray.h"
23 
24 /**
25 \class TStreamerInfo
26 \ingroup IO
27 Describe Streamer information for one class version
28 */
29 
30 class TFile;
31 class TClass;
32 class TClonesArray;
33 class TDataMember;
34 class TMemberStreamer;
35 class TStreamerElement;
36 class TStreamerBasicType;
37 class TClassStreamer;
38 class TVirtualArray;
39 namespace ROOT { namespace Detail { class TCollectionProxyInfo; } }
40 namespace ROOT { class TSchemaRule; }
41 
42 namespace TStreamerInfoActions { class TActionSequence; }
43 
45 
46  class TCompInfo {
47  // Class used to cache information (see fComp)
48  private:
49  // TCompInfo(const TCompInfo&) = default;
50  // TCompInfo& operator=(const TCompInfo&) = default;
51  public:
56  TStreamerElement *fElem; ///< Not Owned
58  TClass *fClass; ///< Not Owned
59  TClass *fNewClass; ///< Not Owned
61  TMemberStreamer *fStreamer; ///< Not Owned
62  TCompInfo() : fType(-1), fNewType(0), fOffset(0), fLength(0), fElem(0), fMethod(0),
63  fClass(0), fNewClass(0), fClassName(), fStreamer(0) {};
64  ~TCompInfo() {};
65  void Update(const TClass *oldcl, TClass *newcl);
66  };
68 
69 public:
70  // make the opaque pointer public.
72 
73 protected:
74  //---------------------------------------------------------------------------
75  // Adapter class used to handle streaming collection of pointers
76  //---------------------------------------------------------------------------
78  {
79  public:
81  fProxy( proxy ) {}
82 
83  char* operator[]( UInt_t idx ) const
84  {
85  char **el = (char**)fProxy->At(idx);
86  return *el;
87  }
88  private:
90  };
91 
92 private:
93  UInt_t fCheckSum; ///<Checksum of original class
94  Int_t fClassVersion; ///<Class version identifier
95  Int_t fOnFileClassVersion;///<!Class version identifier as stored on file.
96  Int_t fNumber; ///<!Unique identifier
97  Int_t fSize; ///<!size of the persistent class
98  Int_t fNdata; ///<!number of optimized elements
99  Int_t fNfulldata; ///<!number of elements
100  Int_t fNslots; ///<!total numbrer of slots in fComp.
101  TCompInfo *fComp; ///<![fNslots with less than fElements->GetEntries()*1.5 used] Compiled info
102  TCompInfo **fCompOpt; ///<![fNdata]
103  TCompInfo **fCompFull; ///<![fElements->GetEntries()]
104  TClass *fClass; ///<!pointer to class
105  TObjArray *fElements; ///<Array of TStreamerElements
106  Version_t fOldVersion; ///<! Version of the TStreamerInfo object read from the file
107  Int_t fNVirtualInfoLoc; ///<! Number of virtual info location to update.
108  ULong_t *fVirtualInfoLoc; ///<![fNVirtualInfoLoc] Location of the pointer to the TStreamerInfo inside the object (when emulated)
109  std::atomic<ULong_t> fLiveCount; ///<! Number of outstanding pointer to this StreamerInfo.
110  TStreamerInfoActions::TActionSequence *fReadObjectWise; ///<! List of read action resulting from the compilation.
111  TStreamerInfoActions::TActionSequence *fReadMemberWise; ///<! List of read action resulting from the compilation for use in member wise streaming.
112  TStreamerInfoActions::TActionSequence *fReadMemberWiseVecPtr; ///<! List of read action resulting from the compilation for use in member wise streaming.
113  TStreamerInfoActions::TActionSequence *fReadText; ///<! List of text read action resulting from the compilation, used for JSON.
114  TStreamerInfoActions::TActionSequence *fWriteObjectWise; ///<! List of write action resulting from the compilation.
115  TStreamerInfoActions::TActionSequence *fWriteMemberWise; ///<! List of write action resulting from the compilation for use in member wise streaming.
116  TStreamerInfoActions::TActionSequence *fWriteMemberWiseVecPtr; ///<! List of write action resulting from the compilation for use in member wise streaming.
117  TStreamerInfoActions::TActionSequence *fWriteText; ///<! List of text write action resulting for the compilation, used for JSON.
118 
119  static std::atomic<Int_t> fgCount; ///<Number of TStreamerInfo instances
120 
121  template <typename T> static T GetTypedValueAux(Int_t type, void *ladd, int k, Int_t len);
122  static void PrintValueAux(char *ladd, Int_t atype, TStreamerElement * aElement, Int_t aleng, Int_t *count);
123 
124  UInt_t GenerateIncludes(FILE *fp, char *inclist, const TList *extrainfos);
125  void GenerateDeclaration(FILE *fp, FILE *sfp, const TList *subClasses, Bool_t top = kTRUE);
126  void InsertArtificialElements(std::vector<const ROOT::TSchemaRule*> &rules);
127  void DestructorImpl(void* p, Bool_t dtorOnly);
128 
129 private:
130  TStreamerInfo(const TStreamerInfo&) = delete; // TStreamerInfo are not copiable. Not Implemented.
131  TStreamerInfo& operator=(const TStreamerInfo&) = delete; // TStreamerInfo are not copiable. Not Implemented.
132  void AddReadAction(TStreamerInfoActions::TActionSequence *readSequence, Int_t index, TCompInfo *compinfo);
133  void AddWriteAction(TStreamerInfoActions::TActionSequence *writeSequence, Int_t index, TCompInfo *compinfo);
134  void AddReadTextAction(TStreamerInfoActions::TActionSequence *readSequence, Int_t index, TCompInfo *compinfo);
135  void AddWriteTextAction(TStreamerInfoActions::TActionSequence *writeSequence, Int_t index, TCompInfo *compinfo);
138 
139 public:
140 
141  /// Status bits
142  /// See TVirtualStreamerInfo::EStatusBits for the values.
143 
144  /// EReadWrite Enumerator
145  /// | Enum Constant | Description |
146  /// |-------------|--------------------|
147  /// | kBase | Base class element |
148  /// | kOffsetL | Fixed size array |
149  /// | kOffsetP | Pointer to object |
150  /// | kCounter | Counter for array size |
151  /// | kCharStar | Pointer to array of char |
152  /// | kLegacyChar | Equal to TDataType's kchar |
153  /// | kBits | TObject::fBits in case of a referenced object |
154  /// | kObject | Class derived from TObject, or for TStreamerSTL::fCtype non-pointer elements |
155  /// | kObjectp | Class* derived from TObject and with comment field //->Class, or for TStreamerSTL::fCtype: pointer elements |
156  /// | kObjectP | Class* derived from TObject and with NO comment field //->Class |
157  /// | kAny | Class not derived from TObject |
158  /// | kAnyp | Class* not derived from TObject with comment field //->Class |
159  /// | kAnyP | Class* not derived from TObject with NO comment field //->Class |
160  /// | kAnyPnoVT | Class* not derived from TObject with NO comment field //->Class and Class has NO virtual table |
161  /// | kSTLp | Pointer to STL container |
162  /// | kTString | TString, special case |
163  /// | kTObject | TObject, special case |
164  /// | kTNamed | TNamed , special case |
165  /// | kCache | Cache the value in memory than is not part of the object but is accessible via a SchemaRule |
166  enum EReadWrite {
167  kBase = 0, kOffsetL = 20, kOffsetP = 40, kCounter = 6, kCharStar = 7,
168  kChar = 1, kShort = 2, kInt = 3, kLong = 4, kFloat = 5,
170  kLegacyChar = 10, /// Equal to TDataType's kchar
171  kUChar = 11, kUShort = 12, kUInt = 13, kULong = 14, kBits = 15,
172  kLong64 = 16, kULong64 = 17, kBool = 18, kFloat16 = 19,
173  kObject = 61, kAny = 62, kObjectp = 63, kObjectP = 64, kTString = 65,
174  kTObject = 66, kTNamed = 67, kAnyp = 68, kAnyP = 69, kAnyPnoVT = 70,
175  kSTLp = 71,
176  kSkip = 100, kSkipL = 120, kSkipP = 140,
177  kConv = 200, kConvL = 220, kConvP = 240,
178  kSTL = 300, kSTLstring = 365,
179  kStreamer = 500, kStreamLoop = 501,
180  kCache = 600, /// Cache the value in memory than is not part of the object but is accessible via a SchemaRule
181  kArtificial = 1000,
182  kCacheNew = 1001,
183  kCacheDelete = 1002,
185  kMissing = 99999
186  };
187 
188  TStreamerInfo();
189  TStreamerInfo(TClass *cl);
190  virtual ~TStreamerInfo();
191  void Build();
192  void BuildCheck(TFile *file = 0);
193  void BuildEmulated(TFile *file);
194  void BuildOld();
195  virtual Bool_t BuildFor( const TClass *cl );
196  void CallShowMembers(const void* obj, TMemberInspector &insp, Bool_t isTransient) const;
197  void Clear(Option_t *);
198  TObject *Clone(const char *newname = "") const;
200  void Compile();
201  void ComputeSize();
202  void ForceWriteInfo(TFile *file, Bool_t force=kFALSE);
203  Int_t GenerateHeaderFile(const char *dirname, const TList *subClasses = 0, const TList *extrainfos = 0);
204  TClass *GetActualClass(const void *obj) const;
205  TClass *GetClass() const {return fClass;}
206  UInt_t GetCheckSum() const {return fCheckSum;}
209  Int_t GetDataMemberOffset(TDataMember *dm, TMemberStreamer *&streamer) const;
210  TObjArray *GetElements() const {return fElements;}
211  TStreamerElement *GetElem(Int_t id) const {return fComp[id].fElem;} // Return the element for the list of optimized elements (max GetNdata())
212  TStreamerElement *GetElement(Int_t id) const {return (TStreamerElement*)fElements->At(id);} // Return the element for the complete list of elements (max GetElements()->GetEntries())
220  Int_t GetNdata() const {return fNdata;}
221  Int_t GetNelement() const { return fElements->GetEntries(); }
222  Int_t GetNumber() const {return fNumber;}
223  Int_t GetLength(Int_t id) const {return fComp[id].fLength;}
224  ULong_t GetMethod(Int_t id) const {return fComp[id].fMethod;}
225  Int_t GetNewType(Int_t id) const {return fComp[id].fNewType;}
226  Int_t GetOffset(const char *) const;
227  Int_t GetOffset(Int_t id) const {return fComp[id].fOffset;}
230  Int_t GetSize() const;
231  Int_t GetSizeElements() const;
232  TStreamerElement *GetStreamerElement(const char*datamember, Int_t& offset) const;
234  Int_t GetType(Int_t id) const {return fComp[id].fType;}
235  template <typename T> T GetTypedValue(char *pointer, Int_t i, Int_t j, Int_t len) const;
236  template <typename T> T GetTypedValueClones(TClonesArray *clones, Int_t i, Int_t j, Int_t k, Int_t eoffset) const;
237  template <typename T> T GetTypedValueSTL(TVirtualCollectionProxy *cont, Int_t i, Int_t j, Int_t k, Int_t eoffset) const;
238  template <typename T> T GetTypedValueSTLP(TVirtualCollectionProxy *cont, Int_t i, Int_t j, Int_t k, Int_t eoffset) const;
239  Double_t GetValue(char *pointer, Int_t i, Int_t j, Int_t len) const { return GetTypedValue<Double_t>(pointer, i, j, len); }
240  Double_t GetValueClones(TClonesArray *clones, Int_t i, Int_t j, Int_t k, Int_t eoffset) const { return GetTypedValueClones<Double_t>(clones, i, j, k, eoffset); }
241  Double_t GetValueSTL(TVirtualCollectionProxy *cont, Int_t i, Int_t j, Int_t k, Int_t eoffset) const { return GetTypedValueSTL<Double_t>(cont, i, j, k, eoffset); }
242  Double_t GetValueSTLP(TVirtualCollectionProxy *cont, Int_t i, Int_t j, Int_t k, Int_t eoffset) const { return GetTypedValueSTLP<Double_t>(cont, i, j, k, eoffset); }
243  void ls(Option_t *option="") const;
244  Bool_t MatchLegacyCheckSum(UInt_t checksum) const;
246  void *New(void *obj = 0);
247  void *NewArray(Long_t nElements, void* ary = 0);
248  void Destructor(void* p, Bool_t dtorOnly = kFALSE);
249  void DeleteArray(void* p, Bool_t dtorOnly = kFALSE);
250  void PrintValue(const char *name, char *pointer, Int_t i, Int_t len, Int_t lenmax=1000) const;
251  void PrintValueClones(const char *name, TClonesArray *clones, Int_t i, Int_t eoffset, Int_t lenmax=1000) const;
252  void PrintValueSTL(const char *name, TVirtualCollectionProxy *cont, Int_t i, Int_t eoffset, Int_t lenmax=1000) const;
253 
254  template <class T>
255  Int_t ReadBuffer(TBuffer &b, const T &arrptr, TCompInfo *const*const compinfo, Int_t first, Int_t last, Int_t narr=1,Int_t eoffset=0,Int_t mode=0);
256  template <class T>
257  Int_t ReadBufferSkip(TBuffer &b, const T &arrptr, const TCompInfo *compinfo,Int_t kase, TStreamerElement *aElement, Int_t narr, Int_t eoffset);
258  template <class T>
259  Int_t ReadBufferConv(TBuffer &b, const T &arrptr, const TCompInfo *compinfo,Int_t kase, TStreamerElement *aElement, Int_t narr, Int_t eoffset);
260  template <class T>
261  Int_t ReadBufferArtificial(TBuffer &b, const T &arrptr, TStreamerElement *aElement, Int_t narr, Int_t eoffset);
262 
263  Int_t ReadBufferClones(TBuffer &b, TClonesArray *clones, Int_t nc, Int_t first, Int_t eoffset);
265  void SetCheckSum(UInt_t checksum) {fCheckSum = checksum;}
266  void SetClass(TClass *cl) {fClass = cl;}
269  void TagFile(TFile *fFile);
270 private:
271  // Try to remove those functions from the public interface.
272  Int_t WriteBuffer(TBuffer &b, char *pointer, Int_t first);
276 public:
277  virtual void Update(const TClass *oldClass, TClass *newClass);
278 
279  virtual TVirtualCollectionProxy *GenEmulatedProxy(const char* class_name, Bool_t silent);
280  virtual TClassStreamer *GenEmulatedClassStreamer(const char* class_name, Bool_t silent);
281  virtual TVirtualCollectionProxy *GenExplicitProxy( const ::ROOT::Detail::TCollectionProxyInfo &info, TClass *cl );
282  virtual TClassStreamer *GenExplicitClassStreamer( const ::ROOT::Detail::TCollectionProxyInfo &info, TClass *cl );
283 
285 
286 public:
287  // For access by the StreamerInfoActions.
288  template <class T>
289  Int_t WriteBufferAux (TBuffer &b, const T &arr, TCompInfo *const*const compinfo, Int_t first, Int_t last, Int_t narr,Int_t eoffset,Int_t mode);
290 
291  //WARNING this class version must be the same as TVirtualStreamerInfo
292  ClassDef(TStreamerInfo,9) //Streamer information for one class version
293 };
294 
295 
296 #endif
TStreamerInfo::Update
virtual void Update(const TClass *oldClass, TClass *newClass)
function called by the TClass constructor when replacing an emulated class by the real class
Definition: TStreamerInfo.cxx:5490
TStreamerInfo::Build
void Build()
Build the I/O data structure for the current class version.
Definition: TStreamerInfo.cxx:258
TStreamerInfo::MatchLegacyCheckSum
Bool_t MatchLegacyCheckSum(UInt_t checksum) const
Return true if the checksum passed as argument is one of the checksum value produced by the older che...
Definition: TStreamerInfo.cxx:3185
TStreamerInfo::GenerateIncludes
UInt_t GenerateIncludes(FILE *fp, char *inclist, const TList *extrainfos)
Add to the header file, the #include need for this class.
Definition: TStreamerInfo.cxx:3803
TStreamerInfo::AddWriteTextAction
void AddWriteTextAction(TStreamerInfoActions::TActionSequence *writeSequence, Int_t index, TCompInfo *compinfo)
Definition: TStreamerInfoActions.cxx:3663
TStreamerInfo::kFloat16
@ kFloat16
Definition: TStreamerInfo.h:172
TStreamerInfo::kSkipP
@ kSkipP
Definition: TStreamerInfo.h:176
TStreamerInfo::fNVirtualInfoLoc
Int_t fNVirtualInfoLoc
! Number of virtual info location to update.
Definition: TStreamerInfo.h:107
TStreamerInfo::fReadMemberWise
TStreamerInfoActions::TActionSequence * fReadMemberWise
! List of read action resulting from the compilation for use in member wise streaming.
Definition: TStreamerInfo.h:111
TMemberInspector
Definition: TMemberInspector.h:31
TStreamerInfo::GetElement
TStreamerElement * GetElement(Int_t id) const
Definition: TStreamerInfo.h:212
first
Definition: first.py:1
TStreamerInfo::GetStreamerElement
TStreamerElement * GetStreamerElement(const char *datamember, Int_t &offset) const
Return the StreamerElement of "datamember" inside our class or any of its base classes.
Definition: TStreamerInfo.cxx:4086
TVirtualCollectionProxy.h
TStreamerInfo::fLiveCount
std::atomic< ULong_t > fLiveCount
! Number of outstanding pointer to this StreamerInfo.
Definition: TStreamerInfo.h:109
kTRUE
const Bool_t kTRUE
Definition: RtypesCore.h:91
TStreamerInfo::TCompInfo::fElem
TStreamerElement * fElem
Not Owned.
Definition: TStreamerInfo.h:56
Version_t
short Version_t
Definition: RtypesCore.h:65
TObjArray
Definition: TObjArray.h:37
TStreamerInfo::ReadBufferSkip
Int_t ReadBufferSkip(TBuffer &b, const T &arrptr, const TCompInfo *compinfo, Int_t kase, TStreamerElement *aElement, Int_t narr, Int_t eoffset)
Skip an element.
Definition: TStreamerInfoReadBuffer.cxx:182
TStreamerInfo::fNdata
Int_t fNdata
!number of optimized elements
Definition: TStreamerInfo.h:98
TStreamerInfo::GetDataMemberOffset
Int_t GetDataMemberOffset(TDataMember *dm, TMemberStreamer *&streamer) const
Compute data member offset.
Definition: TStreamerInfo.cxx:3996
TStreamerInfo::GenExplicitClassStreamer
virtual TClassStreamer * GenExplicitClassStreamer(const ::ROOT::Detail::TCollectionProxyInfo &info, TClass *cl)
Generate class streamer from static functions.
Definition: TStreamerInfo.cxx:5546
TStreamerInfo::InsertArtificialElements
void InsertArtificialElements(std::vector< const ROOT::TSchemaRule * > &rules)
Insert new members as expressed in the array of TSchemaRule(s).
Definition: TStreamerInfo.cxx:4415
TStreamerInfo::kLong
@ kLong
Definition: TStreamerInfo.h:168
TStreamerInfo::kULong64
@ kULong64
Definition: TStreamerInfo.h:172
TStreamerInfo::fWriteMemberWise
TStreamerInfoActions::TActionSequence * fWriteMemberWise
! List of write action resulting from the compilation for use in member wise streaming.
Definition: TStreamerInfo.h:115
TStreamerInfo::kDouble
@ kDouble
Definition: TStreamerInfo.h:169
TStreamerInfo::DestructorImpl
void DestructorImpl(void *p, Bool_t dtorOnly)
Internal part of the destructor.
Definition: TStreamerInfo.cxx:4839
TStreamerInfo::kStreamer
@ kStreamer
Definition: TStreamerInfo.h:179
TStreamerInfo::kULong
@ kULong
Definition: TStreamerInfo.h:171
TClass::ECheckSum
ECheckSum
Definition: TClass.h:107
TStreamerInfo::WriteBufferSTLPtrs
Int_t WriteBufferSTLPtrs(TBuffer &b, TVirtualCollectionProxy *cont, Int_t nc, Int_t first, Int_t eoffset)
Write for STL container.
Definition: TStreamerInfoWriteBuffer.cxx:816
TStreamerInfo::kOffsetL
@ kOffsetL
Definition: TStreamerInfo.h:167
TStreamerInfo::kConv
@ kConv
Definition: TStreamerInfo.h:177
TStreamerInfo::kBool
@ kBool
Definition: TStreamerInfo.h:172
TStreamerInfo::BuildEmulated
void BuildEmulated(TFile *file)
Create an Emulation TStreamerInfo object.
Definition: TStreamerInfo.cxx:1222
TStreamerInfo::fCompOpt
TCompInfo ** fCompOpt
![fNdata]
Definition: TStreamerInfo.h:102
TStreamerInfo::GetNumber
Int_t GetNumber() const
Definition: TStreamerInfo.h:222
TStreamerInfo::fSize
Int_t fSize
!size of the persistent class
Definition: TStreamerInfo.h:97
TStreamerInfo::ReadBufferSTL
Int_t ReadBufferSTL(TBuffer &b, TVirtualCollectionProxy *cont, Int_t nc, Int_t eoffset, Bool_t v7=kTRUE)
The STL vector/list is deserialized from the buffer b.
Definition: TStreamerInfoReadBuffer.cxx:1733
Int_t
int Int_t
Definition: RtypesCore.h:45
TDataMember
Definition: TDataMember.h:31
TStreamerInfo::GetTypedValueSTL
T GetTypedValueSTL(TVirtualCollectionProxy *cont, Int_t i, Int_t j, Int_t k, Int_t eoffset) const
Return value of element i in object number j in a TClonesArray and eventually element k in a sub-arra...
Definition: TStreamerInfo.cxx:4380
TStreamerInfo::kFloat
@ kFloat
Definition: TStreamerInfo.h:168
TStreamerInfo::kAny
@ kAny
Definition: TStreamerInfo.h:173
TStreamerInfo::ReadBufferConv
Int_t ReadBufferConv(TBuffer &b, const T &arrptr, const TCompInfo *compinfo, Int_t kase, TStreamerElement *aElement, Int_t narr, Int_t eoffset)
Convert elements of a TClonesArray.
Definition: TStreamerInfoReadBuffer.cxx:568
TStreamerInfo::GetWriteMemberWiseActions
TStreamerInfoActions::TActionSequence * GetWriteMemberWiseActions(Bool_t forCollection)
Definition: TStreamerInfo.h:217
TStreamerInfo::fReadText
TStreamerInfoActions::TActionSequence * fReadText
! List of text read action resulting from the compilation, used for JSON.
Definition: TStreamerInfo.h:113
TStreamerInfo::kBits
@ kBits
Definition: TStreamerInfo.h:171
TStreamerInfo::kSTLstring
@ kSTLstring
Definition: TStreamerInfo.h:178
TObjArray::GetEntries
Int_t GetEntries() const
Return the number of objects in array (i.e.
Definition: TObjArray.cxx:523
TStreamerInfo::GetReadTextActions
TStreamerInfoActions::TActionSequence * GetReadTextActions()
Definition: TStreamerInfo.h:216
TStreamerInfo::TCompInfo::fType
Int_t fType
Definition: TStreamerInfo.h:52
TStreamerInfo::kTObject
@ kTObject
Definition: TStreamerInfo.h:174
TVirtualArray
Definition: TVirtualArray.h:26
TStreamerInfo::TagFile
void TagFile(TFile *fFile)
Mark the classindex of the current file as using this TStreamerInfo.
Definition: TStreamerInfo.cxx:5238
TStreamerInfo::GetValue
Double_t GetValue(char *pointer, Int_t i, Int_t j, Int_t len) const
Definition: TStreamerInfo.h:239
TStreamerInfo::BuildFor
virtual Bool_t BuildFor(const TClass *cl)
Check if we can build this for foreign class - do we have some rules to do that.
Definition: TStreamerInfo.cxx:1259
TStreamerInfo::TCompInfo::fStreamer
TMemberStreamer * fStreamer
Not Owned.
Definition: TStreamerInfo.h:61
TBuffer
Definition: TBuffer.h:43
TStreamerInfo::GetWriteObjectWiseActions
TStreamerInfoActions::TActionSequence * GetWriteObjectWiseActions()
Definition: TStreamerInfo.h:218
TStreamerInfo::kUInt
@ kUInt
Definition: TStreamerInfo.h:171
TObjArray::At
TObject * At(Int_t idx) const
Definition: TObjArray.h:166
TStreamerInfo::New
void * New(void *obj=0)
An emulated object is created at address obj, if obj is null we allocate memory for the object.
Definition: TStreamerInfo.cxx:4643
TStreamerInfo::kDouble32
@ kDouble32
Definition: TStreamerInfo.h:169
TString
Definition: TString.h:136
TStreamerInfo::GetCurrentElement
static TStreamerElement * GetCurrentElement()
static function returning a pointer to the current TStreamerElement fgElement points to the current T...
Definition: TStreamerInfoReadBuffer.cxx:46
TStreamerInfo::GetNewType
Int_t GetNewType(Int_t id) const
Definition: TStreamerInfo.h:225
Bool_t
bool Bool_t
Definition: RtypesCore.h:63
TStreamerInfo::TCompInfo::fClass
TClass * fClass
Not Owned.
Definition: TStreamerInfo.h:58
b
#define b(i)
Definition: RSha256.hxx:118
TStreamerInfo::AddReadMemberWiseVecPtrAction
void AddReadMemberWiseVecPtrAction(TStreamerInfoActions::TActionSequence *readSequence, Int_t index, TCompInfo *compinfo)
Add a read action for the given element.
Definition: TStreamerInfoActions.cxx:3541
TStreamerInfo::GetElementOffset
Int_t GetElementOffset(Int_t id) const
Definition: TStreamerInfo.h:213
TStreamerInfo::TPointerCollectionAdapter
Definition: TStreamerInfo.h:77
TStreamerInfo::TCompInfo::Update
void Update(const TClass *oldcl, TClass *newcl)
Update the TClass pointer cached in this object.
Definition: TStreamerInfo.cxx:5505
TVirtualStreamerInfo
Definition: TVirtualStreamerInfo.h:37
bool
id
XFontStruct * id
Definition: TGX11.cxx:109
TStreamerInfo::PrintValueSTL
void PrintValueSTL(const char *name, TVirtualCollectionProxy *cont, Int_t i, Int_t eoffset, Int_t lenmax=1000) const
Print value of element i in a TClonesArray.
Definition: TStreamerInfo.cxx:5102
TStreamerInfo::fReadMemberWiseVecPtr
TStreamerInfoActions::TActionSequence * fReadMemberWiseVecPtr
! List of read action resulting from the compilation for use in member wise streaming.
Definition: TStreamerInfo.h:112
TStreamerInfo::fWriteText
TStreamerInfoActions::TActionSequence * fWriteText
! List of text write action resulting for the compilation, used for JSON.
Definition: TStreamerInfo.h:117
TVirtualStreamerInfo::EReadWrite
EReadWrite
Definition: TVirtualStreamerInfo.h:83
TStreamerInfo::kAnyp
@ kAnyp
Definition: TStreamerInfo.h:174
TStreamerInfo::kAnyP
@ kAnyP
Definition: TStreamerInfo.h:174
TStreamerInfo::fElements
TObjArray * fElements
Array of TStreamerElements.
Definition: TStreamerInfo.h:105
TStreamerInfo::fNslots
Int_t fNslots
!total numbrer of slots in fComp.
Definition: TStreamerInfo.h:100
TStreamerInfo::GenEmulatedProxy
virtual TVirtualCollectionProxy * GenEmulatedProxy(const char *class_name, Bool_t silent)
Generate emulated collection proxy for a given class.
Definition: TStreamerInfo.cxx:5519
TStreamerInfo::kCache
@ kCache
Definition: TStreamerInfo.h:180
TStreamerInfo::operator=
TStreamerInfo & operator=(const TStreamerInfo &)=delete
TStreamerInfo::Clear
void Clear(Option_t *)
If opt contains 'built', reset this StreamerInfo as if Build or BuildOld was never called on it (usef...
Definition: TStreamerInfo.cxx:2551
TStreamerInfo::GetReadObjectWiseActions
TStreamerInfoActions::TActionSequence * GetReadObjectWiseActions()
Definition: TStreamerInfo.h:215
TStreamerInfo::TCompInfo::TCompInfo
TCompInfo()
Definition: TStreamerInfo.h:62
TStreamerInfo::ReadBufferClones
Int_t ReadBufferClones(TBuffer &b, TClonesArray *clones, Int_t nc, Int_t first, Int_t eoffset)
Read for TClonesArray.
Definition: TStreamerInfoReadBuffer.cxx:1745
TStreamerInfo::TCompInfo::fClassName
TString fClassName
Definition: TStreamerInfo.h:60
TStreamerInfo::GenEmulatedClassStreamer
virtual TClassStreamer * GenEmulatedClassStreamer(const char *class_name, Bool_t silent)
Generate emulated class streamer for a given collection class.
Definition: TStreamerInfo.cxx:5528
TStreamerInfo::DeleteArray
void DeleteArray(void *p, Bool_t dtorOnly=kFALSE)
Destroy an array of emulated objects, with optional delete.
Definition: TStreamerInfo.cxx:4999
TStreamerInfo::kCacheDelete
@ kCacheDelete
Definition: TStreamerInfo.h:183
TStreamerInfo::fNfulldata
Int_t fNfulldata
!number of elements
Definition: TStreamerInfo.h:99
TStreamerInfo::kUShort
@ kUShort
Definition: TStreamerInfo.h:171
TStreamerInfo::ComputeSize
void ComputeSize()
Compute total size of all persistent elements of the class.
Definition: TStreamerInfo.cxx:3065
TStreamerInfo::ForceWriteInfo
void ForceWriteInfo(TFile *file, Bool_t force=kFALSE)
Recursively mark streamer infos for writing to a file.
Definition: TStreamerInfo.cxx:3096
TStreamerInfo::TPointerCollectionAdapter::operator[]
char * operator[](UInt_t idx) const
Definition: TStreamerInfo.h:83
TStreamerInfo::WriteBufferClones
Int_t WriteBufferClones(TBuffer &b, TClonesArray *clones, Int_t nc, Int_t first, Int_t eoffset)
Write for ClonesArray ('first' is an id between -1 and fNfulldata).
Definition: TStreamerInfoWriteBuffer.cxx:838
Option_t
const typedef char Option_t
Definition: RtypesCore.h:66
TStreamerInfo::SetOnFileClassVersion
void SetOnFileClassVersion(Int_t vers)
Definition: TStreamerInfo.h:268
TStreamerInfo::kSkipL
@ kSkipL
Definition: TStreamerInfo.h:176
TStreamerInfo::kAnyPnoVT
@ kAnyPnoVT
Definition: TStreamerInfo.h:174
TStreamerInfo::AddWriteAction
void AddWriteAction(TStreamerInfoActions::TActionSequence *writeSequence, Int_t index, TCompInfo *compinfo)
Definition: TStreamerInfoActions.cxx:3557
TStreamerInfo::CompareContent
Bool_t CompareContent(TClass *cl, TVirtualStreamerInfo *info, Bool_t warn, Bool_t complete, TFile *file)
Return True if the current StreamerInfo in cl or info is equivalent to this TStreamerInfo.
Definition: TStreamerInfo.cxx:2782
TStreamerInfo::GetOnFileClassVersion
Int_t GetOnFileClassVersion() const
Definition: TStreamerInfo.h:229
TStreamerInfo::GetMethod
ULong_t GetMethod(Int_t id) const
Definition: TStreamerInfo.h:224
TStreamerInfo::GetValueSTL
Double_t GetValueSTL(TVirtualCollectionProxy *cont, Int_t i, Int_t j, Int_t k, Int_t eoffset) const
Definition: TStreamerInfo.h:241
TStreamerInfo::GenerateDeclaration
void GenerateDeclaration(FILE *fp, FILE *sfp, const TList *subClasses, Bool_t top=kTRUE)
Write the Declaration of class.
Definition: TStreamerInfo.cxx:3549
TStreamerInfo::GetElements
TObjArray * GetElements() const
Definition: TStreamerInfo.h:210
TStreamerInfo
Definition: TStreamerInfo.h:44
TStreamerInfo::fCheckSum
UInt_t fCheckSum
Checksum of original class.
Definition: TStreamerInfo.h:93
TStreamerInfo::CallShowMembers
void CallShowMembers(const void *obj, TMemberInspector &insp, Bool_t isTransient) const
Emulated a call ShowMembers() on the obj of this class type, passing insp and parent.
Definition: TStreamerInfo.cxx:2680
TStreamerInfo::GenerateHeaderFile
Int_t GenerateHeaderFile(const char *dirname, const TList *subClasses=0, const TList *extrainfos=0)
Generate header file for the class described by this TStreamerInfo the function is called by TFile::M...
Definition: TStreamerInfo.cxx:3880
TStreamerInfo::SetClass
void SetClass(TClass *cl)
Definition: TStreamerInfo.h:266
TStreamerInfo::AddReadTextAction
void AddReadTextAction(TStreamerInfoActions::TActionSequence *readSequence, Int_t index, TCompInfo *compinfo)
Add a read text action for the given element.
Definition: TStreamerInfoActions.cxx:3474
TStreamerInfo::WriteBufferAux
Int_t WriteBufferAux(TBuffer &b, const T &arr, TCompInfo *const *const compinfo, Int_t first, Int_t last, Int_t narr, Int_t eoffset, Int_t mode)
The object at pointer is serialized to the buffer b if (arrayMode & 1) ptr is a pointer to array of p...
Definition: TStreamerInfoWriteBuffer.cxx:114
TStreamerInfo::kObjectP
@ kObjectP
Definition: TStreamerInfo.h:173
TStreamerInfo::GetReadMemberWiseActions
TStreamerInfoActions::TActionSequence * GetReadMemberWiseActions(Bool_t forCollection)
Definition: TStreamerInfo.h:214
TStreamerInfoActions
Definition: TBuffer.h:39
TStreamerInfo::GetOffset
Int_t GetOffset(Int_t id) const
Definition: TStreamerInfo.h:227
kFALSE
const Bool_t kFALSE
Definition: RtypesCore.h:92
Long_t
long Long_t
Definition: RtypesCore.h:54
TStreamerInfo::kUChar
@ kUChar
Equal to TDataType's kchar.
Definition: TStreamerInfo.h:171
TStreamerInfo::TPointerCollectionAdapter::fProxy
TVirtualCollectionProxy * fProxy
Definition: TStreamerInfo.h:89
TStreamerInfo::kCacheNew
@ kCacheNew
Definition: TStreamerInfo.h:182
TStreamerInfo::kConvL
@ kConvL
Definition: TStreamerInfo.h:177
TStreamerInfo::fClass
TClass * fClass
!pointer to class
Definition: TStreamerInfo.h:104
TStreamerInfo::kCharStar
@ kCharStar
Definition: TStreamerInfo.h:167
TStreamerInfo::fWriteMemberWiseVecPtr
TStreamerInfoActions::TActionSequence * fWriteMemberWiseVecPtr
! List of write action resulting from the compilation for use in member wise streaming.
Definition: TStreamerInfo.h:116
TStreamerInfo::SetCheckSum
void SetCheckSum(UInt_t checksum)
Definition: TStreamerInfo.h:265
TVirtualCollectionProxy::At
virtual void * At(UInt_t idx)=0
TStreamerInfo::GetValueClones
Double_t GetValueClones(TClonesArray *clones, Int_t i, Int_t j, Int_t k, Int_t eoffset) const
Definition: TStreamerInfo.h:240
TStreamerInfo::AddReadAction
void AddReadAction(TStreamerInfoActions::TActionSequence *readSequence, Int_t index, TCompInfo *compinfo)
Add a read action for the given element.
Definition: TStreamerInfoActions.cxx:3242
TStreamerInfo::kNeedObjectForVirtualBaseClass
@ kNeedObjectForVirtualBaseClass
Definition: TStreamerInfo.h:184
UInt_t
unsigned int UInt_t
Definition: RtypesCore.h:46
TStreamerInfo::GetClass
TClass * GetClass() const
Definition: TStreamerInfo.h:205
TStreamerInfo::GetElem
TStreamerElement * GetElem(Int_t id) const
Definition: TStreamerInfo.h:211
ULong_t
unsigned long ULong_t
Definition: RtypesCore.h:55
TStreamerInfo::GetCheckSum
UInt_t GetCheckSum() const
Definition: TStreamerInfo.h:206
TStreamerInfo::GetSize
Int_t GetSize() const
Return total size of all persistent elements of the class (with offsets).
Definition: TStreamerInfo.cxx:4057
TStreamerInfo::kShort
@ kShort
Definition: TStreamerInfo.h:168
TStreamerInfo::TPointerCollectionAdapter::TPointerCollectionAdapter
TPointerCollectionAdapter(TVirtualCollectionProxy *proxy)
Definition: TStreamerInfo.h:80
TStreamerInfo::kSTL
@ kSTL
Definition: TStreamerInfo.h:178
TFile
Definition: TFile.h:54
TStreamerInfo::Clone
TObject * Clone(const char *newname="") const
Make a clone of an object using the Streamer facility.
Definition: TStreamerInfo.cxx:2746
TStreamerInfo::kTString
@ kTString
Definition: TStreamerInfo.h:173
TStreamerInfo::TStreamerInfo
TStreamerInfo()
Default ctor.
Definition: TStreamerInfo.cxx:145
TStreamerInfo::fReadObjectWise
TStreamerInfoActions::TActionSequence * fReadObjectWise
! List of read action resulting from the compilation.
Definition: TStreamerInfo.h:110
unsigned int
TStreamerInfo::GetClassVersion
Int_t GetClassVersion() const
Definition: TStreamerInfo.h:208
TStreamerInfo::TCompInfo
Definition: TStreamerInfo.h:46
TStreamerInfo::ReadBuffer
Int_t ReadBuffer(TBuffer &b, const T &arrptr, TCompInfo *const *const compinfo, Int_t first, Int_t last, Int_t narr=1, Int_t eoffset=0, Int_t mode=0)
Deserialize information from buffer b into object at pointer if (arrayMode & 1) ptr is a pointer to a...
Definition: TStreamerInfoReadBuffer.cxx:752
TVirtualStreamerInfo.h
TStreamerInfo::kStreamLoop
@ kStreamLoop
Definition: TStreamerInfo.h:179
TStreamerInfo::GetNdata
Int_t GetNdata() const
Definition: TStreamerInfo.h:220
TStreamerInfo::TCompInfo::fNewClass
TClass * fNewClass
Not Owned.
Definition: TStreamerInfo.h:59
TStreamerInfo::kObjectp
@ kObjectp
Definition: TStreamerInfo.h:173
TStreamerInfo::fOnFileClassVersion
Int_t fOnFileClassVersion
!Class version identifier as stored on file.
Definition: TStreamerInfo.h:95
TStreamerInfo::SetClassVersion
void SetClassVersion(Int_t vers)
Definition: TStreamerInfo.h:267
TStreamerInfo::fClassVersion
Int_t fClassVersion
Class version identifier.
Definition: TStreamerInfo.h:94
TStreamerInfo::~TStreamerInfo
virtual ~TStreamerInfo()
TStreamerInfo dtor.
Definition: TStreamerInfo.cxx:213
TStreamerInfo::kSkip
@ kSkip
Definition: TStreamerInfo.h:176
Double_t
double Double_t
Definition: RtypesCore.h:59
TStreamerInfo::kLong64
@ kLong64
Definition: TStreamerInfo.h:172
TStreamerInfo::GetValueSTLP
Double_t GetValueSTLP(TVirtualCollectionProxy *cont, Int_t i, Int_t j, Int_t k, Int_t eoffset) const
Definition: TStreamerInfo.h:242
TStreamerInfo::TCompInfo_t
TCompInfo TCompInfo_t
Definition: TStreamerInfo.h:71
TStreamerInfo::TCompInfo::fOffset
Int_t fOffset
Definition: TStreamerInfo.h:54
TObjArray.h
TStreamerInfo::kArtificial
@ kArtificial
Cache the value in memory than is not part of the object but is accessible via a SchemaRule.
Definition: TStreamerInfo.h:181
TStreamerInfo::PrintValue
void PrintValue(const char *name, char *pointer, Int_t i, Int_t len, Int_t lenmax=1000) const
print value of element i in object at pointer The function may be called in two ways: -method1 len < ...
Definition: TStreamerInfo.cxx:5032
TStreamerInfo::AddWriteMemberWiseVecPtrAction
void AddWriteMemberWiseVecPtrAction(TStreamerInfoActions::TActionSequence *writeSequence, Int_t index, TCompInfo *compinfo)
This is for streaming via a TClonesArray (or a vector of pointers of this type).
Definition: TStreamerInfoActions.cxx:3861
TStreamerInfo::GetSizeElements
Int_t GetSizeElements() const
Return total size of all persistent elements of the class use GetSize if you want to get the real siz...
Definition: TStreamerInfo.cxx:4066
TClass
Definition: TClass.h:80
TStreamerInfo::fNumber
Int_t fNumber
!Unique identifier
Definition: TStreamerInfo.h:96
file
Definition: file.py:1
TStreamerInfo::fWriteObjectWise
TStreamerInfoActions::TActionSequence * fWriteObjectWise
! List of write action resulting from the compilation.
Definition: TStreamerInfo.h:114
TStreamerInfo::GetTypedValueAux
static T GetTypedValueAux(Int_t type, void *ladd, int k, Int_t len)
Get the value from inside a collection.
Definition: TStreamerInfo.cxx:4212
TStreamerInfo::TCompInfo::~TCompInfo
~TCompInfo()
Definition: TStreamerInfo.h:64
TStreamerInfo::GetLength
Int_t GetLength(Int_t id) const
Definition: TStreamerInfo.h:223
TStreamerInfo::kInt
@ kInt
Definition: TStreamerInfo.h:168
TStreamerInfo::Destructor
void Destructor(void *p, Bool_t dtorOnly=kFALSE)
Emulated destructor for this class.
Definition: TStreamerInfo.cxx:4973
TObject
Definition: TObject.h:37
ClassDef
#define ClassDef(name, id)
Definition: Rtypes.h:325
TStreamerInfo::kTNamed
@ kTNamed
Definition: TStreamerInfo.h:174
TStreamerInfo::kCounter
@ kCounter
Definition: TStreamerInfo.h:167
TStreamerInfo::NewInfo
TVirtualStreamerInfo * NewInfo(TClass *cl)
Definition: TStreamerInfo.h:245
TStreamerInfo::kBase
@ kBase
Definition: TStreamerInfo.h:167
TStreamerInfo::kSTLp
@ kSTLp
Definition: TStreamerInfo.h:175
name
char name[80]
Definition: TGX11.cxx:110
TStreamerInfo::BuildOld
void BuildOld()
rebuild the TStreamerInfo structure
Definition: TStreamerInfo.cxx:1662
ROOT::Math::Chebyshev::T
double T(double x)
Definition: ChebyshevPol.h:52
TStreamerInfo::TCompInfo::fMethod
ULong_t fMethod
Definition: TStreamerInfo.h:57
TStreamerInfo::GetOldVersion
Version_t GetOldVersion() const
Definition: TStreamerInfo.h:228
TStreamerBasicType
Definition: TStreamerElement.h:269
TStreamerInfo::GetWriteTextActions
TStreamerInfoActions::TActionSequence * GetWriteTextActions()
Definition: TStreamerInfo.h:219
TStreamerInfo::GenExplicitProxy
virtual TVirtualCollectionProxy * GenExplicitProxy(const ::ROOT::Detail::TCollectionProxyInfo &info, TClass *cl)
Generate proxy from static functions.
Definition: TStreamerInfo.cxx:5537
TClassStreamer
Definition: TClassStreamer.h:26
TStreamerInfo::Compile
void Compile()
loop on the TStreamerElement list regroup members with same type Store predigested information into l...
Definition: TStreamerInfoActions.cxx:2975
TStreamerInfo::GetOffset
Int_t GetOffset(const char *) const
Return the offset of the data member as indicated by this StreamerInfo.
Definition: TStreamerInfo.cxx:4043
TStreamerInfo::BuildCheck
void BuildCheck(TFile *file=0)
Check if built and consistent with the class dictionary.
Definition: TStreamerInfo.cxx:699
TStreamerInfo::PrintValueClones
void PrintValueClones(const char *name, TClonesArray *clones, Int_t i, Int_t eoffset, Int_t lenmax=1000) const
Print value of element i in a TClonesArray.
Definition: TStreamerInfo.cxx:5077
TStreamerInfo::ls
void ls(Option_t *option="") const
List the TStreamerElement list and also the precomputed tables if option contains the string "incOrig...
Definition: TStreamerInfo.cxx:4558
TStreamerInfo::ReadBufferArtificial
Int_t ReadBufferArtificial(TBuffer &b, const T &arrptr, TStreamerElement *aElement, Int_t narr, Int_t eoffset)
Handle Artificial StreamerElement.
Definition: TStreamerInfoReadBuffer.cxx:526
TMemberStreamer
Definition: TMemberStreamer.h:26
TStreamerInfo::TCompInfo::fNewType
Int_t fNewType
Definition: TStreamerInfo.h:53
TStreamerInfo::kChar
@ kChar
Definition: TStreamerInfo.h:168
type
int type
Definition: TGX11.cxx:121
TStreamerInfo::kObject
@ kObject
Definition: TStreamerInfo.h:173
TStreamerInfo::GetStreamerElementReal
TStreamerElement * GetStreamerElementReal(Int_t i, Int_t j) const
Obsolete: this routine is obsolete and should not longer be used.
Definition: TStreamerInfo.cxx:4190
TStreamerInfoActions::TActionSequence
Definition: TStreamerInfoActions.h:172
TStreamerInfo::kOffsetP
@ kOffsetP
Definition: TStreamerInfo.h:167
TStreamerInfo::GetTypedValue
T GetTypedValue(char *pointer, Int_t i, Int_t j, Int_t len) const
Return value of element i in object at pointer.
Definition: TStreamerInfo.cxx:4316
TStreamerInfo::fComp
TCompInfo * fComp
![fNslots with less than fElements->GetEntries()*1.5 used] Compiled info
Definition: TStreamerInfo.h:101
TStreamerInfo::GetNelement
Int_t GetNelement() const
Definition: TStreamerInfo.h:221
TStreamerInfo::kMissing
@ kMissing
Definition: TStreamerInfo.h:185
TClonesArray
Definition: TClonesArray.h:29
TStreamerInfo::PrintValueAux
static void PrintValueAux(char *ladd, Int_t atype, TStreamerElement *aElement, Int_t aleng, Int_t *count)
print value of element in object at pointer, type atype, leng aleng or *count The function may be cal...
Definition: TStreamerInfo.cxx:5290
TStreamerInfo::WriteBuffer
Int_t WriteBuffer(TBuffer &b, char *pointer, Int_t first)
General Write.
Definition: TStreamerInfoWriteBuffer.cxx:829
ROOT
VSD Structures.
Definition: StringConv.hxx:21
TStreamerInfo::fOldVersion
Version_t fOldVersion
! Version of the TStreamerInfo object read from the file
Definition: TStreamerInfo.h:106
TStreamerInfo::WriteBufferSTL
Int_t WriteBufferSTL(TBuffer &b, TVirtualCollectionProxy *cont, Int_t nc)
Write for STL container. ('first' is an id between -1 and fNfulldata).
Definition: TStreamerInfoWriteBuffer.cxx:802
TStreamerElement
Definition: TStreamerElement.h:33
TStreamerInfo::GetActualClass
TClass * GetActualClass(const void *obj) const
Assuming that obj points to (the part of) an object that is of the type described by this streamerInf...
Definition: TStreamerInfo.cxx:3170
TStreamerInfo::kConvP
@ kConvP
Definition: TStreamerInfo.h:177
TStreamerInfo::fCompFull
TCompInfo ** fCompFull
![fElements->GetEntries()]
Definition: TStreamerInfo.h:103
TStreamerInfo::fgCount
static std::atomic< Int_t > fgCount
Number of TStreamerInfo instances.
Definition: TStreamerInfo.h:119
TVirtualCollectionProxy
Definition: TVirtualCollectionProxy.h:38
TStreamerInfo::GetTypedValueSTLP
T GetTypedValueSTLP(TVirtualCollectionProxy *cont, Int_t i, Int_t j, Int_t k, Int_t eoffset) const
Return value of element i in object number j in a TClonesArray and eventually element k in a sub-arra...
Definition: TStreamerInfo.cxx:4399
TStreamerInfo::kLegacyChar
@ kLegacyChar
Definition: TStreamerInfo.h:170
TList
Definition: TList.h:44
TStreamerInfo::GetTypedValueClones
T GetTypedValueClones(TClonesArray *clones, Int_t i, Int_t j, Int_t k, Int_t eoffset) const
Definition: TStreamerInfo.cxx:4358
TStreamerInfo::GetType
Int_t GetType(Int_t id) const
Definition: TStreamerInfo.h:234
TStreamerInfo::fVirtualInfoLoc
ULong_t * fVirtualInfoLoc
![fNVirtualInfoLoc] Location of the pointer to the TStreamerInfo inside the object (when emulated)
Definition: TStreamerInfo.h:108
TStreamerInfo::NewArray
void * NewArray(Long_t nElements, void *ary=0)
An array of emulated objects is created at address ary, if ary is null, we allocate memory for the ar...
Definition: TStreamerInfo.cxx:4790
int
TStreamerInfo::TCompInfo::fLength
Int_t fLength
Definition: TStreamerInfo.h:55