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 &)=delete
void SetReadFunc(ROOT::TSchemaRule::ReadFuncPtr_t val)
TStreamerArtificial & operator=(const TStreamerArtificial &)=delete
ROOT::TSchemaRule::ReadRawFuncPtr_t GetReadRawFunc()
ROOT::TSchemaRule::ReadRawFuncPtr_t fReadRawFunc
ROOT::TSchemaRule::ReadFuncPtr_t GetReadFunc()
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 &)=delete
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.
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)
TStreamerBase(const TStreamerBase &)=delete
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)
TStreamerBasicPointer(const TStreamerBasicPointer &)=delete
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
const char * GetCountName() const
virtual Bool_t IsaPointer() const
virtual Bool_t HasCounter() const
TStreamerBasicPointer & operator=(const TStreamerBasicPointer &)=delete
virtual void Init(TVirtualStreamerInfo *obj=0)
Setup the element.
Int_t GetCountVersion() const
TStreamerBasicType * fCounter
const char * GetCountClass() const
TStreamerBasicType & operator=(const TStreamerBasicType &)=delete
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(const TStreamerBasicType &)=delete
TStreamerBasicType()
value of data member when referenced by an array
virtual ~TStreamerBasicType()
TStreamerBasicType dtor.
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
TMemberStreamer * fStreamer
new element class when reading
Double_t GetFactor() const
TStreamerElement(const TStreamerElement &)=delete
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)
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
TStreamerElement & operator=(const TStreamerElement &)=delete
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
TStreamerLoop(const TStreamerLoop &)=delete
virtual Bool_t IsaPointer() const
void SetCountName(const char *name)
virtual ~TStreamerLoop()
TStreamerLoop dtor.
const char * GetCountName() const
TStreamerLoop & operator=(const TStreamerLoop &)=delete
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
Int_t GetSize() const
Returns size of counter in bytes.
TStreamerLoop()
pointer to basic type counter
virtual void Init(TVirtualStreamerInfo *obj=nullptr)
Setup the element.
virtual void Init(TVirtualStreamerInfo *obj=nullptr)
Setup the element.
virtual Bool_t IsaPointer() const
TStreamerObjectAnyPointer(const TStreamerObjectAnyPointer &)=delete
Int_t GetSize() const
Returns size of objectpointer in bytes.
virtual void SetArrayDim(Int_t dim)
Set number of array dimensions.
const char * GetInclude() const
Return the proper include for this element.
virtual ~TStreamerObjectAnyPointer()
TStreamerObjectAnyPointer dtor.
TStreamerObjectAnyPointer & operator=(const TStreamerObjectAnyPointer &)=delete
TStreamerObjectAnyPointer()
Default ctor.
virtual ~TStreamerObjectAny()
TStreamerObjectAny dtor.
TStreamerObjectAny(const TStreamerObjectAny &)=delete
TStreamerObjectAny & operator=(const TStreamerObjectAny &)=delete
Int_t GetSize() const
Returns size of anyclass in bytes.
TStreamerObjectAny()
Default ctor.
virtual void Init(TVirtualStreamerInfo *obj=0)
Setup the element.
const char * GetInclude() const
Return the proper include for this element.
virtual void SetArrayDim(Int_t dim)
Set number of array dimensions.
TStreamerObjectPointer()
Default ctor.
TStreamerObjectPointer(const TStreamerObjectPointer &)=delete
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
virtual void Init(TVirtualStreamerInfo *obj=nullptr)
Setup the element.
TStreamerObjectPointer & operator=(const TStreamerObjectPointer &)=delete
const char * GetInclude() const
Return the proper include for this element.
virtual void Init(TVirtualStreamerInfo *obj=nullptr)
Setup the element.
TStreamerObject(const TStreamerObject &)=delete
TStreamerObject()
Default ctor.
virtual ~TStreamerObject()
TStreamerObject dtor.
Int_t GetSize() const
Returns size of object class in bytes.
TStreamerObject & operator=(const TStreamerObject &)=delete
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 & operator=(const TStreamerSTL &)=delete
TStreamerSTL()
Default ctor.
virtual void ls(Option_t *option="") const
Print the content of the element.
TStreamerSTL(const TStreamerSTL &)=delete
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 & operator=(const TStreamerSTLstring &)=delete
TStreamerSTLstring(const TStreamerSTLstring &)=delete
Int_t GetSize() const
Returns size of anyclass in bytes.
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 &)=delete
TStreamerString(const TStreamerString &)=delete
virtual ~TStreamerString()
TStreamerString dtor.
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.