// @(#)root/meta:$Id: e0eac11e63ad37390c9467c97c5c6849c4ab7d39 $ // Author: Rene Brun 12/10/2000 /************************************************************************* * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * * All rights reserved. * * * * For the licensing terms see $ROOTSYS/LICENSE. * * For the list of contributors see $ROOTSYS/README/CREDITS. * *************************************************************************/ #ifndef ROOT_TStreamerElement #define ROOT_TStreamerElement ////////////////////////////////////////////////////////////////////////// // // // TStreamerElement // // // // Describe one element (data member) to be Streamed // // // ////////////////////////////////////////////////////////////////////////// #include "TNamed.h" #include "ESTLType.h" class TMethodCall; class TClass; class TStreamerBasicType; class TVirtualStreamerInfo; class TStreamerElement : public TNamed { private: TStreamerElement(const TStreamerElement &) = delete; TStreamerElement&operator=(const TStreamerElement&) = delete; protected: Int_t fType; //element type Int_t fSize; //sizeof element Int_t fArrayLength; //cumulative size of all array dims Int_t fArrayDim; //number of array dimensions Int_t fMaxIndex[5]; //Maximum array index for array dimension "dim" Int_t fOffset; //!element offset in class Int_t fTObjectOffset; //!base offset for TObject if the element inherits from it Int_t fNewType; //!new element type when reading TString fTypeName; //Data type name of data member TClass *fClassObject; //!pointer to class of object TClass *fNewClass; //!new element class when reading TMemberStreamer *fStreamer; //!pointer to element Streamer Double_t fXmin; //!Minimum of data member if a range is specified [xmin,xmax,nbits] Double_t fXmax; //!Maximum of data member if a range is specified [xmin,xmax,nbits] Double_t fFactor; //!Conversion factor if a range is specified fFactor = (1<