TStreamerInfo
class description - source file - inheritance tree
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)
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
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.