12#ifndef ROOT_TStreamerElement
13#define ROOT_TStreamerElement
215 const char *countName,
const char *countClass,
Int_t version,
const char *typeName);
251 TStreamerLoop(
const char *
name,
const char *title,
Int_t offset,
const char *countName,
const char *countClass,
Int_t version,
const char *typeName);
406 const char *typeName,
const char *trueType,
Bool_t dmPointer);
436 const char *typeName,
Bool_t dmPointer);
463 TStreamerArtificial(
const char *
name,
const char *title,
Int_t offset,
Int_t dtype,
const char *typeName) :
TStreamerElement(
name,title,offset,dtype,typeName),
fReadFunc(0),
fReadRawFunc(0) {}
#define ClassDef(name, id)
void(* ClassStreamerFunc_t)(TBuffer &, void *)
void(* ClassConvStreamerFunc_t)(TBuffer &, void *, const TClass *)
void(* ReadFuncPtr_t)(char *, TVirtualObject *)
void(* ReadRawFuncPtr_t)(char *, TBuffer &)
Buffer base class used for serializing objects.
TClass instances represent classes, structs and namespaces in the ROOT type system.
Method or function calling interface.
The TNamed class is the base class for all named ROOT classes.
TStreamerArtificial(const TStreamerArtificial &)
void SetReadFunc(ROOT::TSchemaRule::ReadFuncPtr_t val)
ROOT::TSchemaRule::ReadRawFuncPtr_t GetReadRawFunc()
ROOT::TSchemaRule::ReadRawFuncPtr_t fReadRawFunc
ROOT::TSchemaRule::ReadFuncPtr_t GetReadFunc()
TStreamerArtificial & operator=(const TStreamerArtificial &)
ROOT::TSchemaRule::ReadFuncPtr_t fReadFunc
void SetReadRawFunc(ROOT::TSchemaRule::ReadRawFuncPtr_t val)
TStreamerArtificial(const char *name, const char *title, Int_t offset, Int_t dtype, const char *typeName)
TStreamerBase & operator=(const TStreamerBase &)
void InitStreaming(Bool_t isTransient)
Error message in case of checksum/version mismatch.
void SetErrorMessage(const char *msg)
void SetNewBaseClass(TClass *cl)
Bool_t IsBase() const
Return kTRUE if the element represent a base class.
Int_t WriteBuffer(TBuffer &b, char *pointer)
Write the base class into the buffer.
TStreamerBase(const TStreamerBase &)
void SetBaseVersion(Int_t v)
virtual void Init(TVirtualStreamerInfo *obj=0)
Setup the element.
TVirtualStreamerInfo * GetBaseStreamerInfo() const
const char * GetInclude() const
Return the proper include for this element.
virtual ~TStreamerBase()
TStreamerBase dtor.
TClass * fBaseClass
checksum of the base class (used during memberwise streaming)
Int_t ReadBuffer(TBuffer &b, char *pointer)
Read the content of the buffer.
const char * GetErrorMessage() const
ClassConvStreamerFunc_t fConvStreamerFunc
Pointer to a wrapper around a custom streamer member function.
void SetBaseCheckSum(UInt_t cs)
ULong_t GetMethod() const
TClass * fNewBaseClass
pointer to base class
Int_t GetSize() const
Returns size of baseclass in bytes.
TVirtualStreamerInfo * fStreamerInfo
Pointer to a wrapper around a custom convertion streamer member function.
TClass * GetNewBaseClass()
virtual void Update(const TClass *oldClass, TClass *newClass)
Function called by the TClass constructor when replacing an emulated class by the real class.
ClassStreamerFunc_t fStreamerFunc
pointer to new base class if renamed
TString fErrorMsg
Pointer to the current StreamerInfo for the baset class.
virtual void ls(Option_t *option="") const
Print the content of the element.
virtual TClass * GetClassPointer() const
Returns a pointer to the TClass of this element.
void SetCountName(const char *name)
virtual ~TStreamerBasicPointer()
TStreamerBasicPointer dtor.
TClass * GetClassPointer() const
Returns a pointer to the TClass of this element.
void SetCountVersion(Int_t count)
void SetArrayDim(Int_t dim)
Set number of array dimensions.
Int_t GetSize() const
Returns size of basicpointer in bytes.
ULong_t GetMethod() const
return offset of counter
void SetCountClass(const char *clname)
TStreamerBasicPointer()
pointer to basic type counter
virtual void Update(const TClass *, TClass *)
function called by the TClass constructor when replacing an emulated class by the real class
TStreamerBasicPointer & operator=(const TStreamerBasicPointer &)
const char * GetCountName() const
virtual Bool_t IsaPointer() const
virtual Bool_t HasCounter() const
TStreamerBasicPointer(const TStreamerBasicPointer &)
virtual void Init(TVirtualStreamerInfo *obj=0)
Setup the element.
Int_t GetCountVersion() const
TStreamerBasicType * fCounter
const char * GetCountClass() const
TClass * GetClassPointer() const
Returns a pointer to the TClass of this element.
Int_t GetSize() const
Returns size of this element in bytes.
ULong_t GetMethod() const
return address of counter
TStreamerBasicType()
value of data member when referenced by an array
TStreamerBasicType(const TStreamerBasicType &)
virtual ~TStreamerBasicType()
TStreamerBasicType dtor.
TStreamerBasicType & operator=(const TStreamerBasicType &)
virtual void Update(const TClass *, TClass *)
function called by the TClass constructor when replacing an emulated class by the real class
virtual void SetSize(Int_t dsize)
TStreamerElement()
Default ctor.
virtual Int_t GetSize() const
Returns size of this element in bytes.
virtual const char * GetInclude() const
virtual 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 i...
virtual const char * GetFullName() const
Return element name including dimensions, if any Note that this function stores the name into a stati...
virtual TClass * GetClassPointer() const
Returns a pointer to the TClass of this element.
virtual void SetArrayDim(Int_t dim)
Set number of array dimensions.
virtual ~TStreamerElement()
TStreamerElement dtor.
Int_t GetArrayDim() const
TMemberStreamer * GetStreamer() const
Return the local streamer object.
Int_t fTObjectOffset
element offset in class
Double_t fXmax
Minimum of data member if a range is specified [xmin,xmax,nbits].
TClass * GetNewClass() const
Int_t GetArrayLength() const
virtual void SetStreamer(TMemberStreamer *streamer)
set pointer to Streamer function for this element
TStreamerElement & operator=(const TStreamerElement &)
TMemberStreamer * fStreamer
new element class when reading
Double_t GetFactor() const
TString fTypeName
new element type when reading
virtual Bool_t IsTransient() const
Return kTRUE if the element represent an entity that is not written to the disk (transient members,...
Double_t fFactor
Maximum of data member if a range is specified [xmin,xmax,nbits].
Int_t GetMaxIndex(Int_t i) const
virtual Bool_t IsaPointer() const
virtual void Update(const TClass *oldClass, TClass *newClass)
function called by the TClass constructor when replacing an emulated class by the real class
const char * GetTypeName() const
virtual Bool_t CannotSplit() const
Returns true if the element cannot be split, false otherwise.
TClass * GetClass() const
virtual void SetType(Int_t dtype)
TStreamerElement(const TStreamerElement &)
virtual void Init(TVirtualStreamerInfo *obj=0)
Initliaze the element.
virtual void SetNewClass(TClass *cl)
virtual void SetTypeName(const char *name)
Double_t fXmin
pointer to element Streamer
const char * GetTypeNameBasic() const
Return type name of this element in case the type name is not a standard basic type,...
virtual Bool_t IsBase() const
Return kTRUE if the element represent a base class.
virtual Int_t GetExecID() const
Returns the TExec id for the EXEC instruction in the comment field of a TRef data member.
virtual void SetOffset(Int_t offset)
virtual ULong_t GetMethod() const
virtual void SetTObjectOffset(Int_t tobjoffset)
virtual void SetNewType(Int_t dtype)
TClass * fNewClass
pointer to class of object
virtual void SetMaxIndex(Int_t dim, Int_t max)
set maximum index for array with dimension dim
Int_t GetTObjectOffset() const
virtual Bool_t HasCounter() const
void GetSequenceType(TString &type) const
Fill type with the string representation of sequence information including 'cached',...
Int_t fNewType
base offset for TObject if the element inherits from it
ESTLtype
Conversion factor if a range is specified fFactor = (1<<nbits/(xmax-xmin)
virtual void ls(Option_t *option="") const
Print the content of the element.
TStreamerBasicType * fCounter
virtual Bool_t IsaPointer() const
void SetCountName(const char *name)
TStreamerLoop(const TStreamerLoop &)
virtual ~TStreamerLoop()
TStreamerLoop dtor.
TStreamerLoop & operator=(const TStreamerLoop &)
const char * GetCountName() const
Int_t GetCountVersion() const
virtual Bool_t HasCounter() const
ULong_t GetMethod() const
return address of counter
void SetCountVersion(Int_t count)
const char * GetInclude() const
Return the proper include for this element.
void SetCountClass(const char *clname)
const char * GetCountClass() const
virtual void Init(TVirtualStreamerInfo *obj=0)
Setup the element.
Int_t GetSize() const
Returns size of counter in bytes.
TStreamerLoop()
pointer to basic type counter
virtual Bool_t IsaPointer() const
Int_t GetSize() const
Returns size of objectpointer in bytes.
virtual void Init(TVirtualStreamerInfo *obj=0)
Setup the element.
TStreamerObjectAnyPointer & operator=(const TStreamerObjectAnyPointer &)
virtual void SetArrayDim(Int_t dim)
Set number of array dimensions.
TStreamerObjectAnyPointer(const TStreamerObjectAnyPointer &)
const char * GetInclude() const
Return the proper include for this element.
virtual ~TStreamerObjectAnyPointer()
TStreamerObjectAnyPointer dtor.
TStreamerObjectAnyPointer()
Default ctor.
virtual ~TStreamerObjectAny()
TStreamerObjectAny dtor.
Int_t GetSize() const
Returns size of anyclass in bytes.
TStreamerObjectAny()
Default ctor.
virtual void Init(TVirtualStreamerInfo *obj=0)
Setup the element.
TStreamerObjectAny(const TStreamerObjectAny &)
const char * GetInclude() const
Return the proper include for this element.
TStreamerObjectAny & operator=(const TStreamerObjectAny &)
virtual void SetArrayDim(Int_t dim)
Set number of array dimensions.
TStreamerObjectPointer()
Default ctor.
const char * GetInclude() const
Return the proper include for this element.
virtual ~TStreamerObjectPointer()
TStreamerObjectPointer dtor.
Int_t GetSize() const
Returns size of objectpointer in bytes.
virtual Bool_t IsaPointer() const
TStreamerObjectPointer(const TStreamerObjectPointer &)
virtual void Init(TVirtualStreamerInfo *obj=0)
Setup the element.
TStreamerObjectPointer & operator=(const TStreamerObjectPointer &)
const char * GetInclude() const
Return the proper include for this element.
TStreamerObject()
Default ctor.
virtual void Init(TVirtualStreamerInfo *obj=0)
Setup the element.
virtual ~TStreamerObject()
TStreamerObject dtor.
TStreamerObject & operator=(const TStreamerObject &)
Int_t GetSize() const
Returns size of object class in bytes.
TStreamerObject(const TStreamerObject &)
const char * GetInclude() const
Return the proper include for this element.
Int_t GetSize() const
Returns size of STL container in bytes.
Bool_t CannotSplit() const
We can not split STL's which are inside a variable size array.
TStreamerSTL()
Default ctor.
TStreamerSTL & operator=(const TStreamerSTL &)
TStreamerSTL(const TStreamerSTL &)
virtual void ls(Option_t *option="") const
Print the content of the element.
Bool_t IsBase() const
Return kTRUE if the element represent a base class.
virtual ~TStreamerSTL()
TStreamerSTL dtor.
virtual void SetStreamer(TMemberStreamer *streamer)
Set pointer to Streamer function for this element NOTE: we do not take ownership.
Bool_t IsaPointer() const
Return true if the data member is a pointer.
const char * GetInclude() const
Return the proper include for this element.
virtual ~TStreamerSTLstring()
TStreamerSTLstring dtor.
TStreamerSTLstring(const TStreamerSTLstring &)
Int_t GetSize() const
Returns size of anyclass in bytes.
TStreamerSTLstring & operator=(const TStreamerSTLstring &)
TStreamerSTLstring()
Default ctor.
TStreamerString()
Default ctor.
Int_t GetSize() const
Returns size of anyclass in bytes.
const char * GetInclude() const
Return the proper include for this element.
TStreamerString & operator=(const TStreamerString &)
virtual ~TStreamerString()
TStreamerString dtor.
TStreamerString(const TStreamerString &)
const char * Data() const
Wrapper around an object and giving indirect access to its content even if the object is not of a cla...
Abstract Interface class describing Streamer information for one class.