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 ThisObject. | |
ROOT::DelArrFunc_t | GetDeleteArray () const |
Return the wrapper around delete [] ThisObject. | |
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 | HasDirectStreamerInfoUse () const |
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 1134 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 1172 of file TClass.cxx.
Internal constructor.
TClass::GetClass("ClassName")
to get access to a TClass object for a certain class! Definition at line 1220 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 1248 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 1293 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 1344 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 1373 of file TClass.cxx.
|
virtual |
TClass dtor. Deletes all list that might have been created.
Definition at line 1729 of file TClass.cxx.
|
static |
static: Add a class to the list and map of classes.
Definition at line 555 of file TClass.cxx.
|
static |
static: Add a TClass* to the map of classes.
Definition at line 576 of file TClass.cxx.
void TClass::AddImplFile | ( | const char * | filename, |
int | line | ||
) |
Definition at line 2021 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 1959 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 6784 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 6766 of file TClass.cxx.
void TClass::AdoptSchemaRules | ( | ROOT::Detail::TSchemaRuleSet * | rules | ) |
Adopt a new set of Data Model Evolution rules.
Definition at line 1989 of file TClass.cxx.
void TClass::AdoptStreamer | ( | TClassStreamer * | str | ) |
Adopt a TClassStreamer object.
Ownership is transfered to this TClass object.
Definition at line 6975 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 2035 of file TClass.cxx.
|
overridevirtual |
This method is called by a browser to get the class information.
Reimplemented from TObject.
Definition at line 2079 of file TClass.cxx.
Browse objects of of the class described by this TClass object.
Definition at line 2047 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 2181 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 2100 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 2252 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 2274 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 2388 of file TClass.cxx.
|
private |
Pointer to the function implementing streaming for this class.
Definition at line 2316 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 2465 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 2475 of file TClass.cxx.
|
staticprivate |
Case of instrumented class with a library.
Definition at line 6926 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 2539 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 3810 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 5720 of file TClass.cxx.
Explicitly call operator delete[] for an array.
Definition at line 5610 of file TClass.cxx.
void TClass::Destructor | ( | TClass::ObjectPtr | obj, |
Bool_t | dtorOnly = kFALSE |
||
) |
Explicitly call destructor for object.
Definition at line 5594 of file TClass.cxx.
Explicitly call destructor for object.
Definition at line 5481 of file TClass.cxx.
|
private |
Determine and set pointer to current TVirtualStreamerInfo.
Definition at line 5765 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 2556 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 2604 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 5006 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 4984 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 2637 of file TClass.cxx.
Find a method with decl id in this class or its bases.
Definition at line 4509 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 7274 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 7285 of file TClass.cxx.
|
protected |
Find the TVirtualStreamerInfo in the StreamerInfos corresponding to checksum.
Definition at line 7147 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 7117 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 4841 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 2676 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 2724 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 2743 of file TClass.cxx.
Int_t TClass::GetBaseClassOffset | ( | const TClass * | toBase, |
void * | address = nullptr , |
||
bool | isDerivedObject = true |
||
) |
Definition at line 2860 of file TClass.cxx.
Return data member offset to the base class "cl".
Definition at line 2774 of file TClass.cxx.
TClass * TClass::GetBaseDataMember | ( | const char * | datamember | ) |
Return pointer to (base) class that contains datamember.
Definition at line 2896 of file TClass.cxx.
Return GetCheckSum(kCurrentCheckSum,isvalid);.
Definition at line 6595 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 6625 of file TClass.cxx.
UInt_t TClass::GetCheckSum | ( | ECheckSum | code = kCurrentCheckSum | ) | const |
Call GetCheckSum with validity check.
Definition at line 6586 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 3420 of file TClass.cxx.
|
static |
Definition at line 3042 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 3037 of file TClass.cxx.
|
static |
Return pointer to class with name.
Definition at line 3323 of file TClass.cxx.
Definition at line 3473 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 4571 of file TClass.cxx.
Look for a method in this class that has the interface function address faddr.
Definition at line 4552 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 4596 of file TClass.cxx.
TVirtualCollectionProxy * TClass::GetCollectionProxy | ( | ) | const |
Return the proxy describing the collection (if any).
Definition at line 2966 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 2955 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 7167 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 7178 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 3016 of file TClass.cxx.
|
inline |
TDataMember * TClass::GetDataMember | ( | const char * | datamember | ) | const |
Return pointer to datamember object with name "datamember".
Definition at line 3508 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 3546 of file TClass.cxx.
const char * TClass::GetDeclFileName | ( | ) | const |
Return name of the file containing the declaration of this class.
Definition at line 3532 of file TClass.cxx.
|
staticprivate |
Definition at line 480 of file TClass.cxx.
ROOT::DelFunc_t TClass::GetDelete | ( | ) | const |
Return the wrapper around delete ThisObject.
Definition at line 7544 of file TClass.cxx.
ROOT::DelArrFunc_t TClass::GetDeleteArray | ( | ) | const |
Return the wrapper around delete [] ThisObject.
Definition at line 7552 of file TClass.cxx.
ROOT::DesFunc_t TClass::GetDestructor | ( | ) | const |
Return the wrapper around the destructor.
Definition at line 7560 of file TClass.cxx.
|
static |
Return a pointer to the dictionary loading function generated by rootcint.
Definition at line 3491 of file TClass.cxx.
|
static |
Return a pointer to the dictionary loading function generated by rootcint.
Definition at line 3500 of file TClass.cxx.
ROOT::DirAutoAdd_t TClass::GetDirectoryAutoAdd | ( | ) | const |
Return the wrapper around the directory auto add function.
Definition at line 7568 of file TClass.cxx.
TFunctionTemplate * TClass::GetFunctionTemplate | ( | const char * | name | ) |
Definition at line 3676 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 3024 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 3931 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 3914 of file TClass.cxx.
TList * TClass::GetListOfBases | ( | ) |
Return list containing the TBaseClass(es) of a class.
Definition at line 3705 of file TClass.cxx.
Return list containing the TDataMembers of a class.
Definition at line 3839 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 3755 of file TClass.cxx.
Return TListOfFunctionTemplates for a class.
Definition at line 3867 of file TClass.cxx.
TCollection * TClass::GetListOfMethodOverloads | ( | const char * | name | ) | const |
Return the collection of functions named "name".
Definition at line 3896 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 3881 of file TClass.cxx.
Return list containing the TDataMembers of using declarations of a class.
Definition at line 3855 of file TClass.cxx.
void TClass::GetMenuItems | ( | TList * | listitems | ) |
Returns list of methods accessible by context menu.
Definition at line 3943 of file TClass.cxx.
TList * TClass::GetMenuList | ( | ) | const |
Return the list of menu items associated with the class.
Definition at line 4410 of file TClass.cxx.
ROOT::MergeFunc_t TClass::GetMerge | ( | ) | const |
Return the wrapper around Merge.
Definition at line 7512 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 4480 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 4453 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 4443 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 4424 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 4525 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 4156 of file TClass.cxx.
|
protected |
Verify the base classes always.
Definition at line 3996 of file TClass.cxx.
|
protected |
Verify the Data Members.
Definition at line 4013 of file TClass.cxx.
|
protected |
Definition at line 4042 of file TClass.cxx.
|
protected |
From the second level of recursion onwards it is different state check.
Definition at line 4059 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 4623 of file TClass.cxx.
ROOT::NewFunc_t TClass::GetNew | ( | ) | const |
Return the wrapper around new ThisClass().
Definition at line 7528 of file TClass.cxx.
ROOT::NewArrFunc_t TClass::GetNewArray | ( | ) | const |
Return the wrapper around new ThisClass[].
Definition at line 7536 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 4642 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 3572 of file TClass.cxx.
|
inline |
ROOT::ResetAfterMergeFunc_t TClass::GetResetAfterMerge | ( | ) | const |
Return the wrapper around Merge.
Definition at line 7520 of file TClass.cxx.
const ROOT::Detail::TSchemaRuleSet * TClass::GetSchemaRules | ( | ) | const |
Return the set of the schema rules if any.
Definition at line 2001 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 2010 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 3692 of file TClass.cxx.
|
inline |
TClassStreamer * TClass::GetStreamer | ( | ) | const |
Return the Streamer Class allowing streaming (if any).
Definition at line 2983 of file TClass.cxx.
ClassStreamerFunc_t TClass::GetStreamerFunc | ( | ) | const |
Get a wrapper/accessor function around this class custom streamer (member function).
Definition at line 3008 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 4668 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 4778 of file TClass.cxx.
|
private |
Definition at line 4703 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 7474 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 3975 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 3986 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 7502 of file TClass.cxx.
|
staticprivate |
Definition at line 3467 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 4910 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 4943 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 4954 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 1438 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 2311 of file TClass.cxx.
|
inlineoverridevirtual |
|
static |
Static method returning the defConstructor flag passed to TClass::New().
New type is either:
Definition at line 5983 of file TClass.cxx.
|
inlineoverridevirtual |
Bool_t TClass::IsFolder | ( | void * | obj | ) | const |
Return kTRUE if the class has elements.
Definition at line 4204 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 6028 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 5993 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 6010 of file TClass.cxx.
Bool_t TClass::IsTObject | ( | ) | const |
Return kTRUE is the class inherits from TObject.
Definition at line 6019 of file TClass.cxx.
Load class description from I/O buffer and return class object.
Definition at line 5796 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 5830 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 5882 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 5852 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 5905 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 4327 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 4352 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 6575 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 4396 of file TClass.cxx.
|
private |
Definition at line 337 of file TClass.cxx.
Return a pointer to a newly allocated object of this class.
If quiet is true, do not issue a message via Error in case of problems, just return nullptr
.
This method is also used by the I/O subsystem to allocate the right amount of memory for the objects. If a default constructor is not defined for a certain class, some options are available. The simplest is to define the default I/O constructor, for example
Moreover, the constructor called by TClass::New can be customized by using a rootcling pragma as follows:
TClass::New
will then look for a constructor (for a class MyClass
in the following example) in the following order, constructing the object using the first one in the list that exists and is declared public:
When more than one pragma ioctortype
is specified, the priority order is defined as the definition order; the earliest definitions have higher priority. For example with:
ROOT looks for constructors with the following order:
Definition at line 5059 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 5172 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 5274 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 5376 of file TClass.cxx.
TClass::ObjectPtr TClass::NewObject | ( | ENewType | defConstructor = kClassNew , |
Bool_t | quiet = kFALSE |
||
) | const |
Definition at line 5073 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 5187 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 5290 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 5391 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 6040 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 6167 of file TClass.cxx.
Function called by the Streamer functions to deserialize information from buffer b into object at p.
Definition at line 6848 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 6839 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 1889 of file TClass.cxx.
|
static |
Read a class.rules file which contains one rule per line with comment starting with a #.
Definition at line 1913 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 7377 of file TClass.cxx.
|
static |
static: Remove a class from the list and map of classes
Definition at line 585 of file TClass.cxx.
|
static |
Definition at line 603 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 7401 of file TClass.cxx.
void TClass::ReplaceWith | ( | TClass * | newcl | ) | const |
Definition at line 4211 of file TClass.cxx.
void TClass::ResetCaches | ( | ) |
To clean out all caches.
Definition at line 4284 of file TClass.cxx.
void TClass::ResetClassInfo | ( | ) |
Make sure that the current ClassInfo is up to date.
Definition at line 4249 of file TClass.cxx.
void TClass::ResetClassInfo | ( | Long_t | tagnum | ) |
Make sure that the current ClassInfo is up to date.
Definition at line 4241 of file TClass.cxx.
void TClass::ResetMenuList | ( | ) |
Resets the menu list to it's standard value.
Definition at line 4312 of file TClass.cxx.
void TClass::SetCanSplit | ( | Int_t | splitmode | ) |
Set the splitability of this class:
Definition at line 5739 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 5756 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 6325 of file TClass.cxx.
void TClass::SetContextMenuTitle | ( | const char * | title | ) |
Change (i.e. set) the title of the TNamed.
Definition at line 6350 of file TClass.cxx.
void TClass::SetConvStreamerFunc | ( | ClassConvStreamerFunc_t | strm | ) |
Set a wrapper/accessor function around this class custom conversion streamer.
Definition at line 7026 of file TClass.cxx.
void TClass::SetCurrentStreamerInfo | ( | TVirtualStreamerInfo * | info | ) |
Set pointer to current TVirtualStreamerInfo.
Definition at line 5777 of file TClass.cxx.
|
inline |
void TClass::SetDelete | ( | ROOT::DelFunc_t | deleteFunc | ) |
Install a new wrapper around 'delete'.
Definition at line 7082 of file TClass.cxx.
void TClass::SetDeleteArray | ( | ROOT::DelArrFunc_t | deleteArrayFunc | ) |
Install a new wrapper around 'delete []'.
Definition at line 7090 of file TClass.cxx.
void TClass::SetDestructor | ( | ROOT::DesFunc_t | destructorFunc | ) |
Install a new wrapper around the destructor.
Definition at line 7098 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 7109 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 6381 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 6825 of file TClass.cxx.
void TClass::SetMerge | ( | ROOT::MergeFunc_t | mergeFunc | ) |
Install a new wrapper around 'Merge'.
Definition at line 7050 of file TClass.cxx.
void TClass::SetNew | ( | ROOT::NewFunc_t | newFunc | ) |
Install a new wrapper around 'new'.
Definition at line 7066 of file TClass.cxx.
void TClass::SetNewArray | ( | ROOT::NewArrFunc_t | newArrayFunc | ) |
Install a new wrapper around 'new []'.
Definition at line 7074 of file TClass.cxx.
void TClass::SetResetAfterMerge | ( | ROOT::ResetAfterMergeFunc_t | resetFunc | ) |
Install a new wrapper around 'ResetAfterMerge'.
Definition at line 7058 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 6275 of file TClass.cxx.
void TClass::SetStreamerFunc | ( | ClassStreamerFunc_t | strm | ) |
Set a wrapper/accessor function around this class custom streamer.
Definition at line 7003 of file TClass.cxx.
|
private |
Internal routine to set fStreamerImpl based on the value of fStreamerType.
Definition at line 6296 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 6454 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 6390 of file TClass.cxx.
Int_t TClass::Size | ( | ) | const |
Return size of object of this class.
Definition at line 5785 of file TClass.cxx.
void TClass::Store | ( | TBuffer & | b | ) | const |
Store class description on I/O buffer.
Definition at line 5941 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 6954 of file TClass.cxx.
|
staticprivate |
There is special streamer for the class.
Definition at line 6869 of file TClass.cxx.
|
staticprivate |
Case of instrumented class with a library.
Definition at line 6917 of file TClass.cxx.
|
inline |
|
staticprivate |
Case of where we should directly use the StreamerInfo.
Definition at line 6939 of file TClass.cxx.
|
staticprivate |
Case of TObjects.
Definition at line 6881 of file TClass.cxx.
|
staticprivate |
Case of TObjects when we do not have the library defining the class.
Definition at line 6904 of file TClass.cxx.
|
staticprivate |
Case of TObjects when fIsOffsetStreamerSet is known to have been set.
Definition at line 6895 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 6860 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 |