TClass instances represent classes, structs and namespaces in the ROOT type system.
TClass instances are created starting from different sources of information:
If a TClass instance is built through the mechanisms 1. and 2., it does not contain information about methods of the class/struct/namespace it represents. Conversely, if built through 3. or 1., it does not carry the information which is necessary to ROOT to perform I/O of instances of the class/struct it represents. The mechanisms 1., 2. and 3. are not mutually exclusive: it can happen that during the execution of the program, all the three are triggered, modifying the state of the TClass instance.
In order to retrieve a TClass instance from the type system, a query can be executed as follows through the static TClass::GetClass method:
The name of classes is crucial for ROOT. A careful procedure of name normalization is carried out for each and every class. A normalized name is a valid C++ class name. In order to access the name of a class within the ROOT type system, the method TClass::GetName() can be used.
Classes | |
class | InsertTClassInRegistryRAII |
struct | ObjectPtr |
class | TDeclNameRegistry |
Public Types | |
enum | ECheckSum { kCurrentCheckSum = 0 , kNoEnum = 1 , kReflexNoComment = 2 , kNoRange = 3 , kWithTypeDef = 4 , kReflex = 5 , kNoRangeCheck = 6 , kNoBaseCheckSum = 7 , kLatestCheckSum = 8 } |
enum | ENewType { kRealNew = 0 , kClassNew , kDummyNew } |
enum | EState { kNoInfo , kForwardDeclared , kEmulated , kInterpreted , kHasTClassInit , kLoaded = kHasTClassInit , kNamespaceForMeta } |
enum | EStatusBits { kReservedLoading = (1ULL << ( 7 )) , kHasLocalHashMember = (1ULL << ( 14 )) , kIgnoreTObjectStreamer = (1ULL << ( 15 )) , kUnloaded = (1ULL << ( 16 )) , kIsTObject = (1ULL << ( 17 )) , kIsForeign = (1ULL << ( 18 )) , kStartWithTObject = (1ULL << ( 20 )) , kWarned = (1ULL << ( 21 )) , kHasNameMapNode = (1ULL << ( 22 )) } |
Public Types inherited from TDictionary | |
typedef const void * | DeclId_t |
enum class | EMemberSelection { kNoUsingDecls , kOnlyUsingDecls , kAlsoUsingDecls } |
Kinds of members to include in lists. More... | |
enum | ESTLType { kNone = ROOT::kNotSTL , kVector = ROOT::kSTLvector , kList = ROOT::kSTLlist , kForwardlist = ROOT::kSTLforwardlist , kDeque = ROOT::kSTLdeque , kMap = ROOT::kSTLmap , kMultimap = ROOT::kSTLmultimap , kSet = ROOT::kSTLset , kMultiset = ROOT::kSTLmultiset , kUnorderedSet = ROOT::kSTLunorderedset , kUnorderedMultiset = ROOT::kSTLunorderedmultiset , kUnorderedMap = ROOT::kSTLunorderedmap , kUnorderedMultimap = ROOT::kSTLunorderedmultimap , kBitset = ROOT::kSTLbitset } |
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 | |
TClass () | |
Internal, default constructor. | |
TClass (ClassInfo_t *info, Version_t cversion, const char *dfil, const char *ifil=nullptr, Int_t dl=0, Int_t il=0, Bool_t silent=kFALSE) | |
Internal constructor. | |
TClass (const char *name, Bool_t silent=kFALSE) | |
Create a TClass object. | |
TClass (const char *name, Version_t cversion, Bool_t silent=kFALSE) | |
Internal constructor. | |
TClass (const char *name, Version_t cversion, const char *dfil, const char *ifil=nullptr, Int_t dl=0, Int_t il=0, Bool_t silent=kFALSE) | |
Internal constructor. | |
TClass (const char *name, Version_t cversion, const std::type_info &info, TVirtualIsAProxy *isa, const char *dfil, const char *ifil, Int_t dl, Int_t il, Bool_t silent=kFALSE) | |
Internal constructor. | |
TClass (const char *name, Version_t cversion, EState theState, Bool_t silent=kFALSE) | |
Internal constructor, mimicing the case of a class fwd declared in the interpreter. | |
virtual | ~TClass () |
TClass dtor. Deletes all list that might have been created. | |
void | AddImplFile (const char *filename, int line) |
void | AddInstance (Bool_t heap=kFALSE) |
void | AdoptMemberStreamer (const char *name, TMemberStreamer *strm) |
Adopt the TMemberStreamer pointer to by p and use it to Stream non basic member name. | |
void | AdoptReferenceProxy (TVirtualRefProxy *proxy) |
Adopt the Reference proxy pointer to indicate that this class represents a reference. | |
void | AdoptSchemaRules (ROOT::Detail::TSchemaRuleSet *rules) |
Adopt a new set of Data Model Evolution rules. | |
void | AdoptStreamer (TClassStreamer *strm) |
Adopt a TClassStreamer object. | |
void | Browse (TBrowser *b) override |
This method is called by a browser to get the class information. | |
Int_t | Browse (void *obj, TBrowser *b) const |
Browse objects of of the class described by this TClass object. | |
void | BuildEmulatedRealData (const char *name, Longptr_t offset, TClass *cl, Bool_t isTransient=kFALSE) |
Build the list of real data for an emulated class. | |
void | BuildRealData (void *pointer=nullptr, Bool_t isTransient=kFALSE) |
Build a full list of persistent data members. | |
void | CalculateStreamerOffset () const |
Calculate the offset between an object of this class to its base class TObject. | |
Bool_t | CallShowMembers (const void *obj, TMemberInspector &insp, Bool_t isTransient=kFALSE) const |
Call ShowMembers() on the obj of this class type, passing insp and parent. | |
Bool_t | CanIgnoreTObjectStreamer () |
Bool_t | CanSplit () const |
Return true if the data member of this TClass can be saved separately. | |
Long_t | ClassProperty () const |
Return the C++ property of this class, eg. | |
TObject * | Clone (const char *newname="") const override |
Create a Clone of this TClass object using a different name but using the same 'dictionary'. | |
void | CopyCollectionProxy (const TVirtualCollectionProxy &) |
Replaces the collection proxy for this class. | |
void | DeleteArray (ObjectPtr ary, Bool_t dtorOnly=kFALSE) |
Explicitly call operator delete[] for an array. | |
void | DeleteArray (void *ary, Bool_t dtorOnly=kFALSE) |
Explicitly call operator delete[] for an array. | |
void | Destructor (ObjectPtr obj, Bool_t dtorOnly=kFALSE) |
Explicitly call destructor for object. | |
void | Destructor (void *obj, Bool_t dtorOnly=kFALSE) |
Explicitly call destructor for object. | |
void | Draw (Option_t *option="") override |
Draw detailed class inheritance structure. | |
void | Dump () const override |
Dump contents of object on stdout. | |
void | Dump (const void *obj, Bool_t noAddr=kFALSE) const |
Dump contents of object on stdout. | |
const void * | DynamicCast (const TClass *base, const void *obj, Bool_t up=kTRUE) |
Cast obj of this class type up to baseclass cl if up is true. | |
void * | DynamicCast (const TClass *base, void *obj, Bool_t up=kTRUE) |
Cast obj of this class type up to baseclass cl if up is true. | |
char * | EscapeChars (const char *text) const |
Introduce an escape character (@) in front of a special chars. | |
TVirtualStreamerInfo * | FindConversionStreamerInfo (const char *onfile_classname, UInt_t checksum) const |
Return a Conversion StreamerInfo from the class 'classname' for the layout represented by 'checksum' to this class, if any. | |
TVirtualStreamerInfo * | FindConversionStreamerInfo (const TClass *onfile_cl, UInt_t checksum) const |
Return a Conversion StreamerInfo from the class represented by cl for the layout represented by 'checksum' to this class, if any. | |
TVirtualStreamerInfo * | FindStreamerInfo (UInt_t checksum, Bool_t isTransient=kFALSE) const |
Find the TVirtualStreamerInfo in the StreamerInfos corresponding to checksum. | |
TVirtualStreamerInfo * | FindStreamerInfoAbstractEmulated (UInt_t checksum) const |
For the case where the requestor class is emulated and this class is abstract, returns a pointer to the TVirtualStreamerInfo object for version with an emulated representation whether or not the class is loaded. | |
void | ForceReload (TClass *oldcl) |
we found at least one equivalent. | |
TClass * | GetActualClass (const void *object) const |
Return a pointer to the real class of the object. | |
TClass * | GetBaseClass (const char *classname) |
Return pointer to the base class "classname". | |
TClass * | GetBaseClass (const TClass *base) |
Return pointer to the base class "cl". | |
Int_t | GetBaseClassOffset (const TClass *toBase, void *address=nullptr, bool isDerivedObject=true) |
TClass * | GetBaseDataMember (const char *datamember) |
Return pointer to (base) class that contains datamember. | |
UInt_t | GetCheckSum (Bool_t &isvalid) const |
Return GetCheckSum(kCurrentCheckSum,isvalid);. | |
UInt_t | GetCheckSum (ECheckSum code, Bool_t &isvalid) const |
Compute and/or return the class check sum. | |
UInt_t | GetCheckSum (ECheckSum code=kCurrentCheckSum) const |
Call GetCheckSum with validity check. | |
ClassInfo_t * | GetClassInfo () const |
TMethod * | GetClassMethod (const char *name, const char *params, Bool_t objectIsConst=kFALSE) |
Look for a method in this class that has the name and matches the parameters. | |
TMethod * | GetClassMethodWithPrototype (const char *name, const char *proto, Bool_t objectIsConst=kFALSE, ROOT::EFunctionMatchMode mode=ROOT::kConversionMatch) |
Find the method with a given prototype. | |
Int_t | GetClassSize () const |
Version_t | GetClassVersion () const |
TVirtualCollectionProxy * | GetCollectionProxy () const |
Return the proxy describing the collection (if any). | |
ROOT::ESTLType | GetCollectionType () const |
Return the 'type' of the STL the TClass is representing. | |
const char * | GetContextMenuTitle () const |
TVirtualStreamerInfo * | GetConversionStreamerInfo (const char *onfile_classname, Int_t version) const |
Return a Conversion StreamerInfo from the class 'classname' for version number 'version' to this class, if any. | |
TVirtualStreamerInfo * | GetConversionStreamerInfo (const TClass *onfile_cl, Int_t version) const |
Return a Conversion StreamerInfo from the class represented by cl for version number 'version' to this class, if any. | |
ClassConvStreamerFunc_t | GetConvStreamerFunc () const |
Get a wrapper/accessor function around this class custom conversion streamer (member function). | |
TVirtualStreamerInfo * | GetCurrentStreamerInfo () |
TDataMember * | GetDataMember (const char *datamember) const |
Return pointer to datamember object with name "datamember". | |
Longptr_t | GetDataMemberOffset (const char *membername) const |
return offset for member name. | |
Short_t | GetDeclFileLine () const |
const char * | GetDeclFileName () const |
Return name of the file containing the declaration of this class. | |
ROOT::DelFunc_t | GetDelete () const |
Return the wrapper around delete ThiObject. | |
ROOT::DelArrFunc_t | GetDeleteArray () const |
Return the wrapper around delete [] ThiObject. | |
ROOT::DesFunc_t | GetDestructor () const |
Return the wrapper around the destructor. | |
ROOT::DirAutoAdd_t | GetDirectoryAutoAdd () const |
Return the wrapper around the directory auto add function. | |
TFunctionTemplate * | GetFunctionTemplate (const char *name) |
UInt_t | GetHeapInstanceCount () const |
Short_t | GetImplFileLine () const |
const char * | GetImplFileName () const |
UInt_t | GetInstanceCount () const |
TVirtualIsAProxy * | GetIsAProxy () const |
Return the proxy implementing the IsA functionality. | |
TVirtualStreamerInfo * | GetLastReadInfo () const |
TList * | GetListOfAllPublicDataMembers (Bool_t load=kTRUE) |
Returns a list of all public data members of this class and its base classes. | |
const TList * | GetListOfAllPublicMethods (Bool_t load=kTRUE) |
Returns a list of all public methods of this class and its base classes. | |
TList * | GetListOfBases () |
Return list containing the TBaseClass(es) of a class. | |
TList * | GetListOfDataMembers (Bool_t load=kTRUE) |
Return list containing the TDataMembers of a class. | |
TList * | GetListOfEnums (Bool_t load=kTRUE) |
Return a list containing the TEnums of a class. | |
TList * | GetListOfFunctionTemplates (Bool_t load=kTRUE) |
Return TListOfFunctionTemplates for a class. | |
TCollection * | GetListOfMethodOverloads (const char *name) const |
Return the collection of functions named "name". | |
TList * | GetListOfMethods (Bool_t load=kTRUE) |
Return list containing the TMethods of a class. | |
TList * | GetListOfRealData () const |
TList * | GetListOfUsingDataMembers (Bool_t load=kTRUE) |
Return list containing the TDataMembers of using declarations of a class. | |
void | GetMenuItems (TList *listitems) |
Returns list of methods accessible by context menu. | |
TList * | GetMenuList () const |
Return the list of menu items associated with the class. | |
ROOT::MergeFunc_t | GetMerge () const |
Return the wrapper around Merge. | |
TMethod * | GetMethod (const char *method, const char *params, Bool_t objectIsConst=kFALSE) |
Find the best method (if there is one) matching the parameters. | |
TMethod * | GetMethodAllAny (const char *method) |
Return pointer to method without looking at parameters. | |
TMethod * | GetMethodAny (const char *method) |
Return pointer to method without looking at parameters. | |
TMethod * | GetMethodWithPrototype (const char *method, const char *proto, Bool_t objectIsConst=kFALSE, ROOT::EFunctionMatchMode mode=ROOT::kConversionMatch) |
Find the method with a given prototype. | |
void | GetMissingDictionaries (THashTable &result, bool recurse=false) |
Get the classes that have a missing dictionary starting from this one. | |
Int_t | GetNdata () |
Return the number of data members of this class Note that in case the list of data members is not yet created, it will be done by GetListOfDataMembers(). | |
ROOT::NewFunc_t | GetNew () const |
Return the wrapper around new ThisClass(). | |
ROOT::NewArrFunc_t | GetNewArray () const |
Return the wrapper around new ThisClass[]. | |
Int_t | GetNmethods () |
Return the number of methods of this class Note that in case the list of methods is not yet created, it will be done by GetListOfMethods(). | |
TClass *const * | GetPersistentRef () const |
TRealData * | GetRealData (const char *name) const |
Return pointer to TRealData element with name "name". | |
TVirtualRefProxy * | GetReferenceProxy () const |
ROOT::ResetAfterMergeFunc_t | GetResetAfterMerge () const |
Return the wrapper around Merge. | |
const ROOT::Detail::TSchemaRuleSet * | GetSchemaRules () const |
Return the set of the schema rules if any. | |
ROOT::Detail::TSchemaRuleSet * | GetSchemaRules (Bool_t create=kFALSE) |
Return the set of the schema rules if any. | |
const char * | GetSharedLibs () |
Get the list of shared libraries containing the code for class cls. | |
ShowMembersFunc_t | GetShowMembersWrapper () const |
EState | GetState () const |
TClassStreamer * | GetStreamer () const |
Return the Streamer Class allowing streaming (if any). | |
ClassStreamerFunc_t | GetStreamerFunc () const |
Get a wrapper/accessor function around this class custom streamer (member function). | |
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, it is created | |
TVirtualStreamerInfo * | GetStreamerInfoAbstractEmulated (Int_t version=0) const |
For the case where the requestor class is emulated and this class is abstract, returns a pointer to the TVirtualStreamerInfo object for version with an emulated representation whether or not the class is loaded. | |
const TObjArray * | GetStreamerInfos () const |
const std::type_info * | GetTypeInfo () const |
Bool_t | HasConsistentHashMember () |
Return 'true' if we can guarantee that if this class (or any class in this class inheritance hierarchy) overload TObject::Hash it also starts the RecursiveRemove process from its own destructor. | |
Bool_t | HasCustomStreamerMember () const |
The class has a Streamer method and it is implemented by the user or an older (not StreamerInfo based) automatic streamer. | |
Bool_t | HasDataMemberInfo () const |
Bool_t | HasDefaultConstructor (Bool_t testio=kFALSE) const |
Return true if we have access to a constructor usable for I/O. | |
Bool_t | HasDictionary () const |
Check whether a class has a dictionary or not. | |
Bool_t | HasInterpreterInfo () const |
Bool_t | HasInterpreterInfoInMemory () const |
Bool_t | HasLocalHashMember () const |
Returns true if this class has an definition and/or overload of the member function Hash. | |
void | IgnoreTObjectStreamer (Bool_t ignore=kTRUE) |
When the class kIgnoreTObjectStreamer bit is set, the automatically generated Streamer will not call TObject::Streamer. | |
Bool_t | InheritsFrom (const char *cl) const override |
Return kTRUE if this class inherits from a class with name "classname". | |
Bool_t | InheritsFrom (const TClass *cl) const override |
Return kTRUE if this class inherits from class cl. | |
void | InterpretedShowMembers (void *obj, TMemberInspector &insp, Bool_t isTransient) |
Do a ShowMembers() traversal of all members and base classes' members using the reflection information from the interpreter. | |
TClass * | IsA () const override |
Bool_t | IsFolder () const override |
Returns kTRUE in case object contains browsable objects (like containers or lists of other objects). | |
Bool_t | IsFolder (void *obj) const |
Return kTRUE if the class has elements. | |
Bool_t | IsForeign () const |
Return kTRUE is the class is Foreign (the class does not have a Streamer method). | |
Bool_t | IsLoaded () const |
Return true if the shared library of this class is currently in the a process's memory. | |
Bool_t | IsStartingWithTObject () const |
Returns true if this class inherits from TObject and if the start of the TObject parts is at the very beginning of the objects. | |
Bool_t | IsSyntheticPair () const |
Bool_t | IsTObject () const |
Return kTRUE is the class inherits from TObject. | |
Bool_t | IsVersioned () const |
void | ls (Option_t *opt="") const override |
The ls function lists the contents of a class on stdout. | |
void | MakeCustomMenuList () |
Makes a customizable version of the popup menu list, i.e. | |
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. | |
void | Move (void *arenaFrom, void *arenaTo) const |
Register the fact that an object was moved from the memory location 'arenaFrom' to the memory location 'arenaTo'. | |
void * | New (ENewType defConstructor=kClassNew, Bool_t quiet=kFALSE) const |
Return a pointer to a newly allocated object of this class. | |
void * | New (void *arena, ENewType defConstructor=kClassNew) const |
Return a pointer to a newly allocated object of this class. | |
void * | NewArray (Long_t nElements, ENewType defConstructor=kClassNew) const |
Return a pointer to a newly allocated array of objects of this class. | |
void * | NewArray (Long_t nElements, void *arena, ENewType defConstructor=kClassNew) const |
Return a pointer to a newly allocated object of this class. | |
ObjectPtr | NewObject (ENewType defConstructor=kClassNew, Bool_t quiet=kFALSE) const |
ObjectPtr | NewObject (void *arena, ENewType defConstructor=kClassNew) const |
Return a pointer to a newly allocated object of this class. | |
ObjectPtr | NewObjectArray (Long_t nElements, ENewType defConstructor=kClassNew) const |
Return a pointer to a newly allocated array of objects of this class. | |
ObjectPtr | NewObjectArray (Long_t nElements, void *arena, ENewType defConstructor=kClassNew) const |
Return a pointer to a newly allocated object of this class. | |
virtual void | PostLoadCheck () |
Do the initialization that can only be done after the CINT dictionary has been fully populated and can not be delayed efficiently. | |
Long_t | Property () const override |
Returns the properties of the TClass as a bit field stored as a Long_t value. | |
Int_t | ReadBuffer (TBuffer &b, void *pointer) |
Function called by the Streamer functions to deserialize information from buffer b into object at p. | |
Int_t | ReadBuffer (TBuffer &b, void *pointer, Int_t version, UInt_t start, UInt_t count) |
Function called by the Streamer functions to deserialize information from buffer b into object at p. | |
void | RegisterStreamerInfo (TVirtualStreamerInfo *info) |
Register the StreamerInfo in the given slot, change the State of the TClass as appropriate. | |
void | RemoveStreamerInfo (Int_t slot) |
Remove and delete the StreamerInfo in the given slot. | |
void | ReplaceWith (TClass *newcl) const |
void | ResetCaches () |
To clean out all caches. | |
void | ResetClassInfo () |
Make sure that the current ClassInfo is up to date. | |
void | ResetClassInfo (Long_t tagnum) |
Make sure that the current ClassInfo is up to date. | |
void | ResetInstanceCount () |
void | ResetMenuList () |
Resets the menu list to it's standard value. | |
void | SetCanSplit (Int_t splitmode) |
Set the splitability of this class: | |
void | SetCollectionProxy (const ROOT::Detail::TCollectionProxyInfo &) |
Create the collection proxy object (and the streamer object) from using the information in the TCollectionProxyInfo. | |
void | SetContextMenuTitle (const char *title) |
Change (i.e. set) the title of the TNamed. | |
void | SetConvStreamerFunc (ClassConvStreamerFunc_t strm) |
Set a wrapper/accessor function around this class custom conversion streamer. | |
void | SetCurrentStreamerInfo (TVirtualStreamerInfo *info) |
Set pointer to current TVirtualStreamerInfo. | |
void | SetDeclFile (const char *name, Short_t line) |
void | SetDelete (ROOT::DelFunc_t deleteFunc) |
Install a new wrapper around 'delete'. | |
void | SetDeleteArray (ROOT::DelArrFunc_t deleteArrayFunc) |
Install a new wrapper around 'delete []'. | |
void | SetDestructor (ROOT::DesFunc_t destructorFunc) |
Install a new wrapper around the destructor. | |
void | SetDirectoryAutoAdd (ROOT::DirAutoAdd_t dirAutoAddFunc) |
Install a new wrapper around the directory auto add function. | |
void | SetGlobalIsA (IsAGlobalFunc_t) |
This function installs a global IsA function for this class. | |
void | SetImplFileName (const char *implFileName) |
void | SetLastReadInfo (TVirtualStreamerInfo *info) |
void | SetMemberStreamer (const char *name, MemberStreamerFunc_t strm) |
Install a new member streamer (p will be copied). | |
void | SetMerge (ROOT::MergeFunc_t mergeFunc) |
Install a new wrapper around 'Merge'. | |
void | SetNew (ROOT::NewFunc_t newFunc) |
Install a new wrapper around 'new'. | |
void | SetNewArray (ROOT::NewArrFunc_t newArrayFunc) |
Install a new wrapper around 'new []'. | |
void | SetResetAfterMerge (ROOT::ResetAfterMergeFunc_t resetFunc) |
Install a new wrapper around 'ResetAfterMerge'. | |
void | SetStreamerFunc (ClassStreamerFunc_t strm) |
Set a wrapper/accessor function around this class custom streamer. | |
TVirtualStreamerInfo * | SetStreamerInfo (Int_t version, const char *info="") |
Info is a string describing the names and types of attributes written by the class Streamer function. | |
void | SetUnloaded () |
Call this method to indicate that the shared library containing this class's code has been removed (unloaded) from the process's memory. | |
Int_t | Size () const |
Return size of object of this class. | |
void | Store (TBuffer &b) const |
Store class description on I/O buffer. | |
void | Streamer (TBuffer &) override |
Stream an object of class TObject. | |
void | Streamer (void *obj, TBuffer &b, const TClass *onfile_class=nullptr) const |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
Int_t | WriteBuffer (TBuffer &b, void *pointer, const char *info="") |
Function called by the Streamer functions to serialize object at p to buffer b. | |
Public Member Functions inherited from TDictionary | |
TDictionary () | |
TDictionary (const char *name) | |
TDictionary (const TDictionary &dict) | |
virtual | ~TDictionary () |
void | CreateAttributeMap () |
TDictAttributeMap * | GetAttributeMap () const |
TClass * | IsA () const override |
TDictionary & | operator= (const TDictionary &other) |
void | Streamer (TBuffer &) override |
Stream an object of class TObject. | |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
Public Member Functions inherited from TNamed | |
TNamed () | |
TNamed (const char *name, const char *title) | |
TNamed (const TNamed &named) | |
TNamed copy ctor. | |
TNamed (const TString &name, const TString &title) | |
virtual | ~TNamed () |
TNamed destructor. | |
void | Clear (Option_t *option="") override |
Set name and title to empty strings (""). | |
TObject * | Clone (const char *newname="") const override |
Make a clone of an object using the Streamer facility. | |
Int_t | Compare (const TObject *obj) const override |
Compare two TNamed objects. | |
void | Copy (TObject &named) const override |
Copy this to obj. | |
virtual void | FillBuffer (char *&buffer) |
Encode TNamed into output buffer. | |
const char * | GetName () const override |
Returns name of object. | |
const char * | GetTitle () const override |
Returns title of object. | |
ULong_t | Hash () const override |
Return hash value for this object. | |
TClass * | IsA () const override |
Bool_t | IsSortable () const override |
void | ls (Option_t *option="") const override |
List TNamed name and title. | |
TNamed & | operator= (const TNamed &rhs) |
TNamed assignment operator. | |
void | Print (Option_t *option="") const override |
Print TNamed name and title. | |
virtual void | SetName (const char *name) |
Set the name of the TNamed. | |
virtual void | SetNameTitle (const char *name, const char *title) |
Set all the TNamed parameters (name and title). | |
virtual void | SetTitle (const char *title="") |
Set the title of the TNamed. | |
virtual Int_t | Sizeof () const |
Return size of the TNamed part of the TObject. | |
void | Streamer (TBuffer &) override |
Stream an object of class TObject. | |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
Public Member Functions inherited from TObject | |
TObject () | |
TObject constructor. | |
TObject (const TObject &object) | |
TObject copy ctor. | |
virtual | ~TObject () |
TObject destructor. | |
void | AbstractMethod (const char *method) const |
Use this method to implement an "abstract" method that you don't want to leave purely abstract. | |
virtual void | AppendPad (Option_t *option="") |
Append graphics object to current pad. | |
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. | |
virtual const char * | ClassName () const |
Returns name of class to which the object belongs. | |
virtual void | Delete (Option_t *option="") |
Delete this object. | |
virtual Int_t | DistancetoPrimitive (Int_t px, Int_t py) |
Computes distance from point (px,py) to the object. | |
virtual void | DrawClass () const |
Draw class inheritance tree of the class to which this object belongs. | |
virtual TObject * | DrawClone (Option_t *option="") const |
Draw a clone of this object in the current selected pad with: gROOT->SetSelectedPad(c1) . | |
virtual void | Error (const char *method, const char *msgfmt,...) const |
Issue error message. | |
virtual void | Execute (const char *method, const char *params, Int_t *error=nullptr) |
Execute method on this object with the given parameter string, e.g. | |
virtual void | Execute (TMethod *method, TObjArray *params, Int_t *error=nullptr) |
Execute method on this object with parameters stored in the TObjArray. | |
virtual void | ExecuteEvent (Int_t event, Int_t px, Int_t py) |
Execute action corresponding to an event at (px,py). | |
virtual void | Fatal (const char *method, const char *msgfmt,...) const |
Issue fatal error message. | |
virtual TObject * | FindObject (const char *name) const |
Must be redefined in derived classes. | |
virtual TObject * | FindObject (const TObject *obj) const |
Must be redefined in derived classes. | |
virtual Option_t * | GetDrawOption () const |
Get option used by the graphics system to draw this object. | |
virtual const char * | GetIconName () const |
Returns mime type name of object. | |
virtual char * | GetObjectInfo (Int_t px, Int_t py) const |
Returns string containing info about the object at position (px,py). | |
virtual Option_t * | GetOption () const |
virtual UInt_t | GetUniqueID () const |
Return the unique object id. | |
virtual Bool_t | HandleTimer (TTimer *timer) |
Execute action in response of a timer timing out. | |
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. | |
virtual void | Info (const char *method, const char *msgfmt,...) const |
Issue info message. | |
virtual void | Inspect () const |
Dump contents of this object in a graphics canvas. | |
void | InvertBit (UInt_t f) |
Bool_t | IsDestructed () const |
IsDestructed. | |
virtual Bool_t | IsEqual (const TObject *obj) const |
Default equal comparison (objects are equal if they have the same address in memory). | |
R__ALWAYS_INLINE Bool_t | IsOnHeap () const |
R__ALWAYS_INLINE Bool_t | IsZombie () const |
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). | |
virtual Bool_t | Notify () |
This method must be overridden to handle object notification (the base implementation is no-op). | |
void | Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const |
Use this method to declare a method obsolete. | |
void | operator delete (void *ptr) |
Operator delete. | |
void | operator delete (void *ptr, void *vp) |
Only called by placement new when throwing an exception. | |
void | operator delete[] (void *ptr) |
Operator delete []. | |
void | operator delete[] (void *ptr, void *vp) |
Only called by placement new[] when throwing an exception. | |
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) |
TObject & | operator= (const TObject &rhs) |
TObject assignment operator. | |
virtual void | Paint (Option_t *option="") |
This method must be overridden if a class wants to paint itself. | |
virtual void | Pop () |
Pop on object drawn in a pad to the top of the display list. | |
virtual Int_t | Read (const char *name) |
Read contents of object with specified name from the current directory. | |
virtual void | RecursiveRemove (TObject *obj) |
Recursively remove this object from a list. | |
void | ResetBit (UInt_t f) |
virtual void | SaveAs (const char *filename="", Option_t *option="") const |
Save this object in the file specified by filename. | |
virtual void | SavePrimitive (std::ostream &out, Option_t *option="") |
Save a primitive as a C++ statement(s) on output stream "out". | |
void | SetBit (UInt_t f) |
void | SetBit (UInt_t f, Bool_t set) |
Set or unset the user status bits as specified in f. | |
virtual void | SetDrawOption (Option_t *option="") |
Set drawing option for object. | |
virtual void | SetUniqueID (UInt_t uid) |
Set the unique object id. | |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
virtual void | SysError (const char *method, const char *msgfmt,...) const |
Issue system error message. | |
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. | |
virtual void | Warning (const char *method, const char *msgfmt,...) const |
Issue warning message. | |
virtual Int_t | Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) |
Write this object to the current directory. | |
virtual Int_t | Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) const |
Write this object to the current directory. | |
Static Public Member Functions | |
static void | AddClass (TClass *cl) |
static: Add a class to the list and map of classes. | |
static void | AddClassToDeclIdMap (TDictionary::DeclId_t id, TClass *cl) |
static: Add a TClass* to the map of classes. | |
static Bool_t | AddRule (const char *rule) |
Add a schema evolution customization rule. | |
static Int_t | AutoBrowse (TObject *obj, TBrowser *browser) |
Browse external object inherited from TObject. | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
template<typename T > | |
static TClass * | GetClass (Bool_t load=kTRUE, Bool_t silent=kFALSE) |
static TClass * | GetClass (ClassInfo_t *info, Bool_t load=kTRUE, Bool_t silent=kFALSE) |
Static method returning pointer to TClass of the specified ClassInfo. | |
static TClass * | GetClass (const char *name, Bool_t load, Bool_t silent, size_t hint_pair_offset, size_t hint_pair_size) |
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. | |
static TClass * | GetClass (const std::type_info &typeinfo, Bool_t load=kTRUE, Bool_t silent=kFALSE, size_t hint_pair_offset=0, size_t hint_pair_size=0) |
Return pointer to class with name. | |
static Bool_t | GetClass (DeclId_t id, std::vector< TClass * > &classes) |
static DictFuncPtr_t | GetDict (const char *cname) |
Return a pointer to the dictionary loading function generated by rootcint. | |
static DictFuncPtr_t | GetDict (const std::type_info &info) |
Return a pointer to the dictionary loading function generated by rootcint. | |
static Bool_t | HasDictionarySelection (const char *clname) |
Check whether a class has a dictionary or ROOT can load one. | |
static ENewType | IsCallingNew () |
Static method returning the defConstructor flag passed to TClass::New(). | |
static TClass * | Load (TBuffer &b) |
Load class description from I/O buffer and return class object. | |
static TClass * | LoadClass (const char *requestedname, Bool_t silent) |
Helper function used by TClass::GetClass(). | |
static Int_t | ReadRules () |
Read the class.rules files from the default location:. | |
static Int_t | ReadRules (const char *filename) |
Read a class.rules file which contains one rule per line with comment starting with a #. | |
static void | RemoveClass (TClass *cl) |
static: Remove a class from the list and map of classes | |
static void | RemoveClassDeclId (TDictionary::DeclId_t id) |
Static Public Member Functions inherited from TDictionary | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
static TDictionary * | GetDictionary (const char *name) |
Retrieve the type (class, fundamental type, typedef etc) named "name". | |
static TDictionary * | GetDictionary (const std::type_info &typeinfo) |
static bool | WantsRegularMembers (EMemberSelection sel) |
static bool | WantsUsingDecls (EMemberSelection sel) |
Static Public Member Functions inherited from TNamed | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
Static Public Member Functions inherited from TObject | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
static Longptr_t | GetDtorOnly () |
Return destructor only flag. | |
static Bool_t | GetObjectStat () |
Get status of object stat flag. | |
static void | SetDtorOnly (void *obj) |
Set destructor only flag. | |
static void | SetObjectStat (Bool_t stat) |
Turn on/off tracking of objects in the TObjectTable. | |
Protected Member Functions | |
TVirtualStreamerInfo * | FindStreamerInfo (TObjArray *arr, UInt_t checksum) const |
Find the TVirtualStreamerInfo in the StreamerInfos corresponding to checksum. | |
void | GetMissingDictionariesForBaseClasses (TCollection &result, TCollection &visited, bool recurse) |
Verify the base classes always. | |
void | GetMissingDictionariesForMembers (TCollection &result, TCollection &visited, bool recurse) |
Verify the Data Members. | |
void | GetMissingDictionariesForPairElements (TCollection &result, TCollection &visited, bool recurse) |
void | GetMissingDictionariesWithRecursionCheck (TCollection &result, TCollection &visited, bool recurse) |
From the second level of recursion onwards it is different state check. | |
Protected Member Functions inherited from TDictionary | |
Bool_t | UpdateInterpreterStateMarker () |
the Cling ID of the transaction that last updated the object | |
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). | |
void | MakeZombie () |
Private Types | |
enum | { kLoading = kReservedLoading , kUnloading = kReservedLoading } |
typedef std::atomic< std::map< std::string, TObjArray * > * > | ConvSIMap_t |
Persistent address of pointer to this TClass object and its successors. | |
enum class | ERuntimeProperties : UChar_t { kNotInitialized = 0 , kSet = (1ULL << ( 0 )) , kConsistentHash = (1ULL << ( 1 )) } |
Indicates whether GetClassVersion has been called. More... | |
enum | EStreamerType { kDefault =0 , kEmulatedStreamer =1 , kTObject =2 , kInstrumented =4 , kForeign =8 , kExternal =16 } |
typedef std::multimap< void *, Version_t > | RepoCont_t |
typedef void(* | StreamerImpl_t) (const TClass *pThis, void *obj, TBuffer &b, const TClass *onfile_class) |
Schema evolution rules. | |
Private Member Functions | |
TClass (const TClass &tc)=delete | |
Bool_t | CanSplitBaseAllow () |
Pointer to the function implementing streaming for this class. | |
TList * | CreateListOfDataMembers (std::atomic< TListOfDataMembers * > &data, TDictionary::EMemberSelection selection, bool load) |
Create the list containing the TDataMembers (of actual data members or members pulled in through using declarations) of a class. | |
TVirtualStreamerInfo * | DetermineCurrentStreamerInfo () |
Determine and set pointer to current TVirtualStreamerInfo. | |
TMethod * | FindClassOrBaseMethodWithId (DeclId_t faddr) |
Find a method with decl id in this class or its bases. | |
Int_t | GetBaseClassOffsetRecurse (const TClass *toBase) |
Return data member offset to the base class "cl". | |
TMethod * | GetClassMethod (Longptr_t faddr) |
Look for a method in this class that has the interface function address faddr. | |
TListOfFunctions * | GetMethodList () |
Return (create an empty one if needed) the list of functions. | |
TVirtualStreamerInfo * | GetStreamerInfoImpl (Int_t version, Bool_t silent) const |
void | Init (const char *name, Version_t cversion, const std::type_info *info, TVirtualIsAProxy *isa, const char *dfil, const char *ifil, Int_t dl, Int_t il, ClassInfo_t *classInfo, Bool_t silent) |
Initialize a TClass object. | |
bool | IsClassStructOrUnion () const |
void | LoadClassInfo () const |
Try to load the ClassInfo if available. | |
void | MoveAddressInRepository (const char *where, void *oldadd, void *newadd, const TClass *what) const |
TClass & | operator= (const TClass &)=delete |
void | RegisterAddressInRepository (const char *where, void *location, const TClass *what) const |
void | SetClassSize (Int_t sizof) |
void | SetClassVersion (Version_t version) |
Private function. | |
void | SetRuntimeProperties () |
Internal routine to set calculate the class properties that can only be known at run-time, for example whether the Hash member function and the destructor are consistent. | |
void | SetStreamerImpl () |
Internal routine to set fStreamerImpl based on the value of fStreamerType. | |
void | UnregisterAddressInRepository (const char *where, void *location, const TClass *what) const |
Static Private Member Functions | |
static void | ConvStreamerInstrumented (const TClass *pThis, void *object, TBuffer &b, const TClass *onfile_class) |
Case of instrumented class with a library. | |
static DeclIdMap_t * | GetDeclIdMap () |
static IdMap_t * | GetIdMap () |
static Bool_t | HasNoInfoOrEmuOrFwdDeclaredDecl (const char *) |
static TClass * | LoadClassCustom (const char *requestedname, Bool_t silent) |
Helper function used by TClass::GetClass(). | |
static TClass * | LoadClassDefault (const char *requestedname, Bool_t silent) |
Helper function used by TClass::GetClass(). | |
static void | StreamerDefault (const TClass *pThis, void *object, TBuffer &b, const TClass *onfile_class) |
Default streaming in cases where either we have no way to know what to do or if Property() has not yet been called. | |
static void | StreamerExternal (const TClass *pThis, void *object, TBuffer &b, const TClass *onfile_class) |
There is special streamer for the class. | |
static void | StreamerInstrumented (const TClass *pThis, void *object, TBuffer &b, const TClass *onfile_class) |
Case of instrumented class with a library. | |
static void | StreamerStreamerInfo (const TClass *pThis, void *object, TBuffer &b, const TClass *onfile_class) |
Case of where we should directly use the StreamerInfo. | |
static void | StreamerTObject (const TClass *pThis, void *object, TBuffer &b, const TClass *onfile_class) |
Case of TObjects. | |
static void | StreamerTObjectEmulated (const TClass *pThis, void *object, TBuffer &b, const TClass *onfile_class) |
Case of TObjects when we do not have the library defining the class. | |
static void | StreamerTObjectInitialized (const TClass *pThis, void *object, TBuffer &b, const TClass *onfile_class) |
Case of TObjects when fIsOffsetStreamerSet is known to have been set. | |
Static Private Attributes | |
static std::atomic< Int_t > | fgClassCount |
static THashTable * | fgClassTypedefHash = nullptr |
static TDeclNameRegistry | fNoInfoOrEmuOrFwdDeclNameRegistry |
Friends | |
bool | operator& (UChar_t l, ERuntimeProperties r) |
class | ROOT::Internal::TCheckHashRecursiveRemoveConsistency |
void | ROOT::ResetClassVersion (TClass *, const char *, Short_t) |
class | ROOT::TGenericClassInfo |
class | TCling |
class | TProtoClass |
class | TStreamerInfo |
Additional Inherited Members | |
Protected Types inherited from TObject | |
enum | { kOnlyPrepStep = (1ULL << ( 3 )) } |
Protected Attributes inherited from TNamed | |
TString | fName |
TString | fTitle |
#include <TClass.h>
|
private |
|
private |
enum TClass::ECheckSum |
enum TClass::ENewType |
|
strongprivate |
enum TClass::EState |
enum TClass::EStatusBits |
|
private |
|
privatedelete |
TClass::TClass | ( | ) |
Internal, default constructor.
TClass::GetClass("ClassName")
to get access to a TClass object for a certain class! Definition at line 1065 of file TClass.cxx.
Create a TClass object.
This object contains the full dictionary of a class. It has list to baseclasses, datamembers and methods. Use this ctor to create a standalone TClass object. Only useful to get a temporary TClass interface to an interpreted class. Used by TTabCom.
TClass::GetClass("ClassName")
to get access to a TClass object for a certain class! Definition at line 1103 of file TClass.cxx.
Internal constructor.
TClass::GetClass("ClassName")
to get access to a TClass object for a certain class! Definition at line 1151 of file TClass.cxx.
Internal constructor, mimicing the case of a class fwd declared in the interpreter.
TClass::GetClass("ClassName")
to get access to a TClass object for a certain class! Definition at line 1179 of file TClass.cxx.
TClass::TClass | ( | ClassInfo_t * | classInfo, |
Version_t | cversion, | ||
const char * | dfil, | ||
const char * | ifil = nullptr , |
||
Int_t | dl = 0 , |
||
Int_t | il = 0 , |
||
Bool_t | silent = kFALSE |
||
) |
Internal constructor.
Create a TClass object. This object contains the full dictionary of a class. It has list to baseclasses, datamembers and methods. Use this ctor to create a standalone TClass object. Most useful to get a TClass interface to an interpreted class. Used by TTabCom.
This copies the ClassInfo (i.e. does not take ownership of it).
TClass::GetClass("class")
to get access to a TClass object for a certain class! Definition at line 1224 of file TClass.cxx.
TClass::TClass | ( | const char * | name, |
Version_t | cversion, | ||
const char * | dfil, | ||
const char * | ifil = nullptr , |
||
Int_t | dl = 0 , |
||
Int_t | il = 0 , |
||
Bool_t | silent = kFALSE |
||
) |
Internal constructor.
TClass::GetClass("class")
to get access to a TClass object for a certain class! Definition at line 1275 of file TClass.cxx.
TClass::TClass | ( | const char * | name, |
Version_t | cversion, | ||
const std::type_info & | info, | ||
TVirtualIsAProxy * | isa, | ||
const char * | dfil, | ||
const char * | ifil, | ||
Int_t | dl, | ||
Int_t | il, | ||
Bool_t | silent = kFALSE |
||
) |
Internal constructor.
TClass::GetClass("class")
to get access to a TClass object for a certain class! Definition at line 1304 of file TClass.cxx.
|
virtual |
TClass dtor. Deletes all list that might have been created.
Definition at line 1660 of file TClass.cxx.
|
static |
static: Add a class to the list and map of classes.
Definition at line 494 of file TClass.cxx.
|
static |
static: Add a TClass* to the map of classes.
Definition at line 511 of file TClass.cxx.
void TClass::AddImplFile | ( | const char * | filename, |
int | line | ||
) |
Definition at line 1952 of file TClass.cxx.
|
static |
Add a schema evolution customization rule.
The syntax of the rule can be either the short form:
or the long form
For example to set HepMC::GenVertex::m_event to not owned the object it is pointing to: HepMC::GenVertex m_event attributes=NotOwner
Semantic of the tags:
Definition at line 1890 of file TClass.cxx.
void TClass::AdoptMemberStreamer | ( | const char * | name, |
TMemberStreamer * | strm | ||
) |
Adopt the TMemberStreamer pointer to by p and use it to Stream non basic member name.
Definition at line 6703 of file TClass.cxx.
void TClass::AdoptReferenceProxy | ( | TVirtualRefProxy * | proxy | ) |
Adopt the Reference proxy pointer to indicate that this class represents a reference.
When a new proxy is adopted, the old one is deleted.
Definition at line 6685 of file TClass.cxx.
void TClass::AdoptSchemaRules | ( | ROOT::Detail::TSchemaRuleSet * | rules | ) |
Adopt a new set of Data Model Evolution rules.
Definition at line 1920 of file TClass.cxx.
void TClass::AdoptStreamer | ( | TClassStreamer * | str | ) |
Adopt a TClassStreamer object.
Ownership is transfered to this TClass object.
Definition at line 6894 of file TClass.cxx.
Browse external object inherited from TObject.
It passes through inheritance tree and calls TBrowser::Add in appropriate cases. Static function.
Definition at line 1966 of file TClass.cxx.
|
overridevirtual |
This method is called by a browser to get the class information.
Reimplemented from TObject.
Definition at line 2010 of file TClass.cxx.
Browse objects of of the class described by this TClass object.
Definition at line 1978 of file TClass.cxx.
void TClass::BuildEmulatedRealData | ( | const char * | name, |
Longptr_t | offset, | ||
TClass * | cl, | ||
Bool_t | isTransient = kFALSE |
||
) |
Build the list of real data for an emulated class.
Definition at line 2112 of file TClass.cxx.
Build a full list of persistent data members.
Scans the list of all data members in the class itself and also in all base classes. For each persistent data member, inserts a TRealData object in the list fRealData.
Definition at line 2031 of file TClass.cxx.
void TClass::CalculateStreamerOffset | ( | ) | const |
Calculate the offset between an object of this class to its base class TObject.
The pointer can be adjusted by that offset to access any virtual method of TObject like Streamer() and ShowMembers().
Definition at line 2183 of file TClass.cxx.
Bool_t TClass::CallShowMembers | ( | const void * | obj, |
TMemberInspector & | insp, | ||
Bool_t | isTransient = kFALSE |
||
) | const |
Call ShowMembers() on the obj of this class type, passing insp and parent.
isATObject is -1 if unknown, 0 if it is not a TObject, and 1 if it is a TObject. The function returns whether it was able to call ShowMembers().
Definition at line 2205 of file TClass.cxx.
Bool_t TClass::CanSplit | ( | ) | const |
Return true if the data member of this TClass can be saved separately.
Definition at line 2319 of file TClass.cxx.
|
private |
Pointer to the function implementing streaming for this class.
Definition at line 2247 of file TClass.cxx.
|
static |
|
inlinestaticconstexpr |
Long_t TClass::ClassProperty | ( | ) | const |
Return the C++ property of this class, eg.
is abstract, has virtual base class, see EClassProperty in TDictionary.h
Definition at line 2396 of file TClass.cxx.
|
overridevirtual |
Create a Clone of this TClass object using a different name but using the same 'dictionary'.
This effectively creates a hard alias for the class name.
Reimplemented from TObject.
Definition at line 2406 of file TClass.cxx.
|
staticprivate |
Case of instrumented class with a library.
Definition at line 6845 of file TClass.cxx.
void TClass::CopyCollectionProxy | ( | const TVirtualCollectionProxy & | orig | ) |
Replaces the collection proxy for this class.
The provided object is cloned and the copy is then owned by TClass
.
Definition at line 2470 of file TClass.cxx.
|
private |
Create the list containing the TDataMembers (of actual data members or members pulled in through using declarations) of a class.
Definition at line 3741 of file TClass.cxx.
|
inlinestatic |
void TClass::DeleteArray | ( | TClass::ObjectPtr | obj, |
Bool_t | dtorOnly = kFALSE |
||
) |
Explicitly call operator delete[] for an array.
Definition at line 5639 of file TClass.cxx.
Explicitly call operator delete[] for an array.
Definition at line 5529 of file TClass.cxx.
void TClass::Destructor | ( | TClass::ObjectPtr | obj, |
Bool_t | dtorOnly = kFALSE |
||
) |
Explicitly call destructor for object.
Definition at line 5513 of file TClass.cxx.
Explicitly call destructor for object.
Definition at line 5400 of file TClass.cxx.
|
private |
Determine and set pointer to current TVirtualStreamerInfo.
Definition at line 5684 of file TClass.cxx.
|
overridevirtual |
Draw detailed class inheritance structure.
If a class B inherits from a class A, the description of B is drawn on the right side of the description of A. Member functions overridden by B are shown in class A with a blue line erasing the corresponding member function
Reimplemented from TObject.
Definition at line 2487 of file TClass.cxx.
|
inlineoverridevirtual |
Dump contents of object on stdout.
Using the information in the object dictionary (class TClass) each data member is interpreted. If a data member is a pointer, the pointer value is printed
The following output is the Dump of a TArrow object:
Reimplemented from TObject.
Dump contents of object on stdout.
Using the information in the object dictionary each data member is interpreted. If a data member is a pointer, the pointer value is printed 'obj' is assume to point to an object of the class describe by this TClass
The following output is the Dump of a TArrow object:
If noAddr is true, printout of all pointer values is skipped.
Definition at line 2535 of file TClass.cxx.
Cast obj of this class type up to baseclass cl if up is true.
Cast obj of this class type down from baseclass cl if up is false. If this class is not a baseclass of cl return 0, else the pointer to the cl part of this (up) or to this (down).
Definition at line 4937 of file TClass.cxx.
Cast obj of this class type up to baseclass cl if up is true.
Cast obj of this class type down from baseclass cl if up is false. If this class is not a baseclass of cl return 0, else the pointer to the cl part of this (up) or to this (down).
Definition at line 4915 of file TClass.cxx.
char * TClass::EscapeChars | ( | const char * | text | ) | const |
Introduce an escape character (@) in front of a special chars.
You need to use the result immediately before it is being overwritten.
Definition at line 2568 of file TClass.cxx.
Find a method with decl id in this class or its bases.
Definition at line 4440 of file TClass.cxx.
TVirtualStreamerInfo * TClass::FindConversionStreamerInfo | ( | const char * | onfile_classname, |
UInt_t | checksum | ||
) | const |
Return a Conversion StreamerInfo from the class 'classname' for the layout represented by 'checksum' to this class, if any.
Definition at line 7193 of file TClass.cxx.
TVirtualStreamerInfo * TClass::FindConversionStreamerInfo | ( | const TClass * | onfile_cl, |
UInt_t | checksum | ||
) | const |
Return a Conversion StreamerInfo from the class represented by cl for the layout represented by 'checksum' to this class, if any.
Definition at line 7204 of file TClass.cxx.
|
protected |
Find the TVirtualStreamerInfo in the StreamerInfos corresponding to checksum.
Definition at line 7066 of file TClass.cxx.
TVirtualStreamerInfo * TClass::FindStreamerInfo | ( | UInt_t | checksum, |
Bool_t | isTransient = kFALSE |
||
) | const |
Find the TVirtualStreamerInfo in the StreamerInfos corresponding to checksum.
Definition at line 7036 of file TClass.cxx.
TVirtualStreamerInfo * TClass::FindStreamerInfoAbstractEmulated | ( | UInt_t | checksum | ) | const |
For the case where the requestor class is emulated and this class is abstract, returns a pointer to the TVirtualStreamerInfo object for version with an emulated representation whether or not the class is loaded.
If the object does not exist, it is created
Warning: If we create a new streamer info, whether or not the build optimizes is controlled externally to us by a global variable! Don't call us unless you have set that variable properly with TStreamer::Optimize()!
Definition at line 4772 of file TClass.cxx.
void TClass::ForceReload | ( | TClass * | oldcl | ) |
TClass * TClass::GetActualClass | ( | const void * | object | ) | const |
Return a pointer to the real class of the object.
This is equivalent to object->IsA() when the class has a ClassDef. It is REQUIRED that object is coming from a proper pointer to the class represented by 'this'. Example: Special case:
then on return, one must do:
Also if the class represented by 'this' and NONE of its parents classes have a virtual ptr table, the result will be 'this' and NOT the actual class.
Definition at line 2607 of file TClass.cxx.
TClass * TClass::GetBaseClass | ( | const char * | classname | ) |
Return pointer to the base class "classname".
Returns 0 in case "classname" is not a base class. Takes care of multiple inheritance.
Definition at line 2655 of file TClass.cxx.
Return pointer to the base class "cl".
Returns 0 in case "cl" is not a base class. Takes care of multiple inheritance.
Definition at line 2674 of file TClass.cxx.
Int_t TClass::GetBaseClassOffset | ( | const TClass * | toBase, |
void * | address = nullptr , |
||
bool | isDerivedObject = true |
||
) |
Definition at line 2791 of file TClass.cxx.
Return data member offset to the base class "cl".
Definition at line 2705 of file TClass.cxx.
TClass * TClass::GetBaseDataMember | ( | const char * | datamember | ) |
Return pointer to (base) class that contains datamember.
Definition at line 2827 of file TClass.cxx.
Return GetCheckSum(kCurrentCheckSum,isvalid);.
Definition at line 6514 of file TClass.cxx.
Compute and/or return the class check sum.
isvalid is set to false, if the function is unable to calculate the checksum.
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. Original algorithm from Victor Perevovchikov (perev.nosp@m.@bnl.nosp@m..gov).
The valid range of code is determined by ECheckSum.
This is needed for backward compatibility.
WARNING: this function must be kept in sync with TStreamerInfo::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.
Definition at line 6544 of file TClass.cxx.
UInt_t TClass::GetCheckSum | ( | ECheckSum | code = kCurrentCheckSum | ) | const |
Call GetCheckSum with validity check.
Definition at line 6505 of file TClass.cxx.
|
static |
Static method returning pointer to TClass of the specified ClassInfo.
If load is true an attempt is made to obtain the class by loading the appropriate shared library (directed by the rootmap file). If silent is 'true', do not warn about missing dictionary for the class. (typically used for class that are used only for transient members) Returns 0 in case class is not found.
Definition at line 3351 of file TClass.cxx.
|
static |
Definition at line 2973 of file TClass.cxx.
Static method returning pointer to TClass of the specified class name.
If load is true, an attempt is made to obtain the class by loading the appropriate shared library (directed by the rootmap file). If silent is 'true', do not warn about missing dictionary for the class. (typically used for classes that are used only for transient members) Returns nullptr
in case class is not found.
Definition at line 2968 of file TClass.cxx.
|
static |
Return pointer to class with name.
Definition at line 3254 of file TClass.cxx.
Definition at line 3404 of file TClass.cxx.
TMethod * TClass::GetClassMethod | ( | const char * | name, |
const char * | params, | ||
Bool_t | objectIsConst = kFALSE |
||
) |
Look for a method in this class that has the name and matches the parameters.
The params string must contain argument values, like "3189, \"aap\", 1.3". Returns 0 in case method is not found. See TClass::GetMethod to also search the base classes.
Definition at line 4502 of file TClass.cxx.
Look for a method in this class that has the interface function address faddr.
Definition at line 4483 of file TClass.cxx.
TMethod * TClass::GetClassMethodWithPrototype | ( | const char * | name, |
const char * | proto, | ||
Bool_t | objectIsConst = kFALSE , |
||
ROOT::EFunctionMatchMode | mode = ROOT::kConversionMatch |
||
) |
Find the method with a given prototype.
The proto string must be of the form: "char*,int,double". Returns 0 in case method is not found. See TClass::GetMethodWithPrototype to also search the base classes.
Definition at line 4527 of file TClass.cxx.
TVirtualCollectionProxy * TClass::GetCollectionProxy | ( | ) | const |
Return the proxy describing the collection (if any).
Definition at line 2897 of file TClass.cxx.
ROOT::ESTLType TClass::GetCollectionType | ( | ) | const |
Return the 'type' of the STL the TClass is representing.
and return ROOT::kNotSTL if it is not representing an STL collection.
Definition at line 2886 of file TClass.cxx.
TVirtualStreamerInfo * TClass::GetConversionStreamerInfo | ( | const char * | onfile_classname, |
Int_t | version | ||
) | const |
Return a Conversion StreamerInfo from the class 'classname' for version number 'version' to this class, if any.
Definition at line 7086 of file TClass.cxx.
TVirtualStreamerInfo * TClass::GetConversionStreamerInfo | ( | const TClass * | onfile_cl, |
Int_t | version | ||
) | const |
Return a Conversion StreamerInfo from the class represented by cl for version number 'version' to this class, if any.
Definition at line 7097 of file TClass.cxx.
ClassConvStreamerFunc_t TClass::GetConvStreamerFunc | ( | ) | const |
Get a wrapper/accessor function around this class custom conversion streamer (member function).
Definition at line 2947 of file TClass.cxx.
|
inline |
TDataMember * TClass::GetDataMember | ( | const char * | datamember | ) | const |
Return pointer to datamember object with name "datamember".
Definition at line 3439 of file TClass.cxx.
Longptr_t TClass::GetDataMemberOffset | ( | const char * | name | ) | const |
return offset for member name.
name can be a data member in the class itself, one of its base classes, or one member in one of the aggregated classes.
In case of an emulated class, the list of emulated TRealData is built
Definition at line 3477 of file TClass.cxx.
const char * TClass::GetDeclFileName | ( | ) | const |
Return name of the file containing the declaration of this class.
Definition at line 3463 of file TClass.cxx.
|
staticprivate |
Definition at line 480 of file TClass.cxx.
ROOT::DelFunc_t TClass::GetDelete | ( | ) | const |
Return the wrapper around delete ThiObject.
Definition at line 7463 of file TClass.cxx.
ROOT::DelArrFunc_t TClass::GetDeleteArray | ( | ) | const |
Return the wrapper around delete [] ThiObject.
Definition at line 7471 of file TClass.cxx.
ROOT::DesFunc_t TClass::GetDestructor | ( | ) | const |
Return the wrapper around the destructor.
Definition at line 7479 of file TClass.cxx.
|
static |
Return a pointer to the dictionary loading function generated by rootcint.
Definition at line 3422 of file TClass.cxx.
|
static |
Return a pointer to the dictionary loading function generated by rootcint.
Definition at line 3431 of file TClass.cxx.
ROOT::DirAutoAdd_t TClass::GetDirectoryAutoAdd | ( | ) | const |
Return the wrapper around the directory auto add function.
Definition at line 7487 of file TClass.cxx.
TFunctionTemplate * TClass::GetFunctionTemplate | ( | const char * | name | ) |
Definition at line 3607 of file TClass.cxx.
|
staticprivate |
Definition at line 469 of file TClass.cxx.
TVirtualIsAProxy * TClass::GetIsAProxy | ( | ) | const |
Return the proxy implementing the IsA functionality.
Definition at line 2955 of file TClass.cxx.
|
inline |
Returns a list of all public data members of this class and its base classes.
Refers to a subset of the data members in GetListOfDatamembers() so don't do GetListOfAllPublicDataMembers()->Delete().
Definition at line 3862 of file TClass.cxx.
Returns a list of all public methods of this class and its base classes.
Refers to a subset of the methods in GetListOfMethods() so don't do GetListOfAllPublicMethods()->Delete(). Algorithm used to get the list is:
Definition at line 3845 of file TClass.cxx.
TList * TClass::GetListOfBases | ( | ) |
Return list containing the TBaseClass(es) of a class.
Definition at line 3636 of file TClass.cxx.
Return list containing the TDataMembers of a class.
Definition at line 3770 of file TClass.cxx.
Return a list containing the TEnums of a class.
The list returned is safe to use from multiple thread without explicitly taking the ROOT global lock.
In the case the TClass represents a namespace, the returned list will implicit take the ROOT global lock upon any access (see TListOfEnumsWithLock)
In the case the TClass represents a class or struct and requestListLoading is true, the list is immutable (and thus safe to access from multiple thread without taking the global lock at all).
In the case the TClass represents a class or struct and requestListLoading is false, the list is mutable and thus we return a TListOfEnumsWithLock which will implicit take the ROOT global lock upon any access.
Definition at line 3686 of file TClass.cxx.
Return TListOfFunctionTemplates for a class.
Definition at line 3798 of file TClass.cxx.
TCollection * TClass::GetListOfMethodOverloads | ( | const char * | name | ) | const |
Return the collection of functions named "name".
Definition at line 3827 of file TClass.cxx.
Return list containing the TMethods of a class.
If load is true, the list is populated with all the defined function and currently instantiated function template.
Definition at line 3812 of file TClass.cxx.
Return list containing the TDataMembers of using declarations of a class.
Definition at line 3786 of file TClass.cxx.
void TClass::GetMenuItems | ( | TList * | listitems | ) |
Returns list of methods accessible by context menu.
Definition at line 3874 of file TClass.cxx.
TList * TClass::GetMenuList | ( | ) | const |
Return the list of menu items associated with the class.
Definition at line 4341 of file TClass.cxx.
ROOT::MergeFunc_t TClass::GetMerge | ( | ) | const |
Return the wrapper around Merge.
Definition at line 7431 of file TClass.cxx.
TMethod * TClass::GetMethod | ( | const char * | method, |
const char * | params, | ||
Bool_t | objectIsConst = kFALSE |
||
) |
Find the best method (if there is one) matching the parameters.
The params string must contain argument values, like "3189, \"aap\", 1.3". The function invokes GetClassMethod to search for a possible method in the class itself or in its base classes. Returns 0 in case method is not found.
Definition at line 4411 of file TClass.cxx.
TMethod * TClass::GetMethodAllAny | ( | const char * | method | ) |
Return pointer to method without looking at parameters.
Does look in all base classes.
Definition at line 4384 of file TClass.cxx.
TMethod * TClass::GetMethodAny | ( | const char * | method | ) |
Return pointer to method without looking at parameters.
Does not look in (possible) base classes. Has the side effect of loading all the TMethod object in the list of the class.
Definition at line 4374 of file TClass.cxx.
|
private |
Return (create an empty one if needed) the list of functions.
The major difference with GetListOfMethod is that this returns the internal type of fMethod and thus can not be made public. It also never 'loads' the content of the list.
Definition at line 4355 of file TClass.cxx.
TMethod * TClass::GetMethodWithPrototype | ( | const char * | method, |
const char * | proto, | ||
Bool_t | objectIsConst = kFALSE , |
||
ROOT::EFunctionMatchMode | mode = ROOT::kConversionMatch |
||
) |
Find the method with a given prototype.
The proto string must be of the form: "char*,int,double". Returns 0 in case method is not found.
Definition at line 4456 of file TClass.cxx.
void TClass::GetMissingDictionaries | ( | THashTable & | result, |
bool | recurse = false |
||
) |
Get the classes that have a missing dictionary starting from this one.
Definition at line 4087 of file TClass.cxx.
|
protected |
Verify the base classes always.
Definition at line 3927 of file TClass.cxx.
|
protected |
Verify the Data Members.
Definition at line 3944 of file TClass.cxx.
|
protected |
Definition at line 3973 of file TClass.cxx.
|
protected |
From the second level of recursion onwards it is different state check.
Definition at line 3990 of file TClass.cxx.
Int_t TClass::GetNdata | ( | ) |
Return the number of data members of this class Note that in case the list of data members is not yet created, it will be done by GetListOfDataMembers().
Definition at line 4554 of file TClass.cxx.
ROOT::NewFunc_t TClass::GetNew | ( | ) | const |
Return the wrapper around new ThisClass().
Definition at line 7447 of file TClass.cxx.
ROOT::NewArrFunc_t TClass::GetNewArray | ( | ) | const |
Return the wrapper around new ThisClass[].
Definition at line 7455 of file TClass.cxx.
Int_t TClass::GetNmethods | ( | ) |
Return the number of methods of this class Note that in case the list of methods is not yet created, it will be done by GetListOfMethods().
This will also load/populate the list of methods, to get 'just' the number of currently loaded methods use: cl->GetListOfMethods(false)->GetSize();
Definition at line 4573 of file TClass.cxx.
TRealData * TClass::GetRealData | ( | const char * | name | ) | const |
Return pointer to TRealData element with name "name".
Name can be a data member in the class itself, one of its base classes, or a member in one of the aggregated classes.
In case of an emulated class, the list of emulated TRealData is built.
Definition at line 3503 of file TClass.cxx.
|
inline |
ROOT::ResetAfterMergeFunc_t TClass::GetResetAfterMerge | ( | ) | const |
Return the wrapper around Merge.
Definition at line 7439 of file TClass.cxx.
const ROOT::Detail::TSchemaRuleSet * TClass::GetSchemaRules | ( | ) | const |
Return the set of the schema rules if any.
Definition at line 1932 of file TClass.cxx.
ROOT::Detail::TSchemaRuleSet * TClass::GetSchemaRules | ( | Bool_t | create = kFALSE | ) |
Return the set of the schema rules if any.
If create is true, create an empty set
Definition at line 1941 of file TClass.cxx.
const char * TClass::GetSharedLibs | ( | ) |
Get the list of shared libraries containing the code for class cls.
The first library in the list is the one containing the class, the others are the libraries the first one depends on. Returns 0 in case the library is not found.
Definition at line 3623 of file TClass.cxx.
|
inline |
TClassStreamer * TClass::GetStreamer | ( | ) | const |
Return the Streamer Class allowing streaming (if any).
Definition at line 2914 of file TClass.cxx.
ClassStreamerFunc_t TClass::GetStreamerFunc | ( | ) | const |
Get a wrapper/accessor function around this class custom streamer (member function).
Definition at line 2939 of file TClass.cxx.
TVirtualStreamerInfo * TClass::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, it is created
Note: There are two special version numbers:
- 0: Use the class version from the currently loaded class library. - -1: Assume no class library loaded (emulated class).
Warning: If we create a new streamer info, whether or not the build optimizes is controlled externally to us by a global variable! Don't call us unless you have set that variable properly with TStreamer::Optimize()!
Definition at line 4599 of file TClass.cxx.
TVirtualStreamerInfo * TClass::GetStreamerInfoAbstractEmulated | ( | Int_t | version = 0 | ) | const |
For the case where the requestor class is emulated and this class is abstract, returns a pointer to the TVirtualStreamerInfo object for version with an emulated representation whether or not the class is loaded.
If the object does not exist, it is created
Note: There are two special version numbers:
Warning: If we create a new streamer info, whether or not the build optimizes is controlled externally to us by a global variable! Don't call us unless you have set that variable properly with TStreamer::Optimize()!
Definition at line 4709 of file TClass.cxx.
|
private |
Definition at line 4634 of file TClass.cxx.
|
inline |
|
inline |
|
inline |
Return 'true' if we can guarantee that if this class (or any class in this class inheritance hierarchy) overload TObject::Hash it also starts the RecursiveRemove process from its own destructor.
|
inline |
Return true if we have access to a constructor usable for I/O.
This is typically the default constructor but can also be a constructor specifically marked for I/O (for example a constructor taking a TRootIOCtor* as an argument). In other words, if this routine returns true, TClass::New is guarantee to succeed. To know if the class described by this TClass has a default constructor (public or not), use
To know if the class described by this TClass has a public default constructor use:
Definition at line 7393 of file TClass.cxx.
Bool_t TClass::HasDictionary | ( | ) | const |
Check whether a class has a dictionary or not.
This is equivalent to ask if a class is coming from a bootstrapping procedure initiated during the loading of a library.
Definition at line 3906 of file TClass.cxx.
|
static |
Check whether a class has a dictionary or ROOT can load one.
This is equivalent to ask HasDictionary() or whether a library is known where it can be loaded from, or whether a Dictionary function is available because the class's dictionary library was already loaded.
Definition at line 3917 of file TClass.cxx.
Bool_t TClass::HasLocalHashMember | ( | ) | const |
Returns true if this class has an definition and/or overload of the member function Hash.
For example to test if the class overload TObject::Hash use
Definition at line 7421 of file TClass.cxx.
|
staticprivate |
Definition at line 3398 of file TClass.cxx.
When the class kIgnoreTObjectStreamer bit is set, the automatically generated Streamer will not call TObject::Streamer.
This option saves the TObject space overhead on the file. However, the information (fBits, fUniqueID) of TObject is lost.
Note that to be effective for objects streamed object-wise this function must be called for the class deriving directly from TObject, eg, assuming that BigTrack derives from Track and Track derives from TObject, one must do:
and not:
To be effective for object streamed member-wise or split in a TTree, this function must be called for the most derived class (i.e. BigTrack).
Definition at line 4841 of file TClass.cxx.
|
overridevirtual |
Return kTRUE if this class inherits from a class with name "classname".
note that the function returns kTRUE in case classname is the class itself
Reimplemented from TObject.
Definition at line 4874 of file TClass.cxx.
Return kTRUE if this class inherits from class cl.
note that the function returns KTRUE in case cl is the class itself
Reimplemented from TObject.
Definition at line 4885 of file TClass.cxx.
|
private |
Initialize a TClass object.
This object contains the full dictionary of a class. It has list to baseclasses, datamembers and methods.
Definition at line 1369 of file TClass.cxx.
void TClass::InterpretedShowMembers | ( | void * | obj, |
TMemberInspector & | insp, | ||
Bool_t | isTransient | ||
) |
Do a ShowMembers() traversal of all members and base classes' members using the reflection information from the interpreter.
Works also for interpreted objects.
Definition at line 2242 of file TClass.cxx.
|
inlineoverridevirtual |
|
static |
Static method returning the defConstructor flag passed to TClass::New().
New type is either:
Definition at line 5902 of file TClass.cxx.
|
inlineoverridevirtual |
Bool_t TClass::IsFolder | ( | void * | obj | ) | const |
Return kTRUE if the class has elements.
Definition at line 4135 of file TClass.cxx.
Bool_t TClass::IsForeign | ( | ) | const |
Return kTRUE is the class is Foreign (the class does not have a Streamer method).
Definition at line 5947 of file TClass.cxx.
Bool_t TClass::IsLoaded | ( | ) | const |
Return true if the shared library of this class is currently in the a process's memory.
Return false, after the shared library has been unloaded or if this is an 'emulated' class created from a file's StreamerInfo.
Definition at line 5912 of file TClass.cxx.
Bool_t TClass::IsStartingWithTObject | ( | ) | const |
Returns true if this class inherits from TObject and if the start of the TObject parts is at the very beginning of the objects.
Concretely this means that the following code is proper for this class:
This code would be wrong if 'ThisClass' did not inherit 'first' from TObject.
Definition at line 5929 of file TClass.cxx.
Bool_t TClass::IsTObject | ( | ) | const |
Return kTRUE is the class inherits from TObject.
Definition at line 5938 of file TClass.cxx.
Load class description from I/O buffer and return class object.
Definition at line 5715 of file TClass.cxx.
Helper function used by TClass::GetClass().
This function attempts to load the dictionary for 'classname' either from the TClassTable or from the list of generator. If silent is 'true', do not warn about missing dictionary for the class. (typically used for class that are used only for transient members)
The 'requestedname' is expected to be already normalized.
Definition at line 5749 of file TClass.cxx.
Helper function used by TClass::GetClass().
This function attempts to load the dictionary for 'classname' from the list of generator. If silent is 'true', do not warn about missing dictionary for the class. (typically used for class that are used only for transient members)
The 'requestedname' is expected to be already normalized.
Definition at line 5801 of file TClass.cxx.
Helper function used by TClass::GetClass().
This function attempts to load the dictionary for 'classname' from the TClassTable or the autoloader. If silent is 'true', do not warn about missing dictionary for the class. (typically used for class that are used only for transient members)
The 'requestedname' is expected to be already normalized.
Definition at line 5771 of file TClass.cxx.
|
private |
Try to load the ClassInfo if available.
This function may require parsing the header file and/or loading data from the clang pcm. If further calls to this function cannot affect the value of fClassInfo, fCanLoadClassInfo is set to false.
Definition at line 5824 of file TClass.cxx.
|
overridevirtual |
The ls function lists the contents of a class on stdout.
Ls output is typically much less verbose then Dump(). If options contains 'streamerinfo', run ls on the list of streamerInfos and the list of conversion streamerInfos.
Reimplemented from TObject.
Definition at line 4258 of file TClass.cxx.
void TClass::MakeCustomMenuList | ( | ) |
Makes a customizable version of the popup menu list, i.e.
makes a list of TClassMenuItem objects of methods accessible by context menu. The standard (and different) way consists in having just one element in this list, corresponding to the whole standard list. Once the customizable version is done, one can remove or add elements.
Definition at line 4283 of file TClass.cxx.
Return true if the checksum passed as argument is one of the checksum value produced by the older checksum calculation algorithm.
Definition at line 6494 of file TClass.cxx.
void TClass::Move | ( | void * | arenaFrom, |
void * | arenaTo | ||
) | const |
Register the fact that an object was moved from the memory location 'arenaFrom' to the memory location 'arenaTo'.
Definition at line 4327 of file TClass.cxx.
|
private |
Definition at line 337 of file TClass.cxx.
Return a pointer to a newly allocated object of this class.
The class must have a default constructor. For meaning of defConstructor, see TClass::IsCallingNew().
If quiet is true, do no issue a message via Error on case of problems, just return 0.
The constructor actually called here can be customized by using the rootcint pragma:
For example, with this pragma and a class named MyClass, this method will called the first of the following 3 constructors which exists and is public:
When more than one pragma ioctortype is used, the first seen as priority For example with:
We look in the following order:
Definition at line 4978 of file TClass.cxx.
Return a pointer to a newly allocated object of this class.
The class must have a default constructor. For meaning of defConstructor, see TClass::IsCallingNew().
Definition at line 5091 of file TClass.cxx.
Return a pointer to a newly allocated array of objects of this class.
The class must have a default constructor. For meaning of defConstructor, see TClass::IsCallingNew().
Definition at line 5193 of file TClass.cxx.
void * TClass::NewArray | ( | Long_t | nElements, |
void * | arena, | ||
ENewType | defConstructor = kClassNew |
||
) | const |
Return a pointer to a newly allocated object of this class.
The class must have a default constructor. For meaning of defConstructor, see TClass::IsCallingNew().
Definition at line 5295 of file TClass.cxx.
TClass::ObjectPtr TClass::NewObject | ( | ENewType | defConstructor = kClassNew , |
Bool_t | quiet = kFALSE |
||
) | const |
Definition at line 4992 of file TClass.cxx.
TClass::ObjectPtr TClass::NewObject | ( | void * | arena, |
ENewType | defConstructor = kClassNew |
||
) | const |
Return a pointer to a newly allocated object of this class.
The class must have a default constructor. For meaning of defConstructor, see TClass::IsCallingNew().
Definition at line 5106 of file TClass.cxx.
TClass::ObjectPtr TClass::NewObjectArray | ( | Long_t | nElements, |
ENewType | defConstructor = kClassNew |
||
) | const |
Return a pointer to a newly allocated array of objects of this class.
The class must have a default constructor. For meaning of defConstructor, see TClass::IsCallingNew().
Definition at line 5209 of file TClass.cxx.
TClass::ObjectPtr TClass::NewObjectArray | ( | Long_t | nElements, |
void * | arena, | ||
ENewType | defConstructor = kClassNew |
||
) | const |
Return a pointer to a newly allocated object of this class.
The class must have a default constructor. For meaning of defConstructor, see TClass::IsCallingNew().
Definition at line 5310 of file TClass.cxx.
|
virtual |
Do the initialization that can only be done after the CINT dictionary has been fully populated and can not be delayed efficiently.
Definition at line 5959 of file TClass.cxx.
|
overridevirtual |
Returns the properties of the TClass as a bit field stored as a Long_t
value.
The bit values used for the return value are defined in the enum EProperty (in TDictionary.h)
Also sets TObject::fBits
and fStreamerType
to cache information about the class. The bits stored in TObject::fBits
are
The value of fStreamerType
are
Implementation note: the data member fProperty has the value -1 until it is initialized.
Implements TDictionary.
Definition at line 6086 of file TClass.cxx.
Function called by the Streamer functions to deserialize information from buffer b into object at p.
Definition at line 6767 of file TClass.cxx.
Function called by the Streamer functions to deserialize information from buffer b into object at p.
This function assumes that the class version and the byte count information have been read.
Definition at line 6758 of file TClass.cxx.
|
static |
Read the class.rules files from the default location:.
$ROOTSYS/etc/class.rules (or ROOTETCDIR/class.rules)
Definition at line 1820 of file TClass.cxx.
|
static |
Read a class.rules file which contains one rule per line with comment starting with a #.
Definition at line 1844 of file TClass.cxx.
|
private |
Definition at line 290 of file TClass.cxx.
void TClass::RegisterStreamerInfo | ( | TVirtualStreamerInfo * | info | ) |
Register the StreamerInfo in the given slot, change the State of the TClass as appropriate.
Definition at line 7296 of file TClass.cxx.
|
static |
static: Remove a class from the list and map of classes
Definition at line 520 of file TClass.cxx.
|
static |
Definition at line 536 of file TClass.cxx.
void TClass::RemoveStreamerInfo | ( | Int_t | slot | ) |
Remove and delete the StreamerInfo in the given slot.
Update the slot accordingly.
Definition at line 7320 of file TClass.cxx.
void TClass::ReplaceWith | ( | TClass * | newcl | ) | const |
Definition at line 4142 of file TClass.cxx.
void TClass::ResetCaches | ( | ) |
To clean out all caches.
Definition at line 4215 of file TClass.cxx.
void TClass::ResetClassInfo | ( | ) |
Make sure that the current ClassInfo is up to date.
Definition at line 4180 of file TClass.cxx.
void TClass::ResetClassInfo | ( | Long_t | tagnum | ) |
Make sure that the current ClassInfo is up to date.
Definition at line 4172 of file TClass.cxx.
void TClass::ResetMenuList | ( | ) |
Resets the menu list to it's standard value.
Definition at line 4243 of file TClass.cxx.
void TClass::SetCanSplit | ( | Int_t | splitmode | ) |
Set the splitability of this class:
Definition at line 5658 of file TClass.cxx.
|
private |
Private function.
Set the class version for the 'class' represented by this TClass object. See the public interface: ROOT::ResetClassVersion defined in TClassTable.cxx
Note on class version numbers:
Definition at line 5675 of file TClass.cxx.
void TClass::SetCollectionProxy | ( | const ROOT::Detail::TCollectionProxyInfo & | info | ) |
Create the collection proxy object (and the streamer object) from using the information in the TCollectionProxyInfo.
Definition at line 6244 of file TClass.cxx.
void TClass::SetContextMenuTitle | ( | const char * | title | ) |
Change (i.e. set) the title of the TNamed.
Definition at line 6269 of file TClass.cxx.
void TClass::SetConvStreamerFunc | ( | ClassConvStreamerFunc_t | strm | ) |
Set a wrapper/accessor function around this class custom conversion streamer.
Definition at line 6945 of file TClass.cxx.
void TClass::SetCurrentStreamerInfo | ( | TVirtualStreamerInfo * | info | ) |
Set pointer to current TVirtualStreamerInfo.
Definition at line 5696 of file TClass.cxx.
|
inline |
void TClass::SetDelete | ( | ROOT::DelFunc_t | deleteFunc | ) |
Install a new wrapper around 'delete'.
Definition at line 7001 of file TClass.cxx.
void TClass::SetDeleteArray | ( | ROOT::DelArrFunc_t | deleteArrayFunc | ) |
Install a new wrapper around 'delete []'.
Definition at line 7009 of file TClass.cxx.
void TClass::SetDestructor | ( | ROOT::DesFunc_t | destructorFunc | ) |
Install a new wrapper around the destructor.
Definition at line 7017 of file TClass.cxx.
void TClass::SetDirectoryAutoAdd | ( | ROOT::DirAutoAdd_t | autoAddFunc | ) |
Install a new wrapper around the directory auto add function.
The function autoAddFunc has the signature void (*)(void *obj, TDirectory dir) and should register 'obj' to the directory if dir is not null and unregister 'obj' from its current directory if dir is null
Definition at line 7028 of file TClass.cxx.
void TClass::SetGlobalIsA | ( | IsAGlobalFunc_t | func | ) |
This function installs a global IsA function for this class.
The global IsA function will be used if there is no local IsA function (fIsA)
A global IsA function has the signature:
'cl' is a pointer to the TClass object that corresponds to the 'pointer type' used to retrieve the value 'obj'
For example with:
and the global IsA function would be called with TObject::Class() as the first parameter and the exact numerical value in the pointer 'o'.
In other word, inside the global IsA function. it is safe to C-style cast the value of 'obj' into a pointer to the class described by 'cl'.
Definition at line 6300 of file TClass.cxx.
|
inline |
|
inline |
void TClass::SetMemberStreamer | ( | const char * | name, |
MemberStreamerFunc_t | strm | ||
) |
Install a new member streamer (p will be copied).
Definition at line 6744 of file TClass.cxx.
void TClass::SetMerge | ( | ROOT::MergeFunc_t | mergeFunc | ) |
Install a new wrapper around 'Merge'.
Definition at line 6969 of file TClass.cxx.
void TClass::SetNew | ( | ROOT::NewFunc_t | newFunc | ) |
Install a new wrapper around 'new'.
Definition at line 6985 of file TClass.cxx.
void TClass::SetNewArray | ( | ROOT::NewArrFunc_t | newArrayFunc | ) |
Install a new wrapper around 'new []'.
Definition at line 6993 of file TClass.cxx.
void TClass::SetResetAfterMerge | ( | ROOT::ResetAfterMergeFunc_t | resetFunc | ) |
Install a new wrapper around 'ResetAfterMerge'.
Definition at line 6977 of file TClass.cxx.
|
private |
Internal routine to set calculate the class properties that can only be known at run-time, for example whether the Hash member function and the destructor are consistent.
Definition at line 6194 of file TClass.cxx.
void TClass::SetStreamerFunc | ( | ClassStreamerFunc_t | strm | ) |
Set a wrapper/accessor function around this class custom streamer.
Definition at line 6922 of file TClass.cxx.
|
private |
Internal routine to set fStreamerImpl based on the value of fStreamerType.
Definition at line 6215 of file TClass.cxx.
TVirtualStreamerInfo * TClass::SetStreamerInfo | ( | Int_t | version, |
const char * | info = "" |
||
) |
Info is a string describing the names and types of attributes written by the class Streamer function.
If info is an empty string (when called by TObject::StreamerInfo) the default Streamer info string is build. This corresponds to the case of an automatically generated Streamer. In case of user defined Streamer function, it is the user responsibility to implement a StreamerInfo function (override TObject::StreamerInfo). The user must call IsA()->SetStreamerInfo(info) from this function.
Definition at line 6373 of file TClass.cxx.
void TClass::SetUnloaded | ( | ) |
Call this method to indicate that the shared library containing this class's code has been removed (unloaded) from the process's memory.
Definition at line 6309 of file TClass.cxx.
Int_t TClass::Size | ( | ) | const |
Return size of object of this class.
Definition at line 5704 of file TClass.cxx.
void TClass::Store | ( | TBuffer & | b | ) | const |
Store class description on I/O buffer.
Definition at line 5860 of file TClass.cxx.
|
overridevirtual |
|
staticprivate |
Default streaming in cases where either we have no way to know what to do or if Property() has not yet been called.
Definition at line 6873 of file TClass.cxx.
|
staticprivate |
There is special streamer for the class.
Definition at line 6788 of file TClass.cxx.
|
staticprivate |
Case of instrumented class with a library.
Definition at line 6836 of file TClass.cxx.
|
inline |
|
staticprivate |
Case of where we should directly use the StreamerInfo.
Definition at line 6858 of file TClass.cxx.
|
staticprivate |
Case of TObjects.
Definition at line 6800 of file TClass.cxx.
|
staticprivate |
Case of TObjects when we do not have the library defining the class.
Definition at line 6823 of file TClass.cxx.
|
staticprivate |
Case of TObjects when fIsOffsetStreamerSet is known to have been set.
Definition at line 6814 of file TClass.cxx.
|
private |
Definition at line 318 of file TClass.cxx.
Function called by the Streamer functions to serialize object at p to buffer b.
The optional argument info may be specified to give an alternative StreamerInfo instead of using the default StreamerInfo automatically built from the class definition. For more information, see class TVirtualStreamerInfo.
Definition at line 6779 of file TClass.cxx.
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
private |
|
private |
|
mutableprivate |
|
mutableprivate |
Property See TClass::Property() for details.
|
private |
|
mutableprivate |
|
private |
|
mutableprivate |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
staticprivate |
|
private |
|
private |
|
private |
|
private |
|
mutableprivate |
|
mutableprivate |
|
private |
Indicates whether this class can be split or not. Values are -1, 0, 1, 2.
Indicates whether this class represents a pair and was not created from a dictionary nor interpreter info but has compiler compatible offset and size (and all the info is in the StreamerInfo per se)
|
mutableprivate |
|
private |
|
private |
|
private |
|
private |
|
staticprivate |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
|
private |
|
private |
|
mutableprivate |
|
private |
|
private |
|
private |
|
private |
|
private |
|
mutableprivate |
|
private |
|
private |
|
mutableprivate |