ROOT
6.07/01
Reference Guide
|
Describe Streamer information for one class version.
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.,
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 47 of file TStreamerInfo.h.
Classes | |
class | TCompInfo |
class | TPointerCollectionAdapter |
Public Types | |||||||||||||||||||||||||||||||||||||||||
enum | { kCannotOptimize = BIT(12), kIgnoreTObjectStreamer = BIT(13), kRecovered = BIT(14), kNeedCheck = BIT(15), kIsCompiled = BIT(16), kBuildOldUsed = BIT(17) } | ||||||||||||||||||||||||||||||||||||||||
Status bits. More... | |||||||||||||||||||||||||||||||||||||||||
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 } | ||||||||||||||||||||||||||||||||||||||||
EReadWrite Enumerator
| |||||||||||||||||||||||||||||||||||||||||
typedef TCompInfo | TCompInfo_t | ||||||||||||||||||||||||||||||||||||||||
Public Types inherited from TVirtualStreamerInfo | |||||||||||||||||||||||||||||||||||||||||
enum | { kCannotOptimize = BIT(12), kIgnoreTObjectStreamer = BIT(13), kRecovered = BIT(14), kNeedCheck = BIT(15), kIsCompiled = BIT(16), kBuildOldUsed = BIT(17), kBuildRunning = BIT(18) } | ||||||||||||||||||||||||||||||||||||||||
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 } | ||||||||||||||||||||||||||||||||||||||||
Public Types inherited from TObject | |||||||||||||||||||||||||||||||||||||||||
enum | EStatusBits { kCanDelete = BIT(0), kMustCleanup = BIT(3), kObjInCanvas = BIT(3), kIsReferenced = BIT(4), kHasUUID = BIT(5), kCannotPick = BIT(6), kNoContextMenu = BIT(8), kInvalidObject = BIT(13) } | ||||||||||||||||||||||||||||||||||||||||
enum | { kIsOnHeap = 0x01000000, kNotDeleted = 0x02000000, kZombie = 0x04000000, kBitMask = 0x00ffffff } | ||||||||||||||||||||||||||||||||||||||||
enum | { kSingleKey = BIT(0), kOverwrite = BIT(1), kWriteDelete = BIT(2) } | ||||||||||||||||||||||||||||||||||||||||
Public Member Functions | |
TStreamerInfo () | |
Default ctor. More... | |
TStreamerInfo (TClass *cl) | |
Create a TStreamerInfo object. More... | |
virtual | ~TStreamerInfo () |
TStreamerInfo dtor. More... | |
void | Build () |
Build the I/O data structure for the current class version. More... | |
void | BuildCheck (TFile *file=0) |
Check if built and consistent with the class dictionary. More... | |
void | BuildEmulated (TFile *file) |
Create an Emulation TStreamerInfo object. More... | |
void | BuildOld () |
rebuild the TStreamerInfo structure More... | |
virtual Bool_t | BuildFor (const TClass *cl) |
Check if we can build this for foreign class - do we have some rules to do that. More... | |
void | CallShowMembers (const void *obj, TMemberInspector &insp, Bool_t isTransient) const |
Emulated a call ShowMembers() on the obj of this class type, passing insp and parent. More... | |
void | Clear (Option_t *) |
If opt cointains 'built', reset this StreamerInfo as if Build or BuildOld was never called on it (usefull to force their re-running). More... | |
TObject * | Clone (const char *newname="") const |
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) |
Return True if the current StreamerInfo in cl or info is equivalent to this TStreamerInfo. More... | |
void | Compile () |
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 | ForceWriteInfo (TFile *file, Bool_t force=kFALSE) |
Recursively mark streamer infos for writing to a file. More... | |
Int_t | GenerateHeaderFile (const char *dirname, const TList *subClasses=0, const TList *extrainfos=0) |
Generate header file for the class described by this TStreamerInfo the function is called by TFile::MakeProject for each class in the file. More... | |
TClass * | GetActualClass (const void *obj) const |
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... | |
TClass * | GetClass () const |
UInt_t | GetCheckSum () const |
UInt_t | GetCheckSum (TClass::ECheckSum code) const |
Recalculate the checksum of this TStreamerInfo based on its code. More... | |
Int_t | GetClassVersion () const |
Int_t | GetDataMemberOffset (TDataMember *dm, TMemberStreamer *&streamer) const |
Compute data member offset. More... | |
TObjArray * | GetElements () const |
TStreamerElement * | GetElem (Int_t id) const |
TStreamerElement * | GetElement (Int_t id) const |
Int_t | GetElementOffset (Int_t id) const |
TStreamerInfoActions::TActionSequence * | GetReadMemberWiseActions (Bool_t forCollection) |
TStreamerInfoActions::TActionSequence * | GetReadObjectWiseActions () |
TStreamerInfoActions::TActionSequence * | GetWriteMemberWiseActions (Bool_t forCollection) |
TStreamerInfoActions::TActionSequence * | GetWriteObjectWiseActions () |
Int_t | GetNdata () const |
Int_t | GetNelement () const |
Int_t | GetNumber () const |
Int_t | GetLength (Int_t id) const |
ULong_t | GetMethod (Int_t id) const |
Int_t | GetNewType (Int_t id) const |
Int_t | GetOffset (const char *) const |
Return the offset of the data member as indicated by this StreamerInfo. More... | |
Int_t | GetOffset (Int_t id) const |
Version_t | GetOldVersion () const |
Int_t | GetOnFileClassVersion () const |
Int_t | GetSize () const |
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... | |
TStreamerElement * | GetStreamerElement (const char *datamember, Int_t &offset) const |
Return the StreamerElement of "datamember" inside our class or any of its base classes. More... | |
TStreamerElement * | GetStreamerElementReal (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 > | |
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 > | |
T | GetTypedValueClones (TClonesArray *clones, Int_t i, Int_t j, Int_t k, Int_t eoffset) const |
template<typename T > | |
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 > | |
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 |
void | ls (Option_t *option="") const |
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 calulcation algorithm. More... | |
TVirtualStreamerInfo * | NewInfo (TClass *cl) |
void * | New (void *obj=0) |
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=0) |
An array of emulated objects is created at address ary, if ary is null, we allocate memory for the array. More... | |
void | Destructor (void *p, Bool_t dtorOnly=kFALSE) |
Emulated destructor for this class. More... | |
void | DeleteArray (void *p, Bool_t dtorOnly=kFALSE) |
Destroy an array of emulated objects, with optional delete. More... | |
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 | ReadBufferSkip (TBuffer &b, const T &arrptr, const TCompInfo *compinfo, Int_t kase, TStreamerElement *aElement, Int_t narr, Int_t eoffset) |
Skip an element. 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 | 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... | |
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) |
void | SetClass (TClass *cl) |
void | SetClassVersion (Int_t vers) |
void | SetOnFileClassVersion (Int_t vers) |
void | TagFile (TFile *fFile) |
Mark the classindex of the current file as using this TStreamerInfo. More... | |
virtual void | Update (const TClass *oldClass, TClass *newClass) |
function called by the TClass constructor when replacing an emulated class by the real class More... | |
virtual TVirtualCollectionProxy * | GenEmulatedProxy (const char *class_name, Bool_t silent) |
Generate emulated collection proxy for a given class. More... | |
virtual TClassStreamer * | GenEmulatedClassStreamer (const char *class_name, Bool_t silent) |
Generate emulated class streamer for a given collection class. More... | |
virtual TVirtualCollectionProxy * | GenExplicitProxy (const ::ROOT::Detail::TCollectionProxyInfo &info, TClass *cl) |
Generate proxy from static functions. More... | |
virtual TClassStreamer * | GenExplicitClassStreamer (const ::ROOT::Detail::TCollectionProxyInfo &info, TClass *cl) |
Generate class streamer from static functions. 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 () | |
TVirtualStreamerInfo (TClass *) | |
Default constructor. More... | |
virtual | ~TVirtualStreamerInfo () |
Destructor. More... | |
Bool_t | IsBuilt () const |
Bool_t | IsCompiled () const |
Bool_t | IsOptimized () const |
Int_t | IsRecovered () const |
Public Member Functions inherited from TNamed | |
TNamed () | |
TNamed (const char *name, const char *title) | |
TNamed (const TString &name, const TString &title) | |
TNamed (const TNamed &named) | |
TNamed & | operator= (const TNamed &rhs) |
TNamed assignment operator. More... | |
virtual | ~TNamed () |
virtual Int_t | Compare (const TObject *obj) const |
Compare two TNamed objects. More... | |
virtual void | Copy (TObject &named) const |
Copy this to obj. More... | |
virtual void | FillBuffer (char *&buffer) |
Encode TNamed into output buffer. More... | |
virtual const char * | GetName () const |
Returns name of object. More... | |
virtual const char * | GetTitle () const |
Returns title of object. More... | |
virtual ULong_t | Hash () const |
Return hash value for this object. More... | |
virtual Bool_t | IsSortable () const |
virtual void | SetName (const char *name) |
Change (i.e. More... | |
virtual void | SetNameTitle (const char *name, const char *title) |
Change (i.e. set) all the TNamed parameters (name and title). More... | |
virtual void | SetTitle (const char *title="") |
Change (i.e. set) the title of the TNamed. More... | |
virtual void | Print (Option_t *option="") const |
Print TNamed name and title. More... | |
virtual Int_t | Sizeof () const |
Return size of the TNamed part of the TObject. More... | |
Public Member Functions inherited from TObject | |
TObject () | |
TObject (const TObject &object) | |
TObject copy ctor. More... | |
TObject & | operator= (const TObject &rhs) |
TObject assignment operator. More... | |
virtual | ~TObject () |
TObject destructor. 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... | |
virtual const char * | ClassName () const |
Returns name of class to which the object belongs. 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 TObject * | DrawClone (Option_t *option="") const |
Draw a clone of this object in the current pad. More... | |
virtual void | Dump () const |
Dump contents of object on stdout. 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 TObject * | FindObject (const char *name) const |
Must be redefined in derived classes. More... | |
virtual TObject * | FindObject (const TObject *obj) const |
Must be redefined in derived classes. More... | |
virtual Option_t * | GetDrawOption () const |
Get option used by the graphics system to draw this object. More... | |
virtual UInt_t | GetUniqueID () const |
Return the unique object id. More... | |
virtual const char * | GetIconName () const |
Returns mime type name of object. More... | |
virtual Option_t * | GetOption () const |
virtual char * | GetObjectInfo (Int_t px, Int_t py) const |
Returns string containing info about the object at position (px,py). More... | |
virtual Bool_t | HandleTimer (TTimer *timer) |
Execute action in response of a timer timing out. 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... | |
virtual Bool_t | IsFolder () const |
Returns kTRUE in case object contains browsable objects (like containers or lists of other objects). More... | |
virtual Bool_t | IsEqual (const TObject *obj) const |
Default equal comparison (objects are equal if they have the same address in memory). More... | |
Bool_t | IsOnHeap () const |
Bool_t | IsZombie () const |
virtual Bool_t | Notify () |
This method must be overridden to handle object notification. 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 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... | |
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... | |
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 | UseCurrentStyle () |
Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked. 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... | |
void * | operator new (size_t sz) |
void * | operator new[] (size_t sz) |
void * | operator new (size_t sz, void *vp) |
void * | operator new[] (size_t sz, void *vp) |
void | operator delete (void *ptr) |
Operator delete. More... | |
void | operator delete[] (void *ptr) |
Operator delete []. More... | |
void | SetBit (UInt_t f, Bool_t set) |
Set or unset the user status bits as specified in f. More... | |
void | SetBit (UInt_t f) |
void | ResetBit (UInt_t f) |
Bool_t | TestBit (UInt_t f) const |
Int_t | TestBits (UInt_t f) const |
void | InvertBit (UInt_t f) |
virtual void | Info (const char *method, const char *msgfmt,...) const |
Issue info message. More... | |
virtual void | Warning (const char *method, const char *msgfmt,...) const |
Issue warning message. More... | |
virtual void | Error (const char *method, const char *msgfmt,...) const |
Issue error message. More... | |
virtual void | SysError (const char *method, const char *msgfmt,...) const |
Issue system error message. More... | |
virtual void | Fatal (const char *method, const char *msgfmt,...) const |
Issue fatal error message. 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... | |
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... | |
void | Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const |
Use this method to declare a method obsolete. More... | |
Static Public Member Functions | |
static TStreamerElement * | GetCurrentElement () |
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 | SetStreamMemberWise (Bool_t enable=kTRUE) |
Set whether the TStreamerInfos will save the collections in "member-wise" order whenever possible. More... | |
static const char * | GetElementCounterStart (const char *dmTitle) |
Given a comment/title declaring an array counter, for example:
//[fArraySize] array of size fArraySize
return the start of the array dimension declaration start in the string (so the location of the 'f'. More... | |
static TStreamerBasicType * | GetElementCounter (const char *countName, TClass *cl) |
Get pointer to a TStreamerBasicType in TClass *cl static function. More... | |
static Bool_t | CanOptimize () |
static function returning true if optimization can be on 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 Bool_t | CanDelete () |
static function returning true if ReadBuffer can delete object 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 TVirtualStreamerInfo * | Factory () |
Static function returning a pointer to a new TVirtualStreamerInfo object. More... | |
Static Public Member Functions inherited from TObject | |
static Long_t | GetDtorOnly () |
Return destructor only flag. More... | |
static void | SetDtorOnly (void *obj) |
Set destructor only flag. More... | |
static Bool_t | GetObjectStat () |
Get status of object stat flag. More... | |
static void | SetObjectStat (Bool_t stat) |
Turn on/off tracking of objects in the TObjectTable. More... | |
Private Member Functions | |
UInt_t | GenerateIncludes (FILE *fp, char *inclist, const TList *extrainfos) |
Add to the header file, the #include need for this class. More... | |
void | GenerateDeclaration (FILE *fp, FILE *sfp, const TList *subClasses, Bool_t top=kTRUE) |
Write the Declaration of class. More... | |
void | InsertArtificialElements (std::vector< const ROOT::TSchemaRule * > &rules) |
Insert new members as expressed in the array of TSchemaRule(s). More... | |
void | DestructorImpl (void *p, Bool_t dtorOnly) |
Internal part of the destructor. More... | |
TStreamerInfo (const TStreamerInfo &) | |
TStreamerInfo & | operator= (const TStreamerInfo &) |
void | AddReadAction (TStreamerInfoActions::TActionSequence *readSequence, Int_t index, TCompInfo *compinfo) |
Add a read action for the given element. More... | |
void | AddWriteAction (TStreamerInfoActions::TActionSequence *writeSequence, Int_t index, TCompInfo *compinfo) |
void | AddReadMemberWiseVecPtrAction (TStreamerInfoActions::TActionSequence *readSequence, Int_t index, TCompInfo *compinfo) |
Add a read action for the given element. More... | |
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... | |
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... | |
Int_t | fClassVersion |
Class version identifier. More... | |
Int_t | fOnFileClassVersion |
!Class version identifier as stored on file. More... | |
Int_t | fNumber |
!Unique identifier More... | |
Int_t | fSize |
!size of the persistent class More... | |
Int_t | fNdata |
!number of optimized elements More... | |
Int_t | fNfulldata |
!number of elements More... | |
Int_t | fNslots |
!total numbrer of slots in fComp. More... | |
TCompInfo * | fComp |
![fNslots with less than fElements->GetEntries()*1.5 used] Compiled info More... | |
TCompInfo ** | fCompOpt |
![fNdata] More... | |
TCompInfo ** | fCompFull |
![fElements->GetEntries()] More... | |
TClass * | fClass |
!pointer to class More... | |
TObjArray * | fElements |
Array of TStreamerElements. More... | |
Version_t | fOldVersion |
! Version of the TStreamerInfo object read from the file More... | |
Int_t | fNVirtualInfoLoc |
! Number of virtual info location to update. More... | |
ULong_t * | fVirtualInfoLoc |
![fNVirtualInfoLoc] Location of the pointer to the TStreamerInfo inside the object (when emulated) More... | |
std::atomic< ULong_t > | fLiveCount |
! Number of outstanding pointer to this StreamerInfo. More... | |
TStreamerInfoActions::TActionSequence * | fReadObjectWise |
! List of read action resulting from the compilation. More... | |
TStreamerInfoActions::TActionSequence * | fReadMemberWise |
! List of read action resulting from the compilation for use in member wise streaming. More... | |
TStreamerInfoActions::TActionSequence * | fReadMemberWiseVecPtr |
! List of read action resulting from the compilation for use in member wise streaming. More... | |
TStreamerInfoActions::TActionSequence * | fWriteObjectWise |
! List of write action resulting from the compilation. More... | |
TStreamerInfoActions::TActionSequence * | fWriteMemberWise |
! List of write action resulting from the compilation for use in member wise streaming. More... | |
TStreamerInfoActions::TActionSequence * | fWriteMemberWiseVecPtr |
! List of write action resulting from the compilation for use in member wise streaming. More... | |
Static Private Attributes | |
static std::atomic< Int_t > | fgCount {0} |
Number of TStreamerInfo instances. More... | |
Friends | |
class | TStreamerInfoActions::TActionSequence |
Additional Inherited Members | |
Protected Member Functions inherited from TVirtualStreamerInfo | |
TVirtualStreamerInfo (const TVirtualStreamerInfo &info) | |
copy constructor More... | |
TVirtualStreamerInfo & | operator= (const TVirtualStreamerInfo &) |
assignment operator More... | |
void | ResetIsCompiled () |
void | SetIsCompiled () |
Protected Member Functions inherited from TObject | |
void | MakeZombie () |
virtual void | DoError (int level, const char *location, const char *fmt, va_list va) const |
Interface to ErrorHandler (protected). More... | |
Protected Attributes inherited from TVirtualStreamerInfo | |
Bool_t | fOptimized: 1 |
Bool_t | fIsBuilt: 1 |
true if the StreamerInfo has been optimized More... | |
std::atomic< Bool_t > | fIsCompiled |
true if the StreamerInfo has been 'built' (i.e. has all the StreamerElements it should have) More... | |
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 Bool_t | fgOptimize = kTRUE |
static Bool_t | fgStreamMemberWise = kTRUE |
static TVirtualStreamerInfo * | fgInfoFactory = 0 |
#include <TStreamerInfo.h>
typedef TCompInfo TStreamerInfo::TCompInfo_t |
Definition at line 74 of file TStreamerInfo.h.
anonymous enum |
Status bits.
Enumerator | |
---|---|
kCannotOptimize | |
kIgnoreTObjectStreamer |
Eventhough BIT(13) is taken up by TObject (to preserverse forward compatibility) |
kRecovered | |
kNeedCheck | |
kIsCompiled | |
kBuildOldUsed |
Definition at line 141 of file TStreamerInfo.h.
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 |
kObjectp | Class* derived from TObject and with comment field //->Class |
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 171 of file TStreamerInfo.h.
|
private |
TStreamerInfo::TStreamerInfo | ( | ) |
TStreamerInfo::TStreamerInfo | ( | TClass * | cl | ) |
Create a TStreamerInfo object.
Definition at line 165 of file TStreamerInfo.cxx.
|
virtual |
TStreamerInfo dtor.
Definition at line 198 of file TStreamerInfo.cxx.
|
private |
Add a read action for the given element.
Definition at line 2510 of file TStreamerInfoActions.cxx.
Referenced by Compile().
|
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 2743 of file TStreamerInfoActions.cxx.
Referenced by Compile().
|
private |
Definition at line 2759 of file TStreamerInfoActions.cxx.
Referenced by Compile().
|
private |
This is for streaming via a TClonesArray (or a vector of pointers of this type).
Definition at line 2866 of file TStreamerInfoActions.cxx.
Referenced by Compile().
|
virtual |
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 242 of file TStreamerInfo.cxx.
Referenced by TBufferFile::ReadClassBuffer(), TBufferJSON::WriteClassBuffer(), and TBufferFile::WriteClassBuffer().
Check if built and consistent with the class dictionary.
This method is called by TFile::ReadStreamerInfo.
Implements TVirtualStreamerInfo.
Definition at line 628 of file TStreamerInfo.cxx.
Referenced by Build(), BuildOld(), R__GenerateTClassForPair(), TFile::ReadStreamerInfo(), TUDPSocket::RecvStreamerInfos(), and TSocket::RecvStreamerInfos().
Create an Emulation TStreamerInfo object.
Implements TVirtualStreamerInfo.
Definition at line 1140 of file TStreamerInfo.cxx.
Referenced by TBufferFile::ReadClassBuffer().
Check if we can build this for foreign class - do we have some rules to do that.
Implements TVirtualStreamerInfo.
Definition at line 1177 of file TStreamerInfo.cxx.
|
virtual |
rebuild the TStreamerInfo structure
Implements TVirtualStreamerInfo.
Definition at line 1588 of file TStreamerInfo.cxx.
Referenced by Build(), BuildEmulated(), BuildOld(), R__GenerateTClassForPair(), TBufferFile::ReadClassBuffer(), TBufferJSON::WriteClassBuffer(), and TBufferFile::WriteClassBuffer().
|
virtual |
Emulated a call ShowMembers() on the obj of this class type, passing insp and parent.
Implements TVirtualStreamerInfo.
Definition at line 2570 of file TStreamerInfo.cxx.
If opt cointains 'built', reset this StreamerInfo as if Build or BuildOld was never called on it (usefull to force their re-running).
Implements TVirtualStreamerInfo.
Definition at line 2443 of file TStreamerInfo.cxx.
Referenced by TBufferFile::ReadClassBuffer().
|
virtual |
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 2636 of file TStreamerInfo.cxx.
Referenced by Build(), and BuildOld().
|
virtual |
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 2670 of file TStreamerInfo.cxx.
Referenced by BuildCheck().
|
virtual |
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 2255 of file TStreamerInfoActions.cxx.
Referenced by Build(), and BuildOld().
void TStreamerInfo::ComputeSize | ( | ) |
Compute total size of all persistent elements of the class.
Definition at line 2953 of file TStreamerInfo.cxx.
Referenced by Compile().
Destroy an array of emulated objects, with optional delete.
Implements TVirtualStreamerInfo.
Definition at line 4844 of file TStreamerInfo.cxx.
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 4818 of file TStreamerInfo.cxx.
Referenced by DeleteArray().
Internal part of the destructor.
Destruct each of the datamembers in the same order as the implicit destructor would.
Definition at line 4685 of file TStreamerInfo.cxx.
Referenced by Destructor().
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 2976 of file TStreamerInfo.cxx.
Referenced by TTree::BuildStreamerInfo(), and TTreeCloner::CopyStreamerInfos().
|
virtual |
Generate emulated class streamer for a given collection class.
Implements TVirtualStreamerInfo.
Definition at line 5380 of file TStreamerInfo.cxx.
|
virtual |
Generate emulated collection proxy for a given class.
Implements TVirtualStreamerInfo.
Definition at line 5371 of file TStreamerInfo.cxx.
|
private |
Write the Declaration of class.
Definition at line 3400 of file TStreamerInfo.cxx.
Referenced by GenerateDeclaration(), and GenerateHeaderFile().
|
virtual |
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 3726 of file TStreamerInfo.cxx.
Referenced by TFile::MakeProject().
|
private |
Add to the header file, the #include need for this class.
Definition at line 3650 of file TStreamerInfo.cxx.
Referenced by GenerateHeaderFile().
|
virtual |
Generate class streamer from static functions.
Implements TVirtualStreamerInfo.
Definition at line 5398 of file TStreamerInfo.cxx.
|
virtual |
Generate proxy from static functions.
Implements TVirtualStreamerInfo.
Definition at line 5389 of file TStreamerInfo.cxx.
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 decribed by this StreamerInfo is 'emulated'.
Implements TVirtualStreamerInfo.
Definition at line 3050 of file TStreamerInfo.cxx.
|
inlinevirtual |
Implements TVirtualStreamerInfo.
Definition at line 211 of file TStreamerInfo.h.
Referenced by BuildCheck(), TTreeCloner::CopyStreamerInfos(), TBranchElement::Init(), ls(), MatchLegacyCheckSum(), TFile::ReadStreamerInfo(), TBufferFile::ReadVersion(), TBufferFile::ReadVersionForMemberWise(), and TBufferFile::SkipVersion().
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.
This is needed for backward compatibility.
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). @bnl .gov
Definition at line 3093 of file TStreamerInfo.cxx.
|
inlinevirtual |
Implements TVirtualStreamerInfo.
Definition at line 210 of file TStreamerInfo.h.
Referenced by TTreeFormula::BranchHasMethod(), Build(), BuildOld(), CompareContent(), Destructor(), GetActualClass(), TSQLStructure::GetClassInfo(), TBranchElement::GetCurrentClass(), TTreeFormula::GetLeafWithDatamember(), TBranchElement::InitializeOffsets(), TFile::MakeProject(), TConvertClonesArrayToProxy::operator()(), TTreeFormula::ParseWithLeaf(), TSQLStructure::PerformConversion(), TStreamerInfoActions::TConfiguration::Print(), TStreamerInfoActions::TConfiguration::PrintDebug(), TTreeFormula::SwitchToFormLeafInfo(), TBranchSTL::TBranchSTL(), TBufferXML::WorkWithClass(), and TBufferJSON::WorkWithClass().
|
inlinevirtual |
Implements TVirtualStreamerInfo.
Definition at line 213 of file TStreamerInfo.h.
Referenced by Build(), BuildCheck(), CompareContent(), TTreeCloner::CopyStreamerInfos(), GenerateDeclaration(), GenerateHeaderFile(), TMakeProject::GenerateIncludeForTemplate(), TMakeProject::GenerateMissingStreamerInfo(), TSQLStructure::GetClassInfo(), TMakeProject::GetHeaderName(), TBranchElement::InitializeOffsets(), TBranchElement::InitInfo(), InsertArtificialElements(), TFile::MakeProject(), TBufferFile::ReadClassBuffer(), TFile::ReadStreamerInfo(), TBufferFile::ReadVersion(), TBufferFile::ReadVersionForMemberWise(), TUDPSocket::RecvStreamerInfos(), TSocket::RecvStreamerInfos(), TUDPSocket::SendStreamerInfos(), TSocket::SendStreamerInfos(), TBufferFile::SkipVersion(), and TBranchSTL::TBranchSTL().
|
static |
static function returning a pointer to the current TStreamerElement fgElement points to the current TStreamerElement being read in ReadBuffer
Definition at line 45 of file TStreamerInfoReadBuffer.cxx.
Referenced by TBufferFile::GetTRefExecId().
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 3842 of file TStreamerInfo.cxx.
Referenced by Build(), and BuildOld().
|
inlinevirtual |
Implements TVirtualStreamerInfo.
Definition at line 216 of file TStreamerInfo.h.
|
inlinevirtual |
Implements TVirtualStreamerInfo.
Definition at line 217 of file TStreamerInfo.h.
Referenced by TTreeFormula::BranchHasMethod(), TTreeFormula::EvalClass(), ROOT::Internal::TTreeReaderArrayBase::GetBranchContentDataType(), TVirtualBranchBrowsable::GetCollectionContainedType(), TBranchElement::GetCurrentClass(), TBranchSTL::GetExpectedType(), TBranchElement::GetExpectedType(), TTreeFormula::GetLeafWithDatamember(), TBranchElement::GetTypeName(), TBranchElement::Init(), TBranchElement::InitInfo(), TTreeFormula::IsLeafString(), TTreeFormula::ParseWithLeaf(), TBranchSTL::Print(), TBranchElement::Print(), TTreeFormula::SwitchToFormLeafInfo(), and TBranchElement::Unroll().
Implements TVirtualStreamerInfo.
Definition at line 218 of file TStreamerInfo.h.
Referenced by TTreeFormula::GetValueFromMethod(), TTreeFormula::GetValuePointerFromMethod(), and ROOT::Detail::TBranchProxy::Setup().
|
inlinevirtual |
Implements TVirtualStreamerInfo.
Definition at line 215 of file TStreamerInfo.h.
Referenced by TTree::BronchExec(), Build(), BuildCheck(), BuildEmulated(), BuildOld(), TBranchElement::BuildTitle(), ClassImp(), Clone(), CompareContent(), ROOT::Internal::TTreeReaderValueBase::CreateProxy(), ROOT::Internal::TTreeReaderArrayBase::GetBranchContentDataType(), ROOT::Internal::TTreeReaderValueBase::GetBranchDataType(), GetCheckSum(), TBranchElement::InitializeOffsets(), InsertArtificialElements(), TFile::MakeProject(), TBranchElement::PrintValue(), R__GenerateTClassForPair(), TGenCollectionStreamer::ReadPairFromMap(), TXMLFile::ReadStreamerElement(), TFile::ReadStreamerInfo(), TUDPSocket::RecvStreamerInfos(), TSocket::RecvStreamerInfos(), TBranchSTL::SetAddress(), TDirectoryFile::SetTRefAction(), ROOT::Detail::TBranchProxy::Setup(), PyROOT::TTreeGetAttr(), Update(), TBufferSQL2::WorkWithElement(), TBufferXML::WorkWithElement(), and TBufferJSON::WorkWithElement().
Definition at line 226 of file TStreamerInfo.h.
Definition at line 227 of file TStreamerInfo.h.
|
inline |
Definition at line 223 of file TStreamerInfo.h.
|
inline |
Definition at line 224 of file TStreamerInfo.h.
Referenced by TVirtualBranchBrowsable::GetCollectionContainedType(), TBranchElement::GetCurrentClass(), TBranchElement::InitInfo(), and TBranchElement::Unroll().
Definition at line 228 of file TStreamerInfo.h.
Referenced by TFormLeafInfo::GetObjectAddress(), and InsertArtificialElements().
|
inlinevirtual |
Implements TVirtualStreamerInfo.
Definition at line 225 of file TStreamerInfo.h.
Referenced by BuildCheck(), TFile::ReadStreamerInfo(), TUDPSocket::SendStreamerInfos(), TSocket::SendStreamerInfos(), and TXMLFile::WriteStreamerInfo().
|
virtual |
Return the offset of the data member as indicated by this StreamerInfo.
Implements TVirtualStreamerInfo.
Definition at line 3889 of file TStreamerInfo.cxx.
Referenced by Build(), and BuildOld().
Implements TVirtualStreamerInfo.
Definition at line 230 of file TStreamerInfo.h.
|
inlinevirtual |
Implements TVirtualStreamerInfo.
Definition at line 231 of file TStreamerInfo.h.
|
inlinevirtual |
Implements TVirtualStreamerInfo.
Definition at line 232 of file TStreamerInfo.h.
Referenced by BuildCheck(), and BuildOld().
|
inline |
Definition at line 219 of file TStreamerInfo.h.
Referenced by TStreamerInfoActions::TActionSequence::CreateReadMemberWiseActions(), TBufferFile::ReadClones(), and TBranchElement::SetReadActionSequence().
|
inline |
Definition at line 220 of file TStreamerInfo.h.
Referenced by TBufferFile::ReadClassBuffer(), TBufferFile::ReadClassEmulated(), and TGenCollectionStreamer::ReadPairFromMap().
|
virtual |
Return total size of all persistent elements of the class (with offsets).
Implements TVirtualStreamerInfo.
Definition at line 3903 of file TStreamerInfo.cxx.
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 3912 of file TStreamerInfo.cxx.
|
virtual |
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 3932 of file TStreamerInfo.cxx.
Referenced by TTreeFormula::FindLeafForExpression(), TTreeFormula::GetLeafWithDatamember(), GetStreamerElement(), TBranchElement::InitInfo(), TTreeFormula::ParseWithLeaf(), and TTreeFormula::SwitchToFormLeafInfo().
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
Example with the class TAttLine:
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:
Definition at line 4036 of file TStreamerInfo.cxx.
Definition at line 237 of file TStreamerInfo.h.
Referenced by BuildOld().
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:
Definition at line 4162 of file TStreamerInfo.cxx.
Referenced by TBranchElement::GetTypedValue().
|
staticprivate |
Get the value from inside a collection.
Definition at line 4058 of file TStreamerInfo.cxx.
T TStreamerInfo::GetTypedValueClones | ( | TClonesArray * | clones, |
Int_t | i, | ||
Int_t | j, | ||
Int_t | k, | ||
Int_t | eoffset | ||
) | const |
Definition at line 4204 of file TStreamerInfo.cxx.
Referenced by TBranchElement::GetTypedValue().
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 4226 of file TStreamerInfo.cxx.
Referenced by TBranchElement::GetTypedValue().
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 4245 of file TStreamerInfo.cxx.
Referenced by TBranchElement::GetTypedValue().
Definition at line 242 of file TStreamerInfo.h.
|
inline |
Definition at line 243 of file TStreamerInfo.h.
|
inline |
Definition at line 244 of file TStreamerInfo.h.
|
inline |
Definition at line 245 of file TStreamerInfo.h.
|
inline |
Definition at line 221 of file TStreamerInfo.h.
Referenced by TStreamerInfoActions::TActionSequence::CreateWriteMemberWiseActions(), TBranchElement::SetFillActionSequence(), and TBufferFile::WriteClones().
|
inline |
Definition at line 222 of file TStreamerInfo.h.
Referenced by TBufferJSON::WriteClassBuffer(), and TBufferFile::WriteClassBuffer().
|
private |
Insert new members as expressed in the array of TSchemaRule(s).
Definition at line 4261 of file TStreamerInfo.cxx.
Referenced by Build(), and BuildOld().
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 4404 of file TStreamerInfo.cxx.
Referenced by Compile().
Return true if the checksum passed as argument is one of the checksum value produced by the older checksum calulcation algorithm.
Definition at line 3065 of file TStreamerInfo.cxx.
Referenced by BuildCheck().
An emulated object is created at address obj, if obj is null we allocate memory for the object.
Implements TVirtualStreamerInfo.
Definition at line 4489 of file TStreamerInfo.cxx.
Referenced by NewArray().
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 4636 of file TStreamerInfo.cxx.
|
inlinevirtual |
Implements TVirtualStreamerInfo.
Definition at line 248 of file TStreamerInfo.h.
|
private |
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 4877 of file TStreamerInfo.cxx.
Referenced by TBranchElement::PrintValue().
|
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 5142 of file TStreamerInfo.cxx.
Referenced by PrintValue(), PrintValueClones(), and PrintValueSTL().
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 4922 of file TStreamerInfo.cxx.
Referenced by TBranchElement::PrintValue().
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 4947 of file TStreamerInfo.cxx.
Referenced by TBranchElement::PrintValue().
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 750 of file TStreamerInfoReadBuffer.cxx.
Referenced by ReadBuffer(), ReadBufferClones(), and ReadBufferSTL().
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 525 of file TStreamerInfoReadBuffer.cxx.
Referenced by ReadBuffer().
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 1747 of file TStreamerInfoReadBuffer.cxx.
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 566 of file TStreamerInfoReadBuffer.cxx.
Referenced by ReadBuffer().
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 181 of file TStreamerInfoReadBuffer.cxx.
Referenced by ReadBuffer(), TStreamerInfoActions::UseCache(), TStreamerInfoActions::UseCacheGenericCollection(), TStreamerInfoActions::UseCacheVectorLoop(), and TStreamerInfoActions::UseCacheVectorPtrLoop().
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 1735 of file TStreamerInfoReadBuffer.cxx.
Referenced by TConvertClonesArrayToProxy::operator()(), TStreamerInfoActions::ReadArraySTLMemberWiseSameClass(), ReadBuffer(), and TStreamerInfoActions::ReadSTLMemberWiseSameClass().
Implements TVirtualStreamerInfo.
Definition at line 268 of file TStreamerInfo.h.
Referenced by TXMLFile::GetStreamerInfoList().
Implements TVirtualStreamerInfo.
Definition at line 269 of file TStreamerInfo.h.
Referenced by R__GenerateTClassForPair().
Implements TVirtualStreamerInfo.
Definition at line 270 of file TStreamerInfo.h.
Referenced by TMakeProject::GenerateMissingStreamerInfo(), TXMLFile::GetStreamerInfoList(), and TBufferFile::ReadClassBuffer().
Definition at line 271 of file TStreamerInfo.h.
Referenced by TXMLFile::GetStreamerInfoList().
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 5090 of file TStreamerInfo.cxx.
function called by the TClass constructor when replacing an emulated class by the real class
Implements TVirtualStreamerInfo.
Definition at line 5342 of file TStreamerInfo.cxx.
General Write.
('first' is an id between -1 and fNdata). Note: This is no longer used.
Definition at line 837 of file TStreamerInfoWriteBuffer.cxx.
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.
Referenced by WriteBuffer(), WriteBufferAux(), WriteBufferClones(), WriteBufferSTL(), and WriteBufferSTLPtrs().
|
private |
Write for ClonesArray ('first' is an id between -1 and fNfulldata).
Note: This is no longer used.
Definition at line 846 of file TStreamerInfoWriteBuffer.cxx.
|
private |
Write for STL container. ('first' is an id between -1 and fNfulldata).
Definition at line 810 of file TStreamerInfoWriteBuffer.cxx.
Referenced by WriteBufferAux().
|
private |
Write for STL container.
('first' is an id between -1 and fNfulldata). Note: This is no longer used.
Definition at line 824 of file TStreamerInfoWriteBuffer.cxx.
|
friend |
Definition at line 70 of file TStreamerInfo.h.
|
private |
Checksum of original class.
Definition at line 96 of file TStreamerInfo.h.
Referenced by Build(), BuildCheck(), BuildEmulated(), BuildFor(), BuildOld(), GetCheckSum(), SetCheckSum(), and TStreamerInfo().
|
private |
!pointer to class
Definition at line 107 of file TStreamerInfo.h.
Referenced by Build(), BuildCheck(), BuildFor(), BuildOld(), CallShowMembers(), Compile(), ForceWriteInfo(), GenerateHeaderFile(), GetActualClass(), GetCheckSum(), GetClass(), GetDataMemberOffset(), GetStreamerElement(), InsertArtificialElements(), ls(), NewArray(), PrintValue(), ReadBuffer(), SetClass(), TStreamerInfo(), and WriteBufferAux().
|
private |
Class version identifier.
Definition at line 97 of file TStreamerInfo.h.
Referenced by Build(), BuildCheck(), BuildEmulated(), BuildOld(), CompareContent(), GenerateDeclaration(), GetClassVersion(), ls(), SetClassVersion(), and TStreamerInfo().
|
private |
![fNslots with less than fElements->GetEntries()*1.5 used] Compiled info
Definition at line 104 of file TStreamerInfo.h.
Referenced by Build(), BuildOld(), Clear(), Compile(), GetElem(), GetLength(), GetMethod(), GetNewType(), GetOffset(), GetType(), TStreamerInfo(), Update(), and ~TStreamerInfo().
|
private |
![fElements->GetEntries()]
Definition at line 106 of file TStreamerInfo.h.
Referenced by Clear(), Compile(), TStreamerInfoActions::TActionSequence::CreateReadMemberWiseActions(), TStreamerInfoActions::TActionSequence::CreateWriteMemberWiseActions(), GetElementOffset(), GetTypedValue(), GetTypedValueClones(), GetTypedValueSTL(), GetTypedValueSTLP(), ls(), PrintValue(), PrintValueClones(), PrintValueSTL(), ReadBuffer(), ReadBufferClones(), ReadBufferSTL(), TStreamerInfo(), WriteBufferAux(), WriteBufferClones(), WriteBufferSTL(), WriteBufferSTLPtrs(), and ~TStreamerInfo().
|
private |
![fNdata]
Definition at line 105 of file TStreamerInfo.h.
Referenced by Clear(), Compile(), GetStreamerElementReal(), ls(), TStreamerInfo(), WriteBuffer(), and ~TStreamerInfo().
|
private |
Array of TStreamerElements.
Definition at line 108 of file TStreamerInfo.h.
Referenced by Build(), BuildCheck(), BuildOld(), CallShowMembers(), Compile(), ComputeSize(), DestructorImpl(), ForceWriteInfo(), GenerateDeclaration(), GenerateHeaderFile(), GenerateIncludes(), GetElement(), GetElements(), GetNelement(), GetOffset(), GetSizeElements(), GetStreamerElement(), GetStreamerElementReal(), InsertArtificialElements(), ls(), New(), TStreamerInfo(), and ~TStreamerInfo().
|
staticprivate |
Number of TStreamerInfo instances.
Definition at line 120 of file TStreamerInfo.h.
Referenced by BuildCheck(), and TStreamerInfo().
|
private |
! Number of outstanding pointer to this StreamerInfo.
Definition at line 112 of file TStreamerInfo.h.
Referenced by DestructorImpl(), New(), and TStreamerInfo().
|
private |
!number of optimized elements
Definition at line 101 of file TStreamerInfo.h.
Referenced by Clear(), Compile(), GetNdata(), GetStreamerElementReal(), ls(), TStreamerInfo(), and WriteBuffer().
|
private |
!number of elements
Definition at line 102 of file TStreamerInfo.h.
Referenced by Clear(), Compile(), ls(), ReadBuffer(), ReadBufferClones(), ReadBufferSTL(), TStreamerInfo(), WriteBufferAux(), WriteBufferClones(), WriteBufferSTL(), and WriteBufferSTLPtrs().
|
private |
!total numbrer of slots in fComp.
Definition at line 103 of file TStreamerInfo.h.
Referenced by Clear(), Compile(), TStreamerInfo(), and Update().
|
private |
!Unique identifier
Definition at line 99 of file TStreamerInfo.h.
Referenced by BuildCheck(), Compile(), ForceWriteInfo(), GetNumber(), TagFile(), and TStreamerInfo().
|
private |
! Number of virtual info location to update.
Definition at line 110 of file TStreamerInfo.h.
Referenced by BuildOld(), Compile(), ComputeSize(), Destructor(), GetActualClass(), New(), and TStreamerInfo().
|
private |
! Version of the TStreamerInfo object read from the file
Definition at line 109 of file TStreamerInfo.h.
Referenced by AddReadAction(), BuildCheck(), BuildOld(), Compile(), GetOldVersion(), ReadBuffer(), ReadBufferSkip(), and TStreamerInfo().
|
private |
!Class version identifier as stored on file.
Definition at line 98 of file TStreamerInfo.h.
Referenced by BuildCheck(), BuildFor(), BuildOld(), GetOnFileClassVersion(), SetOnFileClassVersion(), and TStreamerInfo().
|
private |
! List of read action resulting from the compilation for use in member wise streaming.
Definition at line 114 of file TStreamerInfo.h.
Referenced by Clear(), Compile(), GetReadMemberWiseActions(), TStreamerInfo(), and ~TStreamerInfo().
|
private |
! List of read action resulting from the compilation for use in member wise streaming.
Definition at line 115 of file TStreamerInfo.h.
Referenced by Clear(), Compile(), GetReadMemberWiseActions(), TStreamerInfo(), and ~TStreamerInfo().
|
private |
! List of read action resulting from the compilation.
Definition at line 113 of file TStreamerInfo.h.
Referenced by Clear(), Compile(), GetReadObjectWiseActions(), TStreamerInfo(), and ~TStreamerInfo().
|
private |
!size of the persistent class
Definition at line 100 of file TStreamerInfo.h.
Referenced by Clear(), Compile(), ComputeSize(), GetSize(), New(), and TStreamerInfo().
|
private |
![fNVirtualInfoLoc] Location of the pointer to the TStreamerInfo inside the object (when emulated)
Definition at line 111 of file TStreamerInfo.h.
Referenced by BuildOld(), ComputeSize(), Destructor(), GetActualClass(), New(), TStreamerInfo(), and ~TStreamerInfo().
|
private |
! List of write action resulting from the compilation for use in member wise streaming.
Definition at line 117 of file TStreamerInfo.h.
Referenced by Clear(), Compile(), GetWriteMemberWiseActions(), TStreamerInfo(), and ~TStreamerInfo().
|
private |
! List of write action resulting from the compilation for use in member wise streaming.
Definition at line 118 of file TStreamerInfo.h.
Referenced by Clear(), Compile(), GetWriteMemberWiseActions(), TStreamerInfo(), and ~TStreamerInfo().
|
private |
! List of write action resulting from the compilation.
Definition at line 116 of file TStreamerInfo.h.
Referenced by Clear(), Compile(), GetWriteObjectWiseActions(), TStreamerInfo(), and ~TStreamerInfo().