TStreamerInfo


class description - source file - inheritance tree

class TStreamerInfo : public TNamed

    private:
void BuildUserInfo(const char* info) void Compile() public:
TStreamerInfo TStreamerInfo() TStreamerInfo TStreamerInfo(TClass* cl, const char* info) TStreamerInfo TStreamerInfo(TStreamerInfo&) virtual void ~TStreamerInfo() void Build() void BuildCheck() void BuildOld() static TClass* Class() Int_t GenerateHeaderFile(const char* dirname) UInt_t GetCheckSum() const TClass* GetClass() const Int_t GetClassVersion() const Int_t GetDataMemberOffset(TDataMember* dm, Streamer_t& streamer) const static TStreamerBasicType* GetElementCounter(const char* countName, TClass* cl, Int_t version) TObjArray* GetElements() const Int_t GetNumber() const virtual TClass* IsA() const virtual void ls(Option_t* option) const Int_t ReadBuffer(TBuffer& b, char* pointer) Int_t ReadBufferClones(TBuffer& b, TClonesArray* clones, Int_t nc) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b) Int_t WriteBuffer(TBuffer& b, char* pointer) Int_t WriteBufferClones(TBuffer& b, TClonesArray* clones, Int_t nc)

Data Members

private:
UInt_t fCheckSum checksum of original class Int_t fClassVersion Class version identifier Int_t fNumber !Unique identifier Int_t fNdata !number of optmized types Int_t* fType ![fNdata] Int_t* fNewType ![fNdata] Int_t* fOffset ![fNdata] Int_t* fLength ![fNdata] ULong_t* fElem ![fNdata] ULong_t* fMethod ![fNdata] TClass* fClass !pointer to class TObjArray* fElements Array of TStreamerElements static Int_t fgCount Number of TStreamerInfo instances public:
static const TStreamerInfo::EReadWrite kBase static const TStreamerInfo::EReadWrite kOffsetL static const TStreamerInfo::EReadWrite kOffsetP static const TStreamerInfo::EReadWrite kCounter static const TStreamerInfo::EReadWrite kChar static const TStreamerInfo::EReadWrite kShort static const TStreamerInfo::EReadWrite kInt static const TStreamerInfo::EReadWrite kLong static const TStreamerInfo::EReadWrite kFloat static const TStreamerInfo::EReadWrite kDouble static const TStreamerInfo::EReadWrite kUChar static const TStreamerInfo::EReadWrite kUShort static const TStreamerInfo::EReadWrite kUInt static const TStreamerInfo::EReadWrite kULong static const TStreamerInfo::EReadWrite kObject static const TStreamerInfo::EReadWrite kAny static const TStreamerInfo::EReadWrite kObjectp static const TStreamerInfo::EReadWrite kObjectP static const TStreamerInfo::EReadWrite kTString static const TStreamerInfo::EReadWrite kTObject static const TStreamerInfo::EReadWrite kTNamed static const TStreamerInfo::EReadWrite kMissing static const TStreamerInfo::EReadWrite kSkip static const TStreamerInfo::EReadWrite kSkipL static const TStreamerInfo::EReadWrite kSkipP static const TStreamerInfo::EReadWrite kObjectV static const TStreamerInfo::EReadWrite kObjectVV static const TStreamerInfo::EReadWrite kConv static const TStreamerInfo::EReadWrite kConvL static const TStreamerInfo::EReadWrite kConvP static const TStreamerInfo::EReadWrite kStreamer static const TStreamerInfo::EReadWrite kStreamLoop

Class Description

                                                                      
                                                                      


TStreamerInfo()
 Default ctor.

TStreamerInfo(TClass *cl, const char *info) : TNamed(cl->GetName(),info)
 Create a TStreamerInfo object.

~TStreamerInfo()
 TStreamerInfo dtor.

void Build()
 Build the I/O data structure for the current class version
 A list of TStreamerElement derived classes is built by scanning
 one by one the list of data members of the analyzed class.

void BuildCheck()
 check if the TStreamerInfo structure is already created
 called by TFile::ReadStreamerInfo

void BuildOld()
 rebuild the TStreamerInfo structure

void BuildUserInfo(const char *info)
 Build the I/O data structure for the current class version

void Compile()
 loop on the TStreamerElement list
 regroup members with same type
 Store predigested information into local arrays. This saves a huge amount
 of time compared to an explicit iteration on all elements.

Int_t GenerateHeaderFile(const char *dirname)
 Generate header file for the class described by this TStreamerInfo
 the function is called by TFile::MakeProject for each class in the file

Int_t GetDataMemberOffset(TDataMember *dm, Streamer_t &streamer) const
 Compute data member offset
 return pointer to the Streamer function if one exists

TStreamerBasicType* GetElementCounter(const char *countName, TClass *cl, Int_t version)
 Get pointer to a TStreamerBasicType in TClass *cl
static function

void ls(Option_t *option) const
  List the TStreamerElement list and also the precomputed tables

Int_t ReadBuffer(TBuffer &b, char *pointer)
  Deserialize information from buffer b into object at pointer

Int_t ReadBufferClones(TBuffer &b, TClonesArray *clones, Int_t nc)
  The TClonesArray clones is deserialized from the buffer b

Int_t WriteBuffer(TBuffer &b, char *pointer)
  The object at pointer is serialized to the buffer b

Int_t WriteBufferClones(TBuffer &b, TClonesArray *clones, Int_t nc)
  The TClonesArray clones is serialized to the buffer b



Inline Functions


              TClass* GetClass() const
               UInt_t GetCheckSum() const
                Int_t GetClassVersion() const
           TObjArray* GetElements() const
                Int_t GetNumber() const
              TClass* Class()
              TClass* IsA() const
                 void ShowMembers(TMemberInspector& insp, char* parent)
                 void Streamer(TBuffer& b)
                 void StreamerNVirtual(TBuffer& b)
        TStreamerInfo TStreamerInfo(TStreamerInfo&)


Author: Rene Brun 12/10/2000
Last update: root/meta:$Name: $:$Id: TStreamerInfo.cxx,v 1.22 2000/12/22 10:44:44 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *


ROOT page - Class index - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.