library: libCore #include "TStreamerElement.h"

# TStreamerElement

class description - source file - inheritance tree (.pdf)

## class TStreamerElement : public TNamed

| Inheritance Chart:
`TObject`
| <- | `TNamed`
| <- | `TStreamerElement` |
<- |
`TStreamerBase` |
`TStreamerBasicPointer` |
`TStreamerBasicType` |
`TStreamerLoop` |
`TStreamerObject` |
`TStreamerObjectAny` |
`TStreamerObjectAnyPointer` |
`TStreamerObjectPointer` |
`TStreamerSTL` | <- |
`TStreamerSTLstring` |
| [more...]

        public:

                              TStreamerElement()
                              TStreamerElement(const char* name, const char* title, Int_t offset, Int_t dtype, const char* typeName)
                              TStreamerElement(const TStreamerElement&)
                      virtual ~TStreamerElement()
               virtual Bool_t CannotSplit() const
               static TClass* Class()
                        Int_t GetArrayDim() const
                        Int_t GetArrayLength() const
                      TClass* GetClass() const
              virtual TClass* GetClassPointer() const
                virtual Int_t GetExecID() const
                     Double_t GetFactor() const
          virtual const char* GetFullName() const
          virtual const char* GetInclude() const
                        Int_t GetMaxIndex(Int_t i) const
              virtual ULong_t GetMethod() const
                        Int_t GetNewType() const
                        Int_t GetOffset() const
                virtual Int_t GetSize() const
             TMemberStreamer* GetStreamer() const
                        Int_t GetTObjectOffset() const
                        Int_t GetType() const
                  const char* GetTypeName() const
                  const char* GetTypeNameBasic() const
                     Double_t GetXmax() const
                     Double_t GetXmin() const
                 virtual void Init(TObject* obj = 0)
              virtual TClass* IsA() const
               virtual Bool_t IsaPointer() const
               virtual Bool_t IsBase() const
               virtual Bool_t IsOldFormat(const char* newTypeName)
                 virtual void ls(Option_t* option = "") const
            TStreamerElement& operator=(const TStreamerElement&)
                 virtual void SetArrayDim(Int_t dim)
                 virtual void SetMaxIndex(Int_t dim, Int_t max)
                 virtual void SetNewType(Int_t dtype)
                 virtual void SetOffset(Int_t offset)
                 virtual void SetSize(Int_t dsize)
                 virtual void SetStreamer(TMemberStreamer* streamer)
                 virtual void SetTObjectOffset(Int_t tobjoffset)
                 virtual void SetType(Int_t dtype)
                 virtual void SetTypeName(const char* name)
                 virtual void ShowMembers(TMemberInspector& insp, char* parent)
                 virtual void Streamer(TBuffer& b)
                         void StreamerNVirtual(TBuffer& b)
                 virtual void Update(const TClass* oldClass, TClass* newClass)

### Data Members

        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
          TMemberStreamer* fStreamer       !pointer to element Streamer
              TMethodCall* fMethod         !pointer to TMethodCall
                  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<<nbits/(xmax-xmin)

        public:

          static const TStreamerElement::ESTLtype kSTL
          static const TStreamerElement::ESTLtype kSTLstring
          static const TStreamerElement::ESTLtype kSTLvector
          static const TStreamerElement::ESTLtype kSTLlist
          static const TStreamerElement::ESTLtype kSTLdeque
          static const TStreamerElement::ESTLtype kSTLmap
          static const TStreamerElement::ESTLtype kSTLset
          static const TStreamerElement::ESTLtype kSTLmultimap
          static const TStreamerElement::ESTLtype kSTLmultiset
             static const enum TStreamerElement:: kHasRange

## Class Description

TStreamerElement()

     Default ctor.

TStreamerElement(const char *name, const char *title, Int_t offset, Int_t dtype, const char *typeName) : TNamed(name,title)

     Create a TStreamerElement object.

~TStreamerElement()

     TStreamerElement dtor.

Bool_t CannotSplit() const

    returns true if the element cannot be split, false otherwise
    An element cannot be split if the corresponding class member
    has the special characters "||" as the first characters in the comment field

TClass* GetClassPointer() const

    returns a pointer to the TClass of this element

Int_t GetExecID() const

    returns the TExec id for the EXEC instruction in the comment field
    of a TRef data member

const char* GetFullName() const

     return element name including dimensions, if any
     Note that this function stores the name into a static array.
     You should may be copy the result.

Int_t GetSize() const

    returns size of this element in bytes

TMemberStreamer* GetStreamer() 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

void Init(TObject *)

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
    if this case is detected, the element type name is modified

Bool_t IsBase() const

void ls(Option_t *) const

void SetArrayDim(Int_t dim)

     Set number of array dimensions.

void SetMaxIndex(Int_t dim, Int_t max)

    set maximum index for array with dimension dim

void SetStreamer(TMemberStreamer *streamer)

    set pointer to Streamer function for this element

void Streamer(TBuffer &R__b)

     Stream an object of class TStreamerElement.

void Update(const TClass *oldClass, TClass *newClass)

    function called by the TClass constructor when replacing an emulated class
    by the real class

### Inline Functions

                        Int_t GetArrayDim() const
                        Int_t GetArrayLength() const
                      TClass* GetClass() const
                  const char* GetInclude() const
                        Int_t GetMaxIndex(Int_t i) const
                      ULong_t GetMethod() const
                        Int_t GetNewType() const
                        Int_t GetType() const
                        Int_t GetOffset() const
                        Int_t GetTObjectOffset() const
                  const char* GetTypeName() const
                     Double_t GetFactor() const
                     Double_t GetXmin() const
                     Double_t GetXmax() const
                       Bool_t IsaPointer() const
                         void SetOffset(Int_t offset)
                         void SetTObjectOffset(Int_t tobjoffset)
                         void SetSize(Int_t dsize)
                         void SetNewType(Int_t dtype)
                         void SetType(Int_t dtype)
                         void SetTypeName(const char* name)
                      TClass* Class()
                      TClass* IsA() const
                         void ShowMembers(TMemberInspector& insp, char* parent)
                         void StreamerNVirtual(TBuffer& b)
             TStreamerElement TStreamerElement(const TStreamerElement&)
            TStreamerElement& operator=(const TStreamerElement&)

Author: Rene Brun 12/10/2000
Last update: root/meta:$Name: $:$Id: TStreamerElement.cxx,v 1.80 2005/04/21 06:24:47 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *