Logo ROOT  
Reference Guide
TStreamerInfo Class Reference

Describes a persistent version of a class.

A ROOT file contains the list of TStreamerInfo objects for all the class versions written to this file. When reading a file, all the TStreamerInfo objects are read back in memory and registered to the TClass list of TStreamerInfo. One can see the list and contents of the TStreamerInfo on a file with, e.g.,

TFile f("myfile.root");
f.ShowStreamerInfo();
#define f(i)
Definition: RSha256.hxx:104
A ROOT file is a suite of consecutive data records (TKey instances) with a well defined format.
Definition: TFile.h:54

A TStreamerInfo is a list of TStreamerElement objects (one per data member or base class). When streaming an object, the system (TClass) loops on all the TStreamerElement objects and calls the appropriate function for each element type.

Definition at line 39 of file TStreamerInfo.h.

Classes

class  TCompInfo
 
class  TPointerCollectionAdapter
 

Public Types

enum  EReadWrite {
  kBase = 0 , kOffsetL = 20 , kOffsetP = 40 , kCounter = 6 ,
  kCharStar = 7 , kChar = 1 , kShort = 2 , kInt = 3 ,
  kLong = 4 , kFloat = 5 , kDouble = 8 , kDouble32 = 9 ,
  kLegacyChar = 10 , kUChar = 11 , kUShort = 12 , kUInt = 13 ,
  kULong = 14 , kBits = 15 , kLong64 = 16 , kULong64 = 17 ,
  kBool = 18 , kFloat16 = 19 , kObject = 61 , kAny = 62 ,
  kObjectp = 63 , kObjectP = 64 , kTString = 65 , kTObject = 66 ,
  kTNamed = 67 , kAnyp = 68 , kAnyP = 69 , kAnyPnoVT = 70 ,
  kSTLp = 71 , kSkip = 100 , kSkipL = 120 , kSkipP = 140 ,
  kConv = 200 , kConvL = 220 , kConvP = 240 , kSTL = 300 ,
  kSTLstring = 365 , kStreamer = 500 , kStreamLoop = 501 , kCache = 600 ,
  kArtificial = 1000 , kCacheNew = 1001 , kCacheDelete = 1002 , kNeedObjectForVirtualBaseClass = 99997 ,
  kMissing = 99999
}
 Status bits See TVirtualStreamerInfo::EStatusBits for the values. More...
 
typedef TCompInfo TCompInfo_t
 
- Public Types inherited from TVirtualStreamerInfo
enum  EReadWrite {
  kBase = 0 , kOffsetL = 20 , kOffsetP = 40 , kCounter = 6 ,
  kCharStar = 7 , kChar = 1 , kShort = 2 , kInt = 3 ,
  kLong = 4 , kFloat = 5 , kDouble = 8 , kDouble32 = 9 ,
  kUChar = 11 , kUShort = 12 , kUInt = 13 , kULong = 14 ,
  kBits = 15 , kLong64 = 16 , kULong64 = 17 , kBool = 18 ,
  kFloat16 = 19 , kObject = 61 , kAny = 62 , kObjectp = 63 ,
  kObjectP = 64 , kTString = 65 , kTObject = 66 , kTNamed = 67 ,
  kAnyp = 68 , kAnyP = 69 , kAnyPnoVT = 70 , kSTLp = 71 ,
  kSkip = 100 , kSkipL = 120 , kSkipP = 140 , kConv = 200 ,
  kConvL = 220 , kConvP = 240 , kSTL = ROOT::kSTLany , kSTLstring = ROOT::kSTLstring ,
  kStreamer = 500 , kStreamLoop = 501 , kCache = 600 , kArtificial = 1000 ,
  kCacheNew = 1001 , kCacheDelete = 1002 , kNeedObjectForVirtualBaseClass = 99997 , kMissing = 99999
}
 
enum  EStatusBits {
  kCannotOptimize = (1ULL << ( 12 )) , kIgnoreTObjectStreamer = (1ULL << ( 13 )) , kRecovered = (1ULL << ( 14 )) , kNeedCheck = (1ULL << ( 15 )) ,
  kIsCompiled = (1ULL << ( 16 )) , kBuildOldUsed = (1ULL << ( 17 )) , kBuildRunning = (1ULL << ( 18 ))
}
 
enum class  EStatusBitsDupExceptions { kIgnoreTObjectStreamer = TVirtualStreamerInfo::kIgnoreTObjectStreamer }
 
- Public Types inherited from TObject
enum  {
  kIsOnHeap = 0x01000000 , kNotDeleted = 0x02000000 , kZombie = 0x04000000 , kInconsistent = 0x08000000 ,
  kBitMask = 0x00ffffff
}
 
enum  { kSingleKey = (1ULL << ( 0 )) , kOverwrite = (1ULL << ( 1 )) , kWriteDelete = (1ULL << ( 2 )) }
 
enum  EDeprecatedStatusBits { kObjInCanvas = (1ULL << ( 3 )) }
 
enum  EStatusBits {
  kCanDelete = (1ULL << ( 0 )) , kMustCleanup = (1ULL << ( 3 )) , kIsReferenced = (1ULL << ( 4 )) , kHasUUID = (1ULL << ( 5 )) ,
  kCannotPick = (1ULL << ( 6 )) , kNoContextMenu = (1ULL << ( 8 )) , kInvalidObject = (1ULL << ( 13 ))
}
 

Public Member Functions

 TStreamerInfo ()
 Default ctor. More...
 
 TStreamerInfo (TClass *cl)
 Create a TStreamerInfo object. More...
 
virtual ~TStreamerInfo ()
 TStreamerInfo dtor. More...
 
void Build (Bool_t isTransient=kFALSE) override
 Build the I/O data structure for the current class version. More...
 
void BuildCheck (TFile *file=nullptr, Bool_t load=kTRUE) override
 Check if built and consistent with the class dictionary. More...
 
void BuildEmulated (TFile *file) override
 Create an Emulation TStreamerInfo object. More...
 
Bool_t BuildFor (const TClass *cl) override
 Check if we can build this for foreign class - do we have some rules to do that. More...
 
void BuildOld () override
 rebuild the TStreamerInfo structure More...
 
void CallShowMembers (const void *obj, TMemberInspector &insp, Bool_t isTransient) const override
 Emulated a call ShowMembers() on the obj of this class type, passing insp and parent. More...
 
void Clear (Option_t *="") override
 If opt contains 'built', reset this StreamerInfo as if Build or BuildOld was never called on it (useful to force their re-running). More...
 
TObjectClone (const char *newname="") const override
 Make a clone of an object using the Streamer facility. More...
 
Bool_t CompareContent (TClass *cl, TVirtualStreamerInfo *info, Bool_t warn, Bool_t complete, TFile *file) override
 Return True if the current StreamerInfo in cl or info is equivalent to this TStreamerInfo. More...
 
void Compile () override
 loop on the TStreamerElement list regroup members with same type Store predigested information into local arrays. More...
 
void ComputeSize ()
 Compute total size of all persistent elements of the class. More...
 
void DeleteArray (void *p, Bool_t dtorOnly=kFALSE) override
 Destroy an array of emulated objects, with optional delete. More...
 
void Destructor (void *p, Bool_t dtorOnly=kFALSE) override
 Emulated destructor for this class. More...
 
void ForceWriteInfo (TFile *file, Bool_t force=kFALSE) override
 Recursively mark streamer infos for writing to a file. More...
 
TClassStreamerGenEmulatedClassStreamer (const char *class_name, Bool_t silent) override
 Generate emulated class streamer for a given collection class. More...
 
TVirtualCollectionProxyGenEmulatedProxy (const char *class_name, Bool_t silent) override
 Generate emulated collection proxy for a given class. More...
 
Int_t GenerateHeaderFile (const char *dirname, const TList *subClasses=nullptr, const TList *extrainfos=nullptr) override
 Generate header file for the class described by this TStreamerInfo the function is called by TFile::MakeProject for each class in the file. More...
 
TVirtualStreamerInfoGenerateInfoForPair (const std::string &firstname, const std::string &secondname, bool silent, size_t hint_pair_offset, size_t hint_pair_size) override
 Generate the TClass and TStreamerInfo for the requested pair. More...
 
TVirtualStreamerInfoGenerateInfoForPair (const std::string &pairclassname, bool silent, size_t hint_pair_offset, size_t hint_pair_size) override
 Generate the TClass and TStreamerInfo for the requested pair. More...
 
TClassStreamerGenExplicitClassStreamer (const ::ROOT::Detail::TCollectionProxyInfo &info, TClass *cl) override
 Generate class streamer from static functions. More...
 
TVirtualCollectionProxyGenExplicitProxy (const ::ROOT::Detail::TCollectionProxyInfo &info, TClass *cl) override
 Generate proxy from static functions. More...
 
TClassGetActualClass (const void *obj) const override
 Assuming that obj points to (the part of) an object that is of the type described by this streamerInfo, return the actual type of the object (i.e. More...
 
UInt_t GetCheckSum () const override
 
UInt_t GetCheckSum (TClass::ECheckSum code) const
 Recalculate the checksum of this TStreamerInfo based on its code. More...
 
TClassGetClass () const override
 
Int_t GetClassVersion () const override
 
Int_t GetDataMemberOffset (TDataMember *dm, TMemberStreamer *&streamer) const
 Compute data member offset. More...
 
TStreamerElementGetElem (Int_t id) const override
 
TStreamerElementGetElement (Int_t id) const override
 
Int_t GetElementOffset (Int_t id) const override
 
TObjArrayGetElements () const override
 
Int_t GetLength (Int_t id) const
 
ULongptr_t GetMethod (Int_t id) const
 
Int_t GetNdata () const
 
Int_t GetNelement () const
 
Int_t GetNewType (Int_t id) const
 
Int_t GetNumber () const override
 
Int_t GetOffset (const char *) const override
 Return the offset of the data member as indicated by this StreamerInfo. More...
 
Int_t GetOffset (Int_t id) const override
 
Version_t GetOldVersion () const override
 
Int_t GetOnFileClassVersion () const override
 
TStreamerInfoActions::TActionSequenceGetReadMemberWiseActions (Bool_t forCollection)
 
TStreamerInfoActions::TActionSequenceGetReadObjectWiseActions ()
 
TStreamerInfoActions::TActionSequenceGetReadTextActions ()
 
Int_t GetSize () const override
 Return total size of all persistent elements of the class (with offsets). More...
 
Int_t GetSizeElements () const
 Return total size of all persistent elements of the class use GetSize if you want to get the real size in memory. More...
 
TStreamerElementGetStreamerElement (const char *datamember, Int_t &offset) const override
 Return the StreamerElement of "datamember" inside our class or any of its base classes. More...
 
TStreamerElementGetStreamerElementReal (Int_t i, Int_t j) const
 Obsolete: this routine is obsolete and should not longer be used. More...
 
Int_t GetType (Int_t id) const
 
template<typename T >
GetTypedValue (char *pointer, Int_t i, Int_t j, Int_t len) const
 Return value of element i in object at pointer. More...
 
template<typename T >
GetTypedValueClones (TClonesArray *clones, Int_t i, Int_t j, Int_t k, Int_t eoffset) const
 
template<typename T >
GetTypedValueSTL (TVirtualCollectionProxy *cont, Int_t i, Int_t j, Int_t k, Int_t eoffset) const
 Return value of element i in object number j in a TClonesArray and eventually element k in a sub-array. More...
 
template<typename T >
GetTypedValueSTLP (TVirtualCollectionProxy *cont, Int_t i, Int_t j, Int_t k, Int_t eoffset) const
 Return value of element i in object number j in a TClonesArray and eventually element k in a sub-array. More...
 
Double_t GetValue (char *pointer, Int_t i, Int_t j, Int_t len) const
 
Double_t GetValueClones (TClonesArray *clones, Int_t i, Int_t j, Int_t k, Int_t eoffset) const
 
Double_t GetValueSTL (TVirtualCollectionProxy *cont, Int_t i, Int_t j, Int_t k, Int_t eoffset) const
 
Double_t GetValueSTLP (TVirtualCollectionProxy *cont, Int_t i, Int_t j, Int_t k, Int_t eoffset) const
 
TStreamerInfoActions::TActionSequenceGetWriteMemberWiseActions (Bool_t forCollection)
 
TStreamerInfoActions::TActionSequenceGetWriteObjectWiseActions ()
 
TStreamerInfoActions::TActionSequenceGetWriteTextActions ()
 
TClassIsA () const override
 
void ls (Option_t *option="") const override
 List the TStreamerElement list and also the precomputed tables if option contains the string "incOrig", also prints the original (non-optimized elements in the list of compiled elements. More...
 
Bool_t MatchLegacyCheckSum (UInt_t checksum) const
 Return true if the checksum passed as argument is one of the checksum value produced by the older checksum calculation algorithm. More...
 
void * New (void *obj=nullptr) override
 An emulated object is created at address obj, if obj is null we allocate memory for the object. More...
 
void * NewArray (Long_t nElements, void *ary=nullptr) override
 An array of emulated objects is created at address ary, if ary is null, we allocate memory for the array. More...
 
TVirtualStreamerInfoNewInfo (TClass *cl) override
 
void PrintValue (const char *name, char *pointer, Int_t i, Int_t len, Int_t lenmax=1000) const
 print value of element i in object at pointer The function may be called in two ways: -method1 len < 0 i is assumed to be the TStreamerElement number i in StreamerInfo -method2 len >= 0 i is the type address of variable is directly pointer. More...
 
void PrintValueClones (const char *name, TClonesArray *clones, Int_t i, Int_t eoffset, Int_t lenmax=1000) const
 Print value of element i in a TClonesArray. More...
 
void PrintValueSTL (const char *name, TVirtualCollectionProxy *cont, Int_t i, Int_t eoffset, Int_t lenmax=1000) const
 Print value of element i in a TClonesArray. More...
 
template<class T >
Int_t ReadBuffer (TBuffer &b, const T &arrptr, TCompInfo *const *const compinfo, Int_t first, Int_t last, Int_t narr=1, Int_t eoffset=0, Int_t mode=0)
 Deserialize information from buffer b into object at pointer if (arrayMode & 1) ptr is a pointer to array of pointers to the objects otherwise it is a pointer to a pointer to a single object. More...
 
template<class T >
Int_t ReadBufferArtificial (TBuffer &b, const T &arrptr, TStreamerElement *aElement, Int_t narr, Int_t eoffset)
 Handle Artificial StreamerElement. More...
 
Int_t ReadBufferClones (TBuffer &b, TClonesArray *clones, Int_t nc, Int_t first, Int_t eoffset)
 Read for TClonesArray. More...
 
template<class T >
Int_t ReadBufferConv (TBuffer &b, const T &arrptr, const TCompInfo *compinfo, Int_t kase, TStreamerElement *aElement, Int_t narr, Int_t eoffset)
 Convert elements of a TClonesArray. More...
 
template<class T >
Int_t ReadBufferSkip (TBuffer &b, const T &arrptr, const TCompInfo *compinfo, Int_t kase, TStreamerElement *aElement, Int_t narr, Int_t eoffset)
 Skip an element. More...
 
Int_t ReadBufferSTL (TBuffer &b, TVirtualCollectionProxy *cont, Int_t nc, Int_t eoffset, Bool_t v7=kTRUE)
 The STL vector/list is deserialized from the buffer b. More...
 
void SetCheckSum (UInt_t checksum) override
 
void SetClass (TClass *cl) override
 Replace the TClass this streamerInfo is pointing to (belongs to) More...
 
void SetClassVersion (Int_t vers) override
 
void SetOnFileClassVersion (Int_t vers)
 
void Streamer (TBuffer &) override
 Stream an object of class TStreamerInfo. More...
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
void TagFile (TFile *fFile) override
 Mark the classindex of the current file as using this TStreamerInfo. More...
 
void Update (const TClass *oldClass, TClass *newClass) override
 function called by the TClass constructor when replacing an emulated class by the real class More...
 
template<class T >
Int_t WriteBufferAux (TBuffer &b, const T &arr, TCompInfo *const *const compinfo, Int_t first, Int_t last, Int_t narr, Int_t eoffset, Int_t mode)
 The object at pointer is serialized to the buffer b if (arrayMode & 1) ptr is a pointer to array of pointers to the objects otherwise it is a pointer to a pointer to a single object. More...
 
- Public Member Functions inherited from TVirtualStreamerInfo
 TVirtualStreamerInfo ()
 Default constructor. More...
 
 TVirtualStreamerInfo (TClass *)
 Default constructor. More...
 
virtual ~TVirtualStreamerInfo ()
 Destructor. More...
 
virtual void Build (Bool_t isTransient=kFALSE)=0
 
virtual void BuildCheck (TFile *file=0, Bool_t load=kTRUE)=0
 
virtual void BuildEmulated (TFile *file)=0
 
virtual Bool_t BuildFor (const TClass *cl)=0
 
virtual void BuildOld ()=0
 
virtual void CallShowMembers (const void *obj, TMemberInspector &insp, Bool_t isTransient) const =0
 
virtual void Clear (Option_t *="") override=0
 Set name and title to empty strings (""). More...
 
virtual Bool_t CompareContent (TClass *cl, TVirtualStreamerInfo *info, Bool_t warn, Bool_t complete, TFile *file)=0
 
virtual void Compile ()=0
 
virtual void DeleteArray (void *p, Bool_t dtorOnly=kFALSE)=0
 
virtual void Destructor (void *p, Bool_t dtorOnly=kFALSE)=0
 
virtual void ForceWriteInfo (TFile *file, Bool_t force=kFALSE)=0
 
virtual TClassStreamerGenEmulatedClassStreamer (const char *class_name, Bool_t silent)=0
 
virtual TVirtualCollectionProxyGenEmulatedProxy (const char *class_name, Bool_t silent)=0
 
virtual Int_t GenerateHeaderFile (const char *dirname, const TList *subClasses=0, const TList *extrainfos=0)=0
 
virtual TVirtualStreamerInfoGenerateInfoForPair (const std::string &firstname, const std::string &secondname, bool silent, size_t hint_pair_offset, size_t hint_pair_size)=0
 
virtual TVirtualStreamerInfoGenerateInfoForPair (const std::string &pairclassname, bool silent, size_t hint_pair_offset, size_t hint_pair_size)=0
 Generate the TClass and TStreamerInfo for the requested pair. More...
 
virtual TClassStreamerGenExplicitClassStreamer (const ::ROOT::Detail::TCollectionProxyInfo &info, TClass *cl)=0
 
virtual TVirtualCollectionProxyGenExplicitProxy (const ::ROOT::Detail::TCollectionProxyInfo &info, TClass *cl)=0
 
virtual TClassGetActualClass (const void *obj) const =0
 
virtual UInt_t GetCheckSum () const =0
 
virtual TClassGetClass () const =0
 
virtual Int_t GetClassVersion () const =0
 
virtual TStreamerElementGetElem (Int_t id) const =0
 
virtual TStreamerElementGetElement (Int_t id) const =0
 
virtual Int_t GetElementOffset (Int_t id) const =0
 
virtual TObjArrayGetElements () const =0
 
virtual Int_t GetNumber () const =0
 
virtual Int_t GetOffset (const char *) const =0
 
virtual Int_t GetOffset (Int_t id) const =0
 
virtual Version_t GetOldVersion () const =0
 
virtual Int_t GetOnFileClassVersion () const =0
 
virtual Int_t GetSize () const =0
 
virtual TStreamerElementGetStreamerElement (const char *datamember, Int_t &offset) const =0
 
TClassIsA () const override
 
Bool_t IsBuilt () const
 
Bool_t IsCompiled () const
 
Bool_t IsOptimized () const
 
Int_t IsRecovered () const
 
virtual void ls (Option_t *="") const override=0
 List TNamed name and title. More...
 
virtual void * New (void *obj=0)=0
 
virtual void * NewArray (Long_t nElements, void *ary=nullptr)=0
 
virtual TVirtualStreamerInfoNewInfo (TClass *cl)=0
 
virtual void SetCheckSum (UInt_t checksum)=0
 
virtual void SetClass (TClass *cl)=0
 
virtual void SetClassVersion (Int_t vers)=0
 
void Streamer (TBuffer &) override
 Stream an object of class TVirtualStreamerInfo. More...
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
virtual void TagFile (TFile *fFile)=0
 
virtual void Update (const TClass *oldClass, TClass *newClass)=0
 
- Public Member Functions inherited from TNamed
 TNamed ()
 
 TNamed (const char *name, const char *title)
 
 TNamed (const TNamed &named)
 TNamed copy ctor. More...
 
 TNamed (const TString &name, const TString &title)
 
virtual ~TNamed ()
 TNamed destructor. More...
 
void Clear (Option_t *option="") override
 Set name and title to empty strings (""). More...
 
TObjectClone (const char *newname="") const override
 Make a clone of an object using the Streamer facility. More...
 
Int_t Compare (const TObject *obj) const override
 Compare two TNamed objects. More...
 
void Copy (TObject &named) const override
 Copy this to obj. More...
 
virtual void FillBuffer (char *&buffer)
 Encode TNamed into output buffer. More...
 
const char * GetName () const override
 Returns name of object. More...
 
const char * GetTitle () const override
 Returns title of object. More...
 
ULong_t Hash () const override
 Return hash value for this object. More...
 
TClassIsA () const override
 
Bool_t IsSortable () const override
 
void ls (Option_t *option="") const override
 List TNamed name and title. More...
 
TNamedoperator= (const TNamed &rhs)
 TNamed assignment operator. More...
 
void Print (Option_t *option="") const override
 Print TNamed name and title. More...
 
virtual void SetName (const char *name)
 Set the name of the TNamed. More...
 
virtual void SetNameTitle (const char *name, const char *title)
 Set all the TNamed parameters (name and title). More...
 
virtual void SetTitle (const char *title="")
 Set the title of the TNamed. More...
 
virtual Int_t Sizeof () const
 Return size of the TNamed part of the TObject. More...
 
void Streamer (TBuffer &) override
 Stream an object of class TObject. More...
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
- Public Member Functions inherited from TObject
 TObject ()
 TObject constructor. More...
 
 TObject (const TObject &object)
 TObject copy ctor. More...
 
virtual ~TObject ()
 TObject destructor. More...
 
void AbstractMethod (const char *method) const
 Use this method to implement an "abstract" method that you don't want to leave purely abstract. More...
 
virtual void AppendPad (Option_t *option="")
 Append graphics object to current pad. More...
 
virtual void Browse (TBrowser *b)
 Browse object. May be overridden for another default action. More...
 
ULong_t CheckedHash ()
 Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object. More...
 
virtual const char * ClassName () const
 Returns name of class to which the object belongs. More...
 
virtual void Clear (Option_t *="")
 
virtual TObjectClone (const char *newname="") const
 Make a clone of an object using the Streamer facility. More...
 
virtual Int_t Compare (const TObject *obj) const
 Compare abstract method. More...
 
virtual void Copy (TObject &object) const
 Copy this to obj. More...
 
virtual void Delete (Option_t *option="")
 Delete this object. More...
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 Computes distance from point (px,py) to the object. More...
 
virtual void Draw (Option_t *option="")
 Default Draw method for all objects. More...
 
virtual void DrawClass () const
 Draw class inheritance tree of the class to which this object belongs. More...
 
virtual TObjectDrawClone (Option_t *option="") const
 Draw a clone of this object in the current selected pad for instance with: gROOT->SetSelectedPad(gPad). More...
 
virtual void Dump () const
 Dump contents of object on stdout. More...
 
virtual void Error (const char *method, const char *msgfmt,...) const
 Issue error message. More...
 
virtual void Execute (const char *method, const char *params, Int_t *error=0)
 Execute method on this object with the given parameter string, e.g. More...
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=0)
 Execute method on this object with parameters stored in the TObjArray. More...
 
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 Execute action corresponding to an event at (px,py). More...
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 Issue fatal error message. More...
 
virtual TObjectFindObject (const char *name) const
 Must be redefined in derived classes. More...
 
virtual TObjectFindObject (const TObject *obj) const
 Must be redefined in derived classes. More...
 
virtual Option_tGetDrawOption () const
 Get option used by the graphics system to draw this object. More...
 
virtual const char * GetIconName () const
 Returns mime type name of object. More...
 
virtual const char * GetName () const
 Returns name of object. More...
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 Returns string containing info about the object at position (px,py). More...
 
virtual Option_tGetOption () const
 
virtual const char * GetTitle () const
 Returns title of object. More...
 
virtual UInt_t GetUniqueID () const
 Return the unique object id. More...
 
virtual Bool_t HandleTimer (TTimer *timer)
 Execute action in response of a timer timing out. More...
 
virtual ULong_t Hash () const
 Return hash value for this object. More...
 
Bool_t HasInconsistentHash () const
 Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e. More...
 
virtual void Info (const char *method, const char *msgfmt,...) const
 Issue info message. More...
 
virtual Bool_t InheritsFrom (const char *classname) const
 Returns kTRUE if object inherits from class "classname". More...
 
virtual Bool_t InheritsFrom (const TClass *cl) const
 Returns kTRUE if object inherits from TClass cl. More...
 
virtual void Inspect () const
 Dump contents of this object in a graphics canvas. More...
 
void InvertBit (UInt_t f)
 
virtual TClassIsA () const
 
virtual Bool_t IsEqual (const TObject *obj) const
 Default equal comparison (objects are equal if they have the same address in memory). More...
 
virtual Bool_t IsFolder () const
 Returns kTRUE in case object contains browsable objects (like containers or lists of other objects). More...
 
R__ALWAYS_INLINE Bool_t IsOnHeap () const
 
virtual Bool_t IsSortable () const
 
R__ALWAYS_INLINE Bool_t IsZombie () const
 
virtual void ls (Option_t *option="") const
 The ls function lists the contents of a class on stdout. More...
 
void MayNotUse (const char *method) const
 Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary). More...
 
virtual Bool_t Notify ()
 This method must be overridden to handle object notification. More...
 
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 Use this method to declare a method obsolete. More...
 
void operator delete (void *ptr)
 Operator delete. More...
 
void operator delete[] (void *ptr)
 Operator delete []. More...
 
void * operator new (size_t sz)
 
void * operator new (size_t sz, void *vp)
 
void * operator new[] (size_t sz)
 
void * operator new[] (size_t sz, void *vp)
 
TObjectoperator= (const TObject &rhs)
 TObject assignment operator. More...
 
virtual void Paint (Option_t *option="")
 This method must be overridden if a class wants to paint itself. More...
 
virtual void Pop ()
 Pop on object drawn in a pad to the top of the display list. More...
 
virtual void Print (Option_t *option="") const
 This method must be overridden when a class wants to print itself. More...
 
virtual Int_t Read (const char *name)
 Read contents of object with specified name from the current directory. More...
 
virtual void RecursiveRemove (TObject *obj)
 Recursively remove this object from a list. More...
 
void ResetBit (UInt_t f)
 
virtual void SaveAs (const char *filename="", Option_t *option="") const
 Save this object in the file specified by filename. More...
 
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 Save a primitive as a C++ statement(s) on output stream "out". More...
 
void SetBit (UInt_t f)
 
void SetBit (UInt_t f, Bool_t set)
 Set or unset the user status bits as specified in f. More...
 
virtual void SetDrawOption (Option_t *option="")
 Set drawing option for object. More...
 
virtual void SetUniqueID (UInt_t uid)
 Set the unique object id. More...
 
virtual void Streamer (TBuffer &)
 Stream an object of class TObject. More...
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
virtual void SysError (const char *method, const char *msgfmt,...) const
 Issue system error message. More...
 
R__ALWAYS_INLINE Bool_t TestBit (UInt_t f) const
 
Int_t TestBits (UInt_t f) const
 
virtual void UseCurrentStyle ()
 Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked. More...
 
virtual void Warning (const char *method, const char *msgfmt,...) const
 Issue warning message. More...
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0)
 Write this object to the current directory. More...
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0) const
 Write this object to the current directory. More...
 

Static Public Member Functions

static TClassClass ()
 
static const char * Class_Name ()
 
static Version_t Class_Version ()
 
static const char * DeclFileName ()
 
static TStreamerElementGetCurrentElement ()
 static function returning a pointer to the current TStreamerElement fgElement points to the current TStreamerElement being read in ReadBuffer More...
 
- Static Public Member Functions inherited from TVirtualStreamerInfo
static Bool_t CanDelete ()
 static function returning true if ReadBuffer can delete object More...
 
static Bool_t CanOptimize ()
 static function returning true if optimization can be on More...
 
static TClassClass ()
 
static const char * Class_Name ()
 
static Version_t Class_Version ()
 
static const char * DeclFileName ()
 
static TVirtualStreamerInfoFactory ()
 Static function returning a pointer to a new TVirtualStreamerInfo object. More...
 
static TStreamerBasicTypeGetElementCounter (const char *countName, TClass *cl)
 Get pointer to a TStreamerBasicType in TClass *cl static function. More...
 
static const char * GetElementCounterStart (const char *dmTitle)
 Given a comment/title declaring an array counter, for example: More...
 
static Bool_t GetStreamMemberWise ()
 Return whether the TStreamerInfos will save the collections in "member-wise" order whenever possible. More...
 
static void Optimize (Bool_t opt=kTRUE)
 This is a static function. More...
 
static void SetCanDelete (Bool_t opt=kTRUE)
 This is a static function. More...
 
static void SetFactory (TVirtualStreamerInfo *factory)
 static function: Set the StreamerInfo factory More...
 
static Bool_t SetStreamMemberWise (Bool_t enable=kTRUE)
 Set whether the TStreamerInfos will save the collections in "member-wise" order whenever possible. More...
 
- Static Public Member Functions inherited from TNamed
static TClassClass ()
 
static const char * Class_Name ()
 
static Version_t Class_Version ()
 
static const char * DeclFileName ()
 
- Static Public Member Functions inherited from TObject
static TClassClass ()
 
static const char * Class_Name ()
 
static Version_t Class_Version ()
 
static const char * DeclFileName ()
 
static Longptr_t GetDtorOnly ()
 Return destructor only flag. More...
 
static Bool_t GetObjectStat ()
 Get status of object stat flag. More...
 
static void SetDtorOnly (void *obj)
 Set destructor only flag. More...
 
static void SetObjectStat (Bool_t stat)
 Turn on/off tracking of objects in the TObjectTable. More...
 

Private Member Functions

 TStreamerInfo (const TStreamerInfo &)=delete
 
void AddReadAction (TStreamerInfoActions::TActionSequence *readSequence, Int_t index, TCompInfo *compinfo)
 Add a read action for the given element. More...
 
void AddReadMemberWiseVecPtrAction (TStreamerInfoActions::TActionSequence *readSequence, Int_t index, TCompInfo *compinfo)
 Add a read action for the given element. More...
 
void AddReadTextAction (TStreamerInfoActions::TActionSequence *readSequence, Int_t index, TCompInfo *compinfo)
 Add a read text action for the given element. More...
 
void AddWriteAction (TStreamerInfoActions::TActionSequence *writeSequence, Int_t index, TCompInfo *compinfo)
 
void AddWriteMemberWiseVecPtrAction (TStreamerInfoActions::TActionSequence *writeSequence, Int_t index, TCompInfo *compinfo)
 This is for streaming via a TClonesArray (or a vector of pointers of this type). More...
 
void AddWriteTextAction (TStreamerInfoActions::TActionSequence *writeSequence, Int_t index, TCompInfo *compinfo)
 
void DestructorImpl (void *p, Bool_t dtorOnly)
 Internal part of the destructor. More...
 
void GenerateDeclaration (FILE *fp, FILE *sfp, const TList *subClasses, Bool_t top=kTRUE)
 Write the Declaration of class. More...
 
UInt_t GenerateIncludes (FILE *fp, char *inclist, const TList *extrainfos)
 Add to the header file, the #include need for this class. More...
 
void InsertArtificialElements (std::vector< const ROOT::TSchemaRule * > &rules)
 Insert new members as expressed in the array of TSchemaRule(s). More...
 
TStreamerInfooperator= (const TStreamerInfo &)=delete
 
Int_t WriteBuffer (TBuffer &b, char *pointer, Int_t first)
 General Write. More...
 
Int_t WriteBufferClones (TBuffer &b, TClonesArray *clones, Int_t nc, Int_t first, Int_t eoffset)
 Write for ClonesArray ('first' is an id between -1 and fNfulldata). More...
 
Int_t WriteBufferSTL (TBuffer &b, TVirtualCollectionProxy *cont, Int_t nc)
 Write for STL container. ('first' is an id between -1 and fNfulldata). More...
 
Int_t WriteBufferSTLPtrs (TBuffer &b, TVirtualCollectionProxy *cont, Int_t nc, Int_t first, Int_t eoffset)
 Write for STL container. More...
 

Static Private Member Functions

template<typename T >
static T GetTypedValueAux (Int_t type, void *ladd, int k, Int_t len)
 Get the value from inside a collection. More...
 
static void PrintValueAux (char *ladd, Int_t atype, TStreamerElement *aElement, Int_t aleng, Int_t *count)
 print value of element in object at pointer, type atype, leng aleng or *count The function may be called in two ways: -method1 len < 0 i is assumed to be the TStreamerElement number i in StreamerInfo -method2 len >= 0 i is the type address of variable is directly pointer. More...
 

Private Attributes

UInt_t fCheckSum
 Checksum of original class. More...
 
TClassfClass
 !pointer to class More...
 
Int_t fClassVersion
 Class version identifier. More...
 
TCompInfofComp
 ![fNslots with less than fElements->GetEntries()*1.5 used] Compiled info More...
 
TCompInfo ** fCompFull
 ![fElements->GetEntries()] More...
 
TCompInfo ** fCompOpt
 ![fNdata] More...
 
TObjArrayfElements
 Array of TStreamerElements. More...
 
Int_t fNdata
 !number of optimized elements More...
 
Int_t fNfulldata
 !number of elements More...
 
Int_t fNslots
 !total number of slots in fComp. More...
 
Int_t fNumber
 !Unique identifier More...
 
Int_t fNVirtualInfoLoc
 ! Number of virtual info location to update. More...
 
Version_t fOldVersion
 ! Version of the TStreamerInfo object read from the file More...
 
Int_t fOnFileClassVersion
 !Class version identifier as stored on file. More...
 
TStreamerInfoActions::TActionSequencefReadMemberWise
 ! List of read action resulting from the compilation for use in member wise streaming. More...
 
TStreamerInfoActions::TActionSequencefReadMemberWiseVecPtr
 ! List of read action resulting from the compilation for use in member wise streaming. More...
 
TStreamerInfoActions::TActionSequencefReadObjectWise
 ! List of read action resulting from the compilation. More...
 
TStreamerInfoActions::TActionSequencefReadText
 ! List of text read action resulting from the compilation, used for JSON. More...
 
Int_t fSize
 !size of the persistent class More...
 
ULong_tfVirtualInfoLoc
 ![fNVirtualInfoLoc] Location of the pointer to the TStreamerInfo inside the object (when emulated) More...
 
TStreamerInfoActions::TActionSequencefWriteMemberWise
 ! List of write action resulting from the compilation for use in member wise streaming. More...
 
TStreamerInfoActions::TActionSequencefWriteMemberWiseVecPtr
 ! List of write action resulting from the compilation for use in member wise streaming. More...
 
TStreamerInfoActions::TActionSequencefWriteObjectWise
 ! List of write action resulting from the compilation. More...
 
TStreamerInfoActions::TActionSequencefWriteText
 ! List of text write action resulting for the compilation, used for JSON. More...
 

Static Private Attributes

static std::atomic< Int_tfgCount {0}
 Number of TStreamerInfo instances. More...
 

Friends

class TStreamerInfoActions::TActionSequence
 

Additional Inherited Members

- Protected Types inherited from TObject
enum  { kOnlyPrepStep = (1ULL << ( 3 )) }
 
- Protected Member Functions inherited from TVirtualStreamerInfo
 TVirtualStreamerInfo (const TVirtualStreamerInfo &info)
 copy constructor More...
 
TVirtualStreamerInfooperator= (const TVirtualStreamerInfo &)
 assignment operator More...
 
void ResetIsCompiled ()
 
void SetIsCompiled ()
 
- Protected Member Functions inherited from TObject
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 Interface to ErrorHandler (protected). More...
 
void MakeZombie ()
 
- Protected Attributes inherited from TVirtualStreamerInfo
Bool_t fIsBuilt: 1
 true if the StreamerInfo has been optimized More...
 
std::atomic< Bool_tfIsCompiled
 true if the StreamerInfo has been 'built' (i.e. has all the StreamerElements it should have) More...
 
Bool_t fOptimized: 1
 
- Protected Attributes inherited from TNamed
TString fName
 
TString fTitle
 
- Static Protected Attributes inherited from TVirtualStreamerInfo
static Bool_t fgCanDelete = kTRUE
 true if the StreamerInfo has been compiled (i.e. fully built, ready to use for streaming). More...
 
static TVirtualStreamerInfofgInfoFactory = nullptr
 
static Bool_t fgOptimize = kTRUE
 
static Bool_t fgStreamMemberWise = kTRUE
 

#include <TStreamerInfo.h>

Inheritance diagram for TStreamerInfo:
[legend]

Member Typedef Documentation

◆ TCompInfo_t

Definition at line 66 of file TStreamerInfo.h.

Member Enumeration Documentation

◆ EReadWrite

Status bits See TVirtualStreamerInfo::EStatusBits for the values.

EReadWrite Enumerator

Enum Constant Description
kBase Base class element
kOffsetL Fixed size array
kOffsetP Pointer to object
kCounter Counter for array size
kCharStar Pointer to array of char
kLegacyChar Equal to TDataType's kchar
kBits TObject::fBits in case of a referenced object
kObject Class derived from TObject, or for TStreamerSTL::fCtype non-pointer elements
kObjectp Class* derived from TObject and with comment field //->Class, or for TStreamerSTL::fCtype: pointer elements
kObjectP Class* derived from TObject and with NO comment field //->Class
kAny Class not derived from TObject
kAnyp Class* not derived from TObject with comment field //->Class
kAnyP Class* not derived from TObject with NO comment field //->Class
kAnyPnoVT Class* not derived from TObject with NO comment field //->Class and Class has NO virtual table
kSTLp Pointer to STL container
kTString TString, special case
kTObject TObject, special case
kTNamed TNamed , special case
kCache Cache the value in memory than is not part of the object but is accessible via a SchemaRule
Enumerator
kBase 
kOffsetL 
kOffsetP 
kCounter 
kCharStar 
kChar 
kShort 
kInt 
kLong 
kFloat 
kDouble 
kDouble32 
kLegacyChar 
kUChar 

Equal to TDataType's kchar.

kUShort 
kUInt 
kULong 
kBits 
kLong64 
kULong64 
kBool 
kFloat16 
kObject 
kAny 
kObjectp 
kObjectP 
kTString 
kTObject 
kTNamed 
kAnyp 
kAnyP 
kAnyPnoVT 
kSTLp 
kSkip 
kSkipL 
kSkipP 
kConv 
kConvL 
kConvP 
kSTL 
kSTLstring 
kStreamer 
kStreamLoop 
kCache 
kArtificial 

Cache the value in memory than is not part of the object but is accessible via a SchemaRule.

kCacheNew 
kCacheDelete 
kNeedObjectForVirtualBaseClass 
kMissing 

Definition at line 160 of file TStreamerInfo.h.

Constructor & Destructor Documentation

◆ TStreamerInfo() [1/3]

TStreamerInfo::TStreamerInfo ( const TStreamerInfo )
privatedelete

◆ TStreamerInfo() [2/3]

TStreamerInfo::TStreamerInfo ( )

Default ctor.

Definition at line 145 of file TStreamerInfo.cxx.

◆ TStreamerInfo() [3/3]

TStreamerInfo::TStreamerInfo ( TClass cl)

Create a TStreamerInfo object.

Definition at line 177 of file TStreamerInfo.cxx.

◆ ~TStreamerInfo()

TStreamerInfo::~TStreamerInfo ( )
virtual

TStreamerInfo dtor.

Definition at line 211 of file TStreamerInfo.cxx.

Member Function Documentation

◆ AddReadAction()

void TStreamerInfo::AddReadAction ( TStreamerInfoActions::TActionSequence readSequence,
Int_t  index,
TStreamerInfo::TCompInfo compinfo 
)
private

Add a read action for the given element.

Definition at line 3270 of file TStreamerInfoActions.cxx.

◆ AddReadMemberWiseVecPtrAction()

void TStreamerInfo::AddReadMemberWiseVecPtrAction ( TStreamerInfoActions::TActionSequence readSequence,
Int_t  i,
TStreamerInfo::TCompInfo compinfo 
)
private

Add a read action for the given element.

This is for streaming via a TClonesArray (or a vector of pointers of this type).

Definition at line 3569 of file TStreamerInfoActions.cxx.

◆ AddReadTextAction()

void TStreamerInfo::AddReadTextAction ( TStreamerInfoActions::TActionSequence readSequence,
Int_t  index,
TStreamerInfo::TCompInfo compinfo 
)
private

Add a read text action for the given element.

Definition at line 3502 of file TStreamerInfoActions.cxx.

◆ AddWriteAction()

void TStreamerInfo::AddWriteAction ( TStreamerInfoActions::TActionSequence writeSequence,
Int_t  index,
TStreamerInfo::TCompInfo compinfo 
)
private

Definition at line 3585 of file TStreamerInfoActions.cxx.

◆ AddWriteMemberWiseVecPtrAction()

void TStreamerInfo::AddWriteMemberWiseVecPtrAction ( TStreamerInfoActions::TActionSequence writeSequence,
Int_t  index,
TStreamerInfo::TCompInfo compinfo 
)
private

This is for streaming via a TClonesArray (or a vector of pointers of this type).

Definition at line 3889 of file TStreamerInfoActions.cxx.

◆ AddWriteTextAction()

void TStreamerInfo::AddWriteTextAction ( TStreamerInfoActions::TActionSequence writeSequence,
Int_t  index,
TStreamerInfo::TCompInfo compinfo 
)
private

Definition at line 3691 of file TStreamerInfoActions.cxx.

◆ Build()

void TStreamerInfo::Build ( Bool_t  isTransient = kFALSE)
overridevirtual

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.

Implements TVirtualStreamerInfo.

Definition at line 263 of file TStreamerInfo.cxx.

◆ BuildCheck()

void TStreamerInfo::BuildCheck ( TFile file = nullptr,
Bool_t  load = kTRUE 
)
overridevirtual

Check if built and consistent with the class dictionary.

This method is called by TFile::ReadStreamerInfo.

Implements TVirtualStreamerInfo.

Definition at line 726 of file TStreamerInfo.cxx.

◆ BuildEmulated()

void TStreamerInfo::BuildEmulated ( TFile file)
overridevirtual

Create an Emulation TStreamerInfo object.

Implements TVirtualStreamerInfo.

Definition at line 1252 of file TStreamerInfo.cxx.

◆ BuildFor()

Bool_t TStreamerInfo::BuildFor ( const TClass cl)
overridevirtual

Check if we can build this for foreign class - do we have some rules to do that.

Implements TVirtualStreamerInfo.

Definition at line 1289 of file TStreamerInfo.cxx.

◆ BuildOld()

void TStreamerInfo::BuildOld ( )
overridevirtual

rebuild the TStreamerInfo structure

Implements TVirtualStreamerInfo.

Definition at line 1703 of file TStreamerInfo.cxx.

◆ CallShowMembers()

void TStreamerInfo::CallShowMembers ( const void *  obj,
TMemberInspector insp,
Bool_t  isTransient 
) const
overridevirtual

Emulated a call ShowMembers() on the obj of this class type, passing insp and parent.

Implements TVirtualStreamerInfo.

Definition at line 2746 of file TStreamerInfo.cxx.

◆ Class()

static TClass * TStreamerInfo::Class ( )
static
Returns
TClass describing this class

◆ Class_Name()

static const char * TStreamerInfo::Class_Name ( )
static
Returns
Name of this class

◆ Class_Version()

static Version_t TStreamerInfo::Class_Version ( )
inlinestatic
Returns
Version of this class

Definition at line 295 of file TStreamerInfo.h.

◆ Clear()

void TStreamerInfo::Clear ( Option_t option = "")
overridevirtual

If opt contains 'built', reset this StreamerInfo as if Build or BuildOld was never called on it (useful to force their re-running).

Implements TVirtualStreamerInfo.

Definition at line 2610 of file TStreamerInfo.cxx.

◆ Clone()

TObject * TStreamerInfo::Clone ( const char *  newname = "") const
overridevirtual

Make a clone of an object using the Streamer facility.

If newname is specified, this will be the name of the new object.

Reimplemented from TNamed.

Definition at line 2812 of file TStreamerInfo.cxx.

◆ CompareContent()

Bool_t TStreamerInfo::CompareContent ( TClass cl,
TVirtualStreamerInfo info,
Bool_t  warn,
Bool_t  complete,
TFile file 
)
overridevirtual

Return True if the current StreamerInfo in cl or info is equivalent to this TStreamerInfo.

In this context 'Equivalent' means the same number of persistent data member which the same actual C++ type and the same name. If 'warn' is true, Warning message are printed to explicit the differences. If 'complete' is false, stop at the first error, otherwise continue until all members have been checked.

Implements TVirtualStreamerInfo.

Definition at line 2848 of file TStreamerInfo.cxx.

◆ Compile()

void TStreamerInfo::Compile ( )
overridevirtual

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.

Implements TVirtualStreamerInfo.

Definition at line 3003 of file TStreamerInfoActions.cxx.

◆ ComputeSize()

void TStreamerInfo::ComputeSize ( )

Compute total size of all persistent elements of the class.

Definition at line 3131 of file TStreamerInfo.cxx.

◆ DeclFileName()

static const char * TStreamerInfo::DeclFileName ( )
inlinestatic
Returns
Name of the file containing the class declaration

Definition at line 295 of file TStreamerInfo.h.

◆ DeleteArray()

void TStreamerInfo::DeleteArray ( void *  p,
Bool_t  dtorOnly = kFALSE 
)
overridevirtual

Destroy an array of emulated objects, with optional delete.

Implements TVirtualStreamerInfo.

Definition at line 5120 of file TStreamerInfo.cxx.

◆ Destructor()

void TStreamerInfo::Destructor ( void *  obj,
Bool_t  dtorOnly = kFALSE 
)
overridevirtual

Emulated destructor for this class.

An emulated object is destroyed at address p. Destruct each of the datamembers in the same order as the implicit destructor would.

Implements TVirtualStreamerInfo.

Definition at line 5094 of file TStreamerInfo.cxx.

◆ DestructorImpl()

void TStreamerInfo::DestructorImpl ( void *  obj,
Bool_t  dtorOnly 
)
private

Internal part of the destructor.

Destruct each of the datamembers in the same order as the implicit destructor would.

Definition at line 4961 of file TStreamerInfo.cxx.

◆ ForceWriteInfo()

void TStreamerInfo::ForceWriteInfo ( TFile file,
Bool_t  force = kFALSE 
)
overridevirtual

Recursively mark streamer infos for writing to a file.

Will force this TStreamerInfo to the file and also all the dependencies. If argument force > 0 the loop on class dependencies is forced. This function is called when streaming a class that contains a null pointer. In this case, the TStreamerInfo for the class with the null pointer must be written to the file and also all the TStreamerInfo of all the classes referenced by the class. We must be given a file to write to.

Implements TVirtualStreamerInfo.

Definition at line 3169 of file TStreamerInfo.cxx.

◆ GenEmulatedClassStreamer()

TClassStreamer * TStreamerInfo::GenEmulatedClassStreamer ( const char *  class_name,
Bool_t  silent 
)
overridevirtual

Generate emulated class streamer for a given collection class.

Implements TVirtualStreamerInfo.

Definition at line 5661 of file TStreamerInfo.cxx.

◆ GenEmulatedProxy()

TVirtualCollectionProxy * TStreamerInfo::GenEmulatedProxy ( const char *  class_name,
Bool_t  silent 
)
overridevirtual

Generate emulated collection proxy for a given class.

Implements TVirtualStreamerInfo.

Definition at line 5652 of file TStreamerInfo.cxx.

◆ GenerateDeclaration()

void TStreamerInfo::GenerateDeclaration ( FILE *  fp,
FILE *  sfp,
const TList subClasses,
Bool_t  top = kTRUE 
)
private

Write the Declaration of class.

Definition at line 3663 of file TStreamerInfo.cxx.

◆ GenerateHeaderFile()

Int_t TStreamerInfo::GenerateHeaderFile ( const char *  dirname,
const TList subClasses = nullptr,
const TList extrainfos = nullptr 
)
overridevirtual

Generate header file for the class described by this TStreamerInfo the function is called by TFile::MakeProject for each class in the file.

Implements TVirtualStreamerInfo.

Definition at line 4002 of file TStreamerInfo.cxx.

◆ GenerateIncludes()

UInt_t TStreamerInfo::GenerateIncludes ( FILE *  fp,
char *  inclist,
const TList extrainfos 
)
private

Add to the header file, the #include need for this class.

Definition at line 3925 of file TStreamerInfo.cxx.

◆ GenerateInfoForPair() [1/2]

TVirtualStreamerInfo * TStreamerInfo::GenerateInfoForPair ( const std::string &  firstname,
const std::string &  secondname,
bool  silent,
size_t  hint_pair_offset,
size_t  hint_pair_size 
)
overridevirtual

Generate the TClass and TStreamerInfo for the requested pair.

This creates a TVirtualStreamerInfo for the pair and trigger the BuildCheck/Old to provoke the creation of the corresponding TClass. This relies on the dictionary for std::pair<const int, int> to already exist (or the interpreter information being available) as it is used as a template.

Note
The returned object is owned by the caller.

Implements TVirtualStreamerInfo.

Definition at line 5762 of file TStreamerInfo.cxx.

◆ GenerateInfoForPair() [2/2]

TVirtualStreamerInfo * TStreamerInfo::GenerateInfoForPair ( const std::string &  pairclassname,
bool  silent,
size_t  hint_pair_offset,
size_t  hint_pair_size 
)
overridevirtual

Generate the TClass and TStreamerInfo for the requested pair.

This creates a TVirtualStreamerInfo for the pair and trigger the BuildCheck/Old to provokes the creation of the corresponding TClass. This relies on the dictionary for std::pair<const int, int> to already exist (or the interpreter information being available) as it is used as a template.

Note
The returned object is owned by the caller.

Implements TVirtualStreamerInfo.

Definition at line 5831 of file TStreamerInfo.cxx.

◆ GenExplicitClassStreamer()

TClassStreamer * TStreamerInfo::GenExplicitClassStreamer ( const ::ROOT::Detail::TCollectionProxyInfo info,
TClass cl 
)
overridevirtual

Generate class streamer from static functions.

Implements TVirtualStreamerInfo.

Definition at line 5679 of file TStreamerInfo.cxx.

◆ GenExplicitProxy()

TVirtualCollectionProxy * TStreamerInfo::GenExplicitProxy ( const ::ROOT::Detail::TCollectionProxyInfo info,
TClass cl 
)
overridevirtual

Generate proxy from static functions.

Implements TVirtualStreamerInfo.

Definition at line 5670 of file TStreamerInfo.cxx.

◆ GetActualClass()

TClass * TStreamerInfo::GetActualClass ( const void *  obj) const
overridevirtual

Assuming that obj points to (the part of) an object that is of the type described by this streamerInfo, return the actual type of the object (i.e.

the type described by this streamerInfo is a base class of the actual type of the object. This routine should only be called if the class described by this StreamerInfo is 'emulated'.

Implements TVirtualStreamerInfo.

Definition at line 3243 of file TStreamerInfo.cxx.

◆ GetCheckSum() [1/2]

UInt_t TStreamerInfo::GetCheckSum ( ) const
inlineoverridevirtual

Implements TVirtualStreamerInfo.

Definition at line 200 of file TStreamerInfo.h.

◆ GetCheckSum() [2/2]

UInt_t TStreamerInfo::GetCheckSum ( TClass::ECheckSum  code) const

Recalculate the checksum of this TStreamerInfo based on its code.

The class ckecksum is used by the automatic schema evolution algorithm to uniquely identify a class version. The check sum is built from the names/types of base classes and data members. The valid range of code is determined by ECheckSum.

  • kNoEnum: data members of type enum are not counted in the checksum
  • kNoRange: return the checksum of data members and base classes, not including the ranges and array size found in comments.
  • kWithTypeDef: use the sugared type name in the calculation.

This is needed for backward compatibility.

WARNING

This function must be kept in sync with TClass::GetCheckSum. They are both used to handle backward compatibility and should both return the same values. TStreamerInfo uses the information in TStreamerElement while TClass uses the information from TClass::GetListOfBases and TClass::GetListOfDataMembers. Original algorithm from Victor Perevovchikov (perev.nosp@m.@bnl.nosp@m..gov).

Definition at line 3286 of file TStreamerInfo.cxx.

◆ GetClass()

TClass * TStreamerInfo::GetClass ( ) const
inlineoverridevirtual

Implements TVirtualStreamerInfo.

Definition at line 199 of file TStreamerInfo.h.

◆ GetClassVersion()

Int_t TStreamerInfo::GetClassVersion ( ) const
inlineoverridevirtual

Implements TVirtualStreamerInfo.

Definition at line 202 of file TStreamerInfo.h.

◆ GetCurrentElement()

TStreamerElement * TStreamerInfo::GetCurrentElement ( )
static

static function returning a pointer to the current TStreamerElement fgElement points to the current TStreamerElement being read in ReadBuffer

Definition at line 46 of file TStreamerInfoReadBuffer.cxx.

◆ GetDataMemberOffset()

Int_t TStreamerInfo::GetDataMemberOffset ( TDataMember dm,
TMemberStreamer *&  streamer 
) const

Compute data member offset.

Return pointer to the Streamer function if one exists

Definition at line 4117 of file TStreamerInfo.cxx.

◆ GetElem()

TStreamerElement * TStreamerInfo::GetElem ( Int_t  id) const
inlineoverridevirtual

Implements TVirtualStreamerInfo.

Definition at line 205 of file TStreamerInfo.h.

◆ GetElement()

TStreamerElement * TStreamerInfo::GetElement ( Int_t  id) const
inlineoverridevirtual

Implements TVirtualStreamerInfo.

Definition at line 206 of file TStreamerInfo.h.

◆ GetElementOffset()

Int_t TStreamerInfo::GetElementOffset ( Int_t  id) const
inlineoverridevirtual

Implements TVirtualStreamerInfo.

Definition at line 207 of file TStreamerInfo.h.

◆ GetElements()

TObjArray * TStreamerInfo::GetElements ( ) const
inlineoverridevirtual

Implements TVirtualStreamerInfo.

Definition at line 204 of file TStreamerInfo.h.

◆ GetLength()

Int_t TStreamerInfo::GetLength ( Int_t  id) const
inline

Definition at line 217 of file TStreamerInfo.h.

◆ GetMethod()

ULongptr_t TStreamerInfo::GetMethod ( Int_t  id) const
inline

Definition at line 218 of file TStreamerInfo.h.

◆ GetNdata()

Int_t TStreamerInfo::GetNdata ( ) const
inline

Definition at line 214 of file TStreamerInfo.h.

◆ GetNelement()

Int_t TStreamerInfo::GetNelement ( ) const
inline

Definition at line 215 of file TStreamerInfo.h.

◆ GetNewType()

Int_t TStreamerInfo::GetNewType ( Int_t  id) const
inline

Definition at line 219 of file TStreamerInfo.h.

◆ GetNumber()

Int_t TStreamerInfo::GetNumber ( ) const
inlineoverridevirtual

Implements TVirtualStreamerInfo.

Definition at line 216 of file TStreamerInfo.h.

◆ GetOffset() [1/2]

Int_t TStreamerInfo::GetOffset ( const char *  elementName) const
overridevirtual

Return the offset of the data member as indicated by this StreamerInfo.

Implements TVirtualStreamerInfo.

Definition at line 4164 of file TStreamerInfo.cxx.

◆ GetOffset() [2/2]

Int_t TStreamerInfo::GetOffset ( Int_t  id) const
inlineoverridevirtual

Implements TVirtualStreamerInfo.

Definition at line 221 of file TStreamerInfo.h.

◆ GetOldVersion()

Version_t TStreamerInfo::GetOldVersion ( ) const
inlineoverridevirtual

Implements TVirtualStreamerInfo.

Definition at line 222 of file TStreamerInfo.h.

◆ GetOnFileClassVersion()

Int_t TStreamerInfo::GetOnFileClassVersion ( ) const
inlineoverridevirtual

Implements TVirtualStreamerInfo.

Definition at line 223 of file TStreamerInfo.h.

◆ GetReadMemberWiseActions()

TStreamerInfoActions::TActionSequence * TStreamerInfo::GetReadMemberWiseActions ( Bool_t  forCollection)
inline

Definition at line 208 of file TStreamerInfo.h.

◆ GetReadObjectWiseActions()

TStreamerInfoActions::TActionSequence * TStreamerInfo::GetReadObjectWiseActions ( )
inline

Definition at line 209 of file TStreamerInfo.h.

◆ GetReadTextActions()

TStreamerInfoActions::TActionSequence * TStreamerInfo::GetReadTextActions ( )
inline

Definition at line 210 of file TStreamerInfo.h.

◆ GetSize()

Int_t TStreamerInfo::GetSize ( ) const
overridevirtual

Return total size of all persistent elements of the class (with offsets).

Implements TVirtualStreamerInfo.

Definition at line 4178 of file TStreamerInfo.cxx.

◆ GetSizeElements()

Int_t TStreamerInfo::GetSizeElements ( ) const

Return total size of all persistent elements of the class use GetSize if you want to get the real size in memory.

Definition at line 4187 of file TStreamerInfo.cxx.

◆ GetStreamerElement()

TStreamerElement * TStreamerInfo::GetStreamerElement ( const char *  datamember,
Int_t offset 
) const
overridevirtual

Return the StreamerElement of "datamember" inside our class or any of its base classes.

The offset information contained in the StreamerElement is related to its immediately containing class, so we return in 'offset' the offset inside our class.

Implements TVirtualStreamerInfo.

Definition at line 4207 of file TStreamerInfo.cxx.

◆ GetStreamerElementReal()

TStreamerElement * TStreamerInfo::GetStreamerElementReal ( Int_t  i,
Int_t  j 
) const

Obsolete: this routine is obsolete and should not longer be used.

TStreamerInfo holds two types of data structures

  • TObjArray* fElements; containing the list of all TStreamerElement objects for this class version.
  • ULong_t* fElem; containing the preprocessed information by TStreamerInfo::Compile In case consecutive data members are of the same type, the Compile function declares the consecutive elements as one single element in fElems.

Example with the class TAttLine:

TClass::GetClass("TAttLine")->GetStreamerInfo()->ls(); produces;
StreamerInfo for class: TAttLine, version=1
short fLineColor offset= 4 type= 2 line color
short fLineStyle offset= 6 type= 2 line style
short fLineWidth offset= 8 type= 2 line width
i= 0, fLineColor type= 22, offset= 4, len=3, method=0
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h offset
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t UChar_t len
Option_t Option_t width
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type
Option_t Option_t style
Line Attributes class.
Definition: TAttLine.h:18
TVirtualStreamerInfo * GetStreamerInfo(Int_t version=0, Bool_t isTransient=kFALSE) const
returns a pointer to the TVirtualStreamerInfo object for version If the object does not exist,...
Definition: TClass.cxx:4587
static TClass * GetClass(const char *name, Bool_t load=kTRUE, Bool_t silent=kFALSE)
Static method returning pointer to TClass of the specified class name.
Definition: TClass.cxx:2968
virtual void ls(Option_t *="") const override=0
List TNamed name and title.
TLine * line

For I/O implementations (eg. XML) , one has to know the original name of the data member. This function can be used to return a pointer to the original TStreamerElement object corresponding to the j-th element of a compressed array in fElems. Parameters description:

  • i: the serial number in array fElem
  • j: the element number in the array of consecutive types In the above example the class TAttLine has 3 consecutive data members of the same type "short". Compile makes one single array of 3 elements. To access the TStreamerElement for the second element of this array, one can call:
    auto el = GetStreamerElementReal(0,1);
    auto membername = el->GetName();
    TStreamerElement * GetStreamerElementReal(Int_t i, Int_t j) const
    Obsolete: this routine is obsolete and should not longer be used.
    This function is typically called from TBuffer, TXmlBuffer.

Definition at line 4311 of file TStreamerInfo.cxx.

◆ GetType()

Int_t TStreamerInfo::GetType ( Int_t  id) const
inline

Definition at line 228 of file TStreamerInfo.h.

◆ GetTypedValue()

template<typename T >
T TStreamerInfo::GetTypedValue ( char *  pointer,
Int_t  i,
Int_t  j,
Int_t  len 
) const

Return value of element i in object at pointer.

The function may be called in two ways:

  • method1 len < 0: i is assumed to be the TStreamerElement number i in StreamerInfo
  • method2 len >= 0: i is the type, address of variable is directly pointer.

Definition at line 4437 of file TStreamerInfo.cxx.

◆ GetTypedValueAux()

template<typename T >
T TStreamerInfo::GetTypedValueAux ( Int_t  type,
void *  ladd,
int  k,
Int_t  len 
)
staticprivate

Get the value from inside a collection.

Definition at line 4333 of file TStreamerInfo.cxx.

◆ GetTypedValueClones()

template<typename T >
T TStreamerInfo::GetTypedValueClones ( TClonesArray clones,
Int_t  i,
Int_t  j,
Int_t  k,
Int_t  eoffset 
) const

Definition at line 4479 of file TStreamerInfo.cxx.

◆ GetTypedValueSTL()

template<typename T >
T TStreamerInfo::GetTypedValueSTL ( TVirtualCollectionProxy cont,
Int_t  i,
Int_t  j,
Int_t  k,
Int_t  eoffset 
) const

Return value of element i in object number j in a TClonesArray and eventually element k in a sub-array.

Definition at line 4501 of file TStreamerInfo.cxx.

◆ GetTypedValueSTLP()

template<typename T >
T TStreamerInfo::GetTypedValueSTLP ( TVirtualCollectionProxy cont,
Int_t  i,
Int_t  j,
Int_t  k,
Int_t  eoffset 
) const

Return value of element i in object number j in a TClonesArray and eventually element k in a sub-array.

Definition at line 4520 of file TStreamerInfo.cxx.

◆ GetValue()

Double_t TStreamerInfo::GetValue ( char *  pointer,
Int_t  i,
Int_t  j,
Int_t  len 
) const
inline

Definition at line 233 of file TStreamerInfo.h.

◆ GetValueClones()

Double_t TStreamerInfo::GetValueClones ( TClonesArray clones,
Int_t  i,
Int_t  j,
Int_t  k,
Int_t  eoffset 
) const
inline

Definition at line 234 of file TStreamerInfo.h.

◆ GetValueSTL()

Double_t TStreamerInfo::GetValueSTL ( TVirtualCollectionProxy cont,
Int_t  i,
Int_t  j,
Int_t  k,
Int_t  eoffset 
) const
inline

Definition at line 235 of file TStreamerInfo.h.

◆ GetValueSTLP()

Double_t TStreamerInfo::GetValueSTLP ( TVirtualCollectionProxy cont,
Int_t  i,
Int_t  j,
Int_t  k,
Int_t  eoffset 
) const
inline

Definition at line 236 of file TStreamerInfo.h.

◆ GetWriteMemberWiseActions()

TStreamerInfoActions::TActionSequence * TStreamerInfo::GetWriteMemberWiseActions ( Bool_t  forCollection)
inline

Definition at line 211 of file TStreamerInfo.h.

◆ GetWriteObjectWiseActions()

TStreamerInfoActions::TActionSequence * TStreamerInfo::GetWriteObjectWiseActions ( )
inline

Definition at line 212 of file TStreamerInfo.h.

◆ GetWriteTextActions()

TStreamerInfoActions::TActionSequence * TStreamerInfo::GetWriteTextActions ( )
inline

Definition at line 213 of file TStreamerInfo.h.

◆ InsertArtificialElements()

void TStreamerInfo::InsertArtificialElements ( std::vector< const ROOT::TSchemaRule * > &  rules)
private

Insert new members as expressed in the array of TSchemaRule(s).

Definition at line 4536 of file TStreamerInfo.cxx.

◆ IsA()

TClass * TStreamerInfo::IsA ( ) const
inlineoverridevirtual
Returns
TClass describing current object

Reimplemented from TVirtualStreamerInfo.

Definition at line 295 of file TStreamerInfo.h.

◆ ls()

void TStreamerInfo::ls ( Option_t option = "") const
overridevirtual

List the TStreamerElement list and also the precomputed tables if option contains the string "incOrig", also prints the original (non-optimized elements in the list of compiled elements.

Implements TVirtualStreamerInfo.

Definition at line 4678 of file TStreamerInfo.cxx.

◆ MatchLegacyCheckSum()

Bool_t TStreamerInfo::MatchLegacyCheckSum ( UInt_t  checksum) const

Return true if the checksum passed as argument is one of the checksum value produced by the older checksum calculation algorithm.

Definition at line 3258 of file TStreamerInfo.cxx.

◆ New()

void * TStreamerInfo::New ( void *  obj = nullptr)
overridevirtual

An emulated object is created at address obj, if obj is null we allocate memory for the object.

Implements TVirtualStreamerInfo.

Definition at line 4763 of file TStreamerInfo.cxx.

◆ NewArray()

void * TStreamerInfo::NewArray ( Long_t  nElements,
void *  ary = nullptr 
)
overridevirtual

An array of emulated objects is created at address ary, if ary is null, we allocate memory for the array.

Implements TVirtualStreamerInfo.

Definition at line 4912 of file TStreamerInfo.cxx.

◆ NewInfo()

TVirtualStreamerInfo * TStreamerInfo::NewInfo ( TClass cl)
inlineoverridevirtual

Implements TVirtualStreamerInfo.

Definition at line 239 of file TStreamerInfo.h.

◆ operator=()

TStreamerInfo & TStreamerInfo::operator= ( const TStreamerInfo )
privatedelete

◆ PrintValue()

void TStreamerInfo::PrintValue ( const char *  name,
char *  pointer,
Int_t  i,
Int_t  len,
Int_t  lenmax = 1000 
) const

print value of element i in object at pointer The function may be called in two ways: -method1 len < 0 i is assumed to be the TStreamerElement number i in StreamerInfo -method2 len >= 0 i is the type address of variable is directly pointer.

len is the number of elements to be printed starting at pointer.

Definition at line 5153 of file TStreamerInfo.cxx.

◆ PrintValueAux()

void TStreamerInfo::PrintValueAux ( char *  ladd,
Int_t  atype,
TStreamerElement aElement,
Int_t  aleng,
Int_t count 
)
staticprivate

print value of element in object at pointer, type atype, leng aleng or *count The function may be called in two ways: -method1 len < 0 i is assumed to be the TStreamerElement number i in StreamerInfo -method2 len >= 0 i is the type address of variable is directly pointer.

len is the number of elements to be printed starting at pointer.

Definition at line 5423 of file TStreamerInfo.cxx.

◆ PrintValueClones()

void TStreamerInfo::PrintValueClones ( const char *  name,
TClonesArray clones,
Int_t  i,
Int_t  eoffset,
Int_t  lenmax = 1000 
) const

Print value of element i in a TClonesArray.

Definition at line 5198 of file TStreamerInfo.cxx.

◆ PrintValueSTL()

void TStreamerInfo::PrintValueSTL ( const char *  name,
TVirtualCollectionProxy cont,
Int_t  i,
Int_t  eoffset,
Int_t  lenmax = 1000 
) const

Print value of element i in a TClonesArray.

Definition at line 5223 of file TStreamerInfo.cxx.

◆ ReadBuffer()

template<class T >
template Int_t TStreamerInfo::ReadBuffer< TVirtualArray > ( TBuffer b,
const T &  arrptr,
TCompInfo *const *const  compinfo,
Int_t  first,
Int_t  last,
Int_t  narr = 1,
Int_t  eoffset = 0,
Int_t  mode = 0 
)

Deserialize information from buffer b into object at pointer if (arrayMode & 1) ptr is a pointer to array of pointers to the objects otherwise it is a pointer to a pointer to a single object.

This also means that T is of a type such that arr[i] is a pointer to an object. Currently the only anticipated instantiation are for T==char** and T==TVirtualCollectionProxy

Definition at line 752 of file TStreamerInfoReadBuffer.cxx.

◆ ReadBufferArtificial()

template<class T >
template Int_t TStreamerInfo::ReadBufferArtificial< TVirtualArray > ( TBuffer b,
const T &  arrptr,
TStreamerElement aElement,
Int_t  narr,
Int_t  eoffset 
)

Handle Artificial StreamerElement.

Definition at line 526 of file TStreamerInfoReadBuffer.cxx.

◆ ReadBufferClones()

Int_t TStreamerInfo::ReadBufferClones ( TBuffer b,
TClonesArray clones,
Int_t  nc,
Int_t  first,
Int_t  eoffset 
)

Read for TClonesArray.

Note: This is no longer used.

Definition at line 1745 of file TStreamerInfoReadBuffer.cxx.

◆ ReadBufferConv()

template<class T >
template Int_t TStreamerInfo::ReadBufferConv< TVirtualArray > ( TBuffer b,
const T &  arrptr,
const TCompInfo compinfo,
Int_t  kase,
TStreamerElement aElement,
Int_t  narr,
Int_t  eoffset 
)

Convert elements of a TClonesArray.

Definition at line 568 of file TStreamerInfoReadBuffer.cxx.

◆ ReadBufferSkip()

template<class T >
template Int_t TStreamerInfo::ReadBufferSkip< TVirtualArray > ( TBuffer b,
const T &  arrptr,
const TCompInfo compinfo,
Int_t  kase,
TStreamerElement aElement,
Int_t  narr,
Int_t  eoffset 
)

Skip an element.

Definition at line 182 of file TStreamerInfoReadBuffer.cxx.

◆ ReadBufferSTL()

Int_t TStreamerInfo::ReadBufferSTL ( TBuffer b,
TVirtualCollectionProxy cont,
Int_t  nc,
Int_t  eoffset,
Bool_t  v7 = kTRUE 
)

The STL vector/list is deserialized from the buffer b.

Definition at line 1733 of file TStreamerInfoReadBuffer.cxx.

◆ SetCheckSum()

void TStreamerInfo::SetCheckSum ( UInt_t  checksum)
inlineoverridevirtual

Implements TVirtualStreamerInfo.

Definition at line 259 of file TStreamerInfo.h.

◆ SetClass()

void TStreamerInfo::SetClass ( TClass cl)
overridevirtual

Replace the TClass this streamerInfo is pointing to (belongs to)

Implements TVirtualStreamerInfo.

Definition at line 5248 of file TStreamerInfo.cxx.

◆ SetClassVersion()

void TStreamerInfo::SetClassVersion ( Int_t  vers)
inlineoverridevirtual

Implements TVirtualStreamerInfo.

Definition at line 261 of file TStreamerInfo.h.

◆ SetOnFileClassVersion()

void TStreamerInfo::SetOnFileClassVersion ( Int_t  vers)
inline

Definition at line 262 of file TStreamerInfo.h.

◆ Streamer()

void TStreamerInfo::Streamer ( TBuffer R__b)
overridevirtual

Stream an object of class TStreamerInfo.

Reimplemented from TVirtualStreamerInfo.

Definition at line 5260 of file TStreamerInfo.cxx.

◆ StreamerNVirtual()

void TStreamerInfo::StreamerNVirtual ( TBuffer ClassDef_StreamerNVirtual_b)
inline

Definition at line 295 of file TStreamerInfo.h.

◆ TagFile()

void TStreamerInfo::TagFile ( TFile file)
overridevirtual

Mark the classindex of the current file as using this TStreamerInfo.

This function is deprecated and its functionality is now done by the overloads of TBuffer::TagStreamerInfo.

Implements TVirtualStreamerInfo.

Definition at line 5371 of file TStreamerInfo.cxx.

◆ Update()

void TStreamerInfo::Update ( const TClass oldClass,
TClass newClass 
)
overridevirtual

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

Implements TVirtualStreamerInfo.

Definition at line 5623 of file TStreamerInfo.cxx.

◆ WriteBuffer()

Int_t TStreamerInfo::WriteBuffer ( TBuffer b,
char *  ipointer,
Int_t  first 
)
private

General Write.

('first' is an id between -1 and fNdata). Note: This is no longer used.

Definition at line 858 of file TStreamerInfoWriteBuffer.cxx.

◆ WriteBufferAux()

template<class T >
template Int_t TStreamerInfo::WriteBufferAux< char ** > ( TBuffer b,
const T &  arr,
TCompInfo *const *const  compinfo,
Int_t  first,
Int_t  last,
Int_t  narr,
Int_t  eoffset,
Int_t  mode 
)

The object at pointer is serialized to the buffer b if (arrayMode & 1) ptr is a pointer to array of pointers to the objects otherwise it is a pointer to a pointer to a single object.

This also means that T is of a type such that arr[i] is a pointer to an object. Currently the only anticipated instantiation are for T==char** and T==TVirtualCollectionProxy

Definition at line 114 of file TStreamerInfoWriteBuffer.cxx.

◆ WriteBufferClones()

Int_t TStreamerInfo::WriteBufferClones ( TBuffer b,
TClonesArray clones,
Int_t  nc,
Int_t  first,
Int_t  eoffset 
)
private

Write for ClonesArray ('first' is an id between -1 and fNfulldata).

Note: This is no longer used.

Definition at line 867 of file TStreamerInfoWriteBuffer.cxx.

◆ WriteBufferSTL()

Int_t TStreamerInfo::WriteBufferSTL ( TBuffer b,
TVirtualCollectionProxy cont,
Int_t  nc 
)
private

Write for STL container. ('first' is an id between -1 and fNfulldata).

Definition at line 831 of file TStreamerInfoWriteBuffer.cxx.

◆ WriteBufferSTLPtrs()

Int_t TStreamerInfo::WriteBufferSTLPtrs ( TBuffer b,
TVirtualCollectionProxy cont,
Int_t  nc,
Int_t  first,
Int_t  eoffset 
)
private

Write for STL container.

('first' is an id between -1 and fNfulldata). Note: This is no longer used.

Definition at line 845 of file TStreamerInfoWriteBuffer.cxx.

Friends And Related Function Documentation

◆ TStreamerInfoActions::TActionSequence

Definition at line 62 of file TStreamerInfo.h.

Member Data Documentation

◆ fCheckSum

UInt_t TStreamerInfo::fCheckSum
private

Checksum of original class.

Definition at line 88 of file TStreamerInfo.h.

◆ fClass

TClass* TStreamerInfo::fClass
private

!pointer to class

Definition at line 99 of file TStreamerInfo.h.

◆ fClassVersion

Int_t TStreamerInfo::fClassVersion
private

Class version identifier.

Definition at line 89 of file TStreamerInfo.h.

◆ fComp

TCompInfo* TStreamerInfo::fComp
private

![fNslots with less than fElements->GetEntries()*1.5 used] Compiled info

Definition at line 96 of file TStreamerInfo.h.

◆ fCompFull

TCompInfo** TStreamerInfo::fCompFull
private

![fElements->GetEntries()]

Definition at line 98 of file TStreamerInfo.h.

◆ fCompOpt

TCompInfo** TStreamerInfo::fCompOpt
private

![fNdata]

Definition at line 97 of file TStreamerInfo.h.

◆ fElements

TObjArray* TStreamerInfo::fElements
private

Array of TStreamerElements.

Definition at line 100 of file TStreamerInfo.h.

◆ fgCount

std::atomic< Int_t > TStreamerInfo::fgCount {0}
staticprivate

Number of TStreamerInfo instances.

Definition at line 113 of file TStreamerInfo.h.

◆ fNdata

Int_t TStreamerInfo::fNdata
private

!number of optimized elements

Definition at line 93 of file TStreamerInfo.h.

◆ fNfulldata

Int_t TStreamerInfo::fNfulldata
private

!number of elements

Definition at line 94 of file TStreamerInfo.h.

◆ fNslots

Int_t TStreamerInfo::fNslots
private

!total number of slots in fComp.

Definition at line 95 of file TStreamerInfo.h.

◆ fNumber

Int_t TStreamerInfo::fNumber
private

!Unique identifier

Definition at line 91 of file TStreamerInfo.h.

◆ fNVirtualInfoLoc

Int_t TStreamerInfo::fNVirtualInfoLoc
private

! Number of virtual info location to update.

Definition at line 102 of file TStreamerInfo.h.

◆ fOldVersion

Version_t TStreamerInfo::fOldVersion
private

! Version of the TStreamerInfo object read from the file

Definition at line 101 of file TStreamerInfo.h.

◆ fOnFileClassVersion

Int_t TStreamerInfo::fOnFileClassVersion
private

!Class version identifier as stored on file.

Definition at line 90 of file TStreamerInfo.h.

◆ fReadMemberWise

TStreamerInfoActions::TActionSequence* TStreamerInfo::fReadMemberWise
private

! List of read action resulting from the compilation for use in member wise streaming.

Definition at line 105 of file TStreamerInfo.h.

◆ fReadMemberWiseVecPtr

TStreamerInfoActions::TActionSequence* TStreamerInfo::fReadMemberWiseVecPtr
private

! List of read action resulting from the compilation for use in member wise streaming.

Definition at line 106 of file TStreamerInfo.h.

◆ fReadObjectWise

TStreamerInfoActions::TActionSequence* TStreamerInfo::fReadObjectWise
private

! List of read action resulting from the compilation.

Definition at line 104 of file TStreamerInfo.h.

◆ fReadText

TStreamerInfoActions::TActionSequence* TStreamerInfo::fReadText
private

! List of text read action resulting from the compilation, used for JSON.

Definition at line 107 of file TStreamerInfo.h.

◆ fSize

Int_t TStreamerInfo::fSize
private

!size of the persistent class

Definition at line 92 of file TStreamerInfo.h.

◆ fVirtualInfoLoc

ULong_t* TStreamerInfo::fVirtualInfoLoc
private

![fNVirtualInfoLoc] Location of the pointer to the TStreamerInfo inside the object (when emulated)

Definition at line 103 of file TStreamerInfo.h.

◆ fWriteMemberWise

TStreamerInfoActions::TActionSequence* TStreamerInfo::fWriteMemberWise
private

! List of write action resulting from the compilation for use in member wise streaming.

Definition at line 109 of file TStreamerInfo.h.

◆ fWriteMemberWiseVecPtr

TStreamerInfoActions::TActionSequence* TStreamerInfo::fWriteMemberWiseVecPtr
private

! List of write action resulting from the compilation for use in member wise streaming.

Definition at line 110 of file TStreamerInfo.h.

◆ fWriteObjectWise

TStreamerInfoActions::TActionSequence* TStreamerInfo::fWriteObjectWise
private

! List of write action resulting from the compilation.

Definition at line 108 of file TStreamerInfo.h.

◆ fWriteText

TStreamerInfoActions::TActionSequence* TStreamerInfo::fWriteText
private

! List of text write action resulting for the compilation, used for JSON.

Definition at line 111 of file TStreamerInfo.h.

Libraries for TStreamerInfo:
[legend]

The documentation for this class was generated from the following files: