Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TClass Class Reference

TClass instances represent classes, structs and namespaces in the ROOT type system.

TClass instances are created starting from different sources of information:

  1. TStreamerInfo instances saved in a ROOT file which is opened. This is called in jargon an emulated TClass.
  2. From TProtoClass instances saved in a ROOT pcm file created by the dictionary generator and the dictionary itself.
  3. From a lookup in the AST built by cling.

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:

auto myClassTClass_0 = TClass::GetClass("myClass");
auto myClassTClass_1 = TClass::GetClass<myClass>();
auto myClassTClass_2 = TClass::GetClass(myClassTypeInfo);
static TClass * GetClass(const char *name, Bool_t load=kTRUE, Bool_t silent=kFALSE)
Static method returning pointer to TClass of the specified class name.
Definition TClass.cxx:2968

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.

Definition at line 81 of file TClass.h.

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.
 
TObjectClone (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.
 
TVirtualStreamerInfoFindConversionStreamerInfo (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.
 
TVirtualStreamerInfoFindConversionStreamerInfo (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.
 
TVirtualStreamerInfoFindStreamerInfo (UInt_t checksum, Bool_t isTransient=kFALSE) const
 Find the TVirtualStreamerInfo in the StreamerInfos corresponding to checksum.
 
TVirtualStreamerInfoFindStreamerInfoAbstractEmulated (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.
 
TClassGetActualClass (const void *object) const
 Return a pointer to the real class of the object.
 
TClassGetBaseClass (const char *classname)
 Return pointer to the base class "classname".
 
TClassGetBaseClass (const TClass *base)
 Return pointer to the base class "cl".
 
Int_t GetBaseClassOffset (const TClass *toBase, void *address=nullptr, bool isDerivedObject=true)
 
TClassGetBaseDataMember (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
 
TMethodGetClassMethod (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.
 
TMethodGetClassMethodWithPrototype (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
 
TVirtualCollectionProxyGetCollectionProxy () 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
 
TVirtualStreamerInfoGetConversionStreamerInfo (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.
 
TVirtualStreamerInfoGetConversionStreamerInfo (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).
 
TVirtualStreamerInfoGetCurrentStreamerInfo ()
 
TDataMemberGetDataMember (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.
 
TFunctionTemplateGetFunctionTemplate (const char *name)
 
UInt_t GetHeapInstanceCount () const
 
Short_t GetImplFileLine () const
 
const char * GetImplFileName () const
 
UInt_t GetInstanceCount () const
 
TVirtualIsAProxyGetIsAProxy () const
 Return the proxy implementing the IsA functionality.
 
TVirtualStreamerInfoGetLastReadInfo () const
 
TListGetListOfAllPublicDataMembers (Bool_t load=kTRUE)
 Returns a list of all public data members of this class and its base classes.
 
const TListGetListOfAllPublicMethods (Bool_t load=kTRUE)
 Returns a list of all public methods of this class and its base classes.
 
TListGetListOfBases ()
 Return list containing the TBaseClass(es) of a class.
 
TListGetListOfDataMembers (Bool_t load=kTRUE)
 Return list containing the TDataMembers of a class.
 
TListGetListOfEnums (Bool_t load=kTRUE)
 Return a list containing the TEnums of a class.
 
TListGetListOfFunctionTemplates (Bool_t load=kTRUE)
 Return TListOfFunctionTemplates for a class.
 
TCollectionGetListOfMethodOverloads (const char *name) const
 Return the collection of functions named "name".
 
TListGetListOfMethods (Bool_t load=kTRUE)
 Return list containing the TMethods of a class.
 
TListGetListOfRealData () const
 
TListGetListOfUsingDataMembers (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.
 
TListGetMenuList () const
 Return the list of menu items associated with the class.
 
ROOT::MergeFunc_t GetMerge () const
 Return the wrapper around Merge.
 
TMethodGetMethod (const char *method, const char *params, Bool_t objectIsConst=kFALSE)
 Find the best method (if there is one) matching the parameters.
 
TMethodGetMethodAllAny (const char *method)
 Return pointer to method without looking at parameters.
 
TMethodGetMethodAny (const char *method)
 Return pointer to method without looking at parameters.
 
TMethodGetMethodWithPrototype (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
 
TRealDataGetRealData (const char *name) const
 Return pointer to TRealData element with name "name".
 
TVirtualRefProxyGetReferenceProxy () const
 
ROOT::ResetAfterMergeFunc_t GetResetAfterMerge () const
 Return the wrapper around Merge.
 
const ROOT::Detail::TSchemaRuleSetGetSchemaRules () const
 Return the set of the schema rules if any.
 
ROOT::Detail::TSchemaRuleSetGetSchemaRules (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
 
TClassStreamerGetStreamer () 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).
 
TVirtualStreamerInfoGetStreamerInfo (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
 
TVirtualStreamerInfoGetStreamerInfoAbstractEmulated (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 TObjArrayGetStreamerInfos () 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.
 
TClassIsA () 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, int 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.
 
TVirtualStreamerInfoSetStreamerInfo (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 ()
 
TDictAttributeMapGetAttributeMap () const
 
TClassIsA () const override
 
TDictionaryoperator= (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 ("").
 
TObjectClone (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.
 
TClassIsA () const override
 
Bool_t IsSortable () const override
 
void ls (Option_t *option="") const override
 List TNamed name and title.
 
TNamedoperator= (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 TObjectDrawClone (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 TObjectFindObject (const char *name) const
 Must be redefined in derived classes.
 
virtual TObjectFindObject (const TObject *obj) const
 Must be redefined in derived classes.
 
virtual Option_tGetDrawOption () 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_tGetOption () 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)
 
TObjectoperator= (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 TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
template<typename T >
static TClassGetClass (Bool_t load=kTRUE, Bool_t silent=kFALSE)
 
static TClassGetClass (ClassInfo_t *info, Bool_t load=kTRUE, Bool_t silent=kFALSE)
 Static method returning pointer to TClass of the specified ClassInfo.
 
static TClassGetClass (const char *name, Bool_t load, Bool_t silent, size_t hint_pair_offset, size_t hint_pair_size)
 
static TClassGetClass (const char *name, Bool_t load=kTRUE, Bool_t silent=kFALSE)
 Static method returning pointer to TClass of the specified class name.
 
static TClassGetClass (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 TClassLoad (TBuffer &b)
 Load class description from I/O buffer and return class object.
 
static TClassLoadClass (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 TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
static TDictionaryGetDictionary (const char *name)
 Retrieve the type (class, fundamental type, typedef etc) named "name".
 
static TDictionaryGetDictionary (const std::type_info &typeinfo)
 
static bool WantsRegularMembers (EMemberSelection sel)
 
static bool WantsUsingDecls (EMemberSelection sel)
 
- Static Public Member Functions inherited from TNamed
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
- Static Public Member Functions inherited from TObject
static TClassClass ()
 
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

TVirtualStreamerInfoFindStreamerInfo (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_tRepoCont_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.
 
TListCreateListOfDataMembers (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.
 
TVirtualStreamerInfoDetermineCurrentStreamerInfo ()
 Determine and set pointer to current TVirtualStreamerInfo.
 
TMethodFindClassOrBaseMethodWithId (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".
 
TMethodGetClassMethod (Longptr_t faddr)
 Look for a method in this class that has the interface function address faddr.
 
TListOfFunctionsGetMethodList ()
 Return (create an empty one if needed) the list of functions.
 
TVirtualStreamerInfoGetStreamerInfoImpl (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
 
TClassoperator= (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_tGetDeclIdMap ()
 
static IdMap_tGetIdMap ()
 
static Bool_t HasNoInfoOrEmuOrFwdDeclaredDecl (const char *)
 
static TClassLoadClassCustom (const char *requestedname, Bool_t silent)
 Helper function used by TClass::GetClass().
 
static TClassLoadClassDefault (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.
 

Private Attributes

TViewPubDataMembersfAllPubData
 
TViewPubFunctionsfAllPubMethod
 
std::atomic< TList * > fBase
 
std::atomic< Bool_tfCanLoadClassInfo
 Whether info was loaded from a root pcm.
 
std::atomic< Char_tfCanSplit
 
std::atomic< UInt_tfCheckSum
 
ClassInfo_t * fClassInfo
 
TListfClassMenuList
 
Long_t fClassProperty
 Property See TClass::Property() for details.
 
Version_t fClassVersion
 
TVirtualCollectionProxyfCollectionProxy
 
TString fContextMenuTitle
 
ConvSIMap_t fConversionStreamerInfo
 
ClassConvStreamerFunc_t fConvStreamerFunc
 
std::atomic< TVirtualStreamerInfo * > fCurrentInfo
 Current 'state' of the class (Emulated,Interpreted,Loaded)
 
std::atomic< TListOfDataMembers * > fData
 
Short_t fDeclFileLine
 
const char * fDeclFileName
 
ROOT::DelFunc_t fDelete
 
ROOT::DelArrFunc_t fDeleteArray
 
ROOT::DesFunc_t fDestructor
 
ROOT::DirAutoAdd_t fDirAutoAdd
 
std::atomic< TListOfEnums * > fEnums
 
TListOfFunctionTemplatesfFuncTemplate
 
IsAGlobalFunc_t fGlobalIsA
 pointer to the class's IsA proxy.
 
Bool_t fHasCustomStreamerMember: 1
 The class has a Streamer method and it is implemented by the user or an older (not StreamerInfo based) automatic streamer.
 
std::atomic< Bool_tfHasRootPcmInfo
 C++ Property of the class (is abstract, has virtual table, etc.)
 
Short_t fImplFileLine
 
const char * fImplFileName
 
UInt_t fInstanceCount
 
TVirtualIsAProxyfIsA
 
std::atomic< TMethodCall * > fIsAMethod
 
std::atomic< Bool_tfIsOffsetStreamerSet
 Indicates whether the ClassInfo is supposed to be available.
 
Bool_t fIsSyntheticPair: 1
 Indicates whether this class can be split or not. Values are -1, 0, 1, 2.
 
std::atomic< TVirtualStreamerInfo * > fLastReadInfo
 cached current streamer info.
 
ROOT::MergeFunc_t fMerge
 saved info to call a IsA member function
 
std::atomic< TListOfFunctions * > fMethod
 
ROOT::NewFunc_t fNew
 
ROOT::NewArrFunc_t fNewArray
 
RepoCont_t fObjectVersionRepository
 
Longptr_t fOffsetStreamer
 Properties that can only be evaluated at run-time.
 
UInt_t fOnHeap
 
TVirtualMutexfOVRMutex = nullptr
 
std::atomic< TClass ** > fPersistentRef
 
std::atomic< Long_tfProperty
 
TListfRealData
 
TVirtualRefProxyfRefProxy
 cached streamer info used in the last read.
 
ROOT::ResetAfterMergeFunc_t fResetAfterMerge
 
std::atomic< UChar_tfRuntimeProperties
 
ROOT::Detail::TSchemaRuleSetfSchemaRules
 Pointer to reference proxy if this class represents a reference.
 
TString fSharedLibs
 
ShowMembersFunc_t fShowMembers
 
Int_t fSizeof
 
EState fState
 cached of the streaming method to use
 
TClassStreamerfStreamer
 
ClassStreamerFunc_t fStreamerFunc
 
std::atomic< StreamerImpl_tfStreamerImpl
 
TObjArrayfStreamerInfo
 
Int_t fStreamerType
 saved info to call Streamer
 
const std::type_info * fTypeInfo
 
std::atomic< TListOfDataMembers * > fUsingData
 
std::atomic< Bool_tfVersionUsed
 saved remember if fOffsetStreamer has been set.
 

Static Private Attributes

static std::atomic< Int_tfgClassCount
 
static THashTablefgClassTypedefHash = 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>

Inheritance diagram for TClass:
[legend]

Member Typedef Documentation

◆ ConvSIMap_t

typedef std::atomic<std::map<std::string, TObjArray*>*> TClass::ConvSIMap_t
private

Persistent address of pointer to this TClass object and its successors.

Definition at line 196 of file TClass.h.

◆ RepoCont_t

typedef std::multimap<void*, Version_t> TClass::RepoCont_t
private

Definition at line 343 of file TClass.h.

◆ StreamerImpl_t

typedef void(* TClass::StreamerImpl_t) (const TClass *pThis, void *obj, TBuffer &b, const TClass *onfile_class)
private

Schema evolution rules.

Definition at line 283 of file TClass.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
private
Enumerator
kLoading 
kUnloading 

Definition at line 332 of file TClass.h.

◆ ECheckSum

Enumerator
kCurrentCheckSum 
kNoEnum 
kReflexNoComment 
kNoRange 
kWithTypeDef 
kReflex 
kNoRangeCheck 
kNoBaseCheckSum 
kLatestCheckSum 

Definition at line 108 of file TClass.h.

◆ ENewType

Enumerator
kRealNew 
kClassNew 
kDummyNew 

Definition at line 107 of file TClass.h.

◆ ERuntimeProperties

enum class TClass::ERuntimeProperties : UChar_t
strongprivate

Indicates whether GetClassVersion has been called.

Enumerator
kNotInitialized 
kSet 
kConsistentHash 

Definition at line 264 of file TClass.h.

◆ EState

Enumerator
kNoInfo 
kForwardDeclared 
kEmulated 
kInterpreted 
kHasTClassInit 
kLoaded 
kNamespaceForMeta 

Definition at line 121 of file TClass.h.

◆ EStatusBits

Enumerator
kReservedLoading 
kHasLocalHashMember 
kIgnoreTObjectStreamer 
kUnloaded 
kIsTObject 
kIsForeign 
kStartWithTObject 
kWarned 
kHasNameMapNode 

Definition at line 92 of file TClass.h.

◆ EStreamerType

enum TClass::EStreamerType
private
Enumerator
kDefault 
kEmulatedStreamer 
kTObject 
kInstrumented 
kForeign 
kExternal 

Definition at line 334 of file TClass.h.

Constructor & Destructor Documentation

◆ TClass() [1/8]

TClass::TClass ( const TClass tc)
privatedelete

◆ TClass() [2/8]

TClass::TClass ( )

Internal, default constructor.

Note
Use TClass::GetClass("ClassName") to get access to a TClass object for a certain class!

Definition at line 1065 of file TClass.cxx.

◆ TClass() [3/8]

TClass::TClass ( const char *  name,
Bool_t  silent = kFALSE 
)

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.

Note
Use TClass::GetClass("ClassName") to get access to a TClass object for a certain class!

Definition at line 1103 of file TClass.cxx.

◆ TClass() [4/8]

TClass::TClass ( const char *  name,
Version_t  cversion,
Bool_t  silent = kFALSE 
)

Internal constructor.

Note
Use TClass::GetClass("ClassName") to get access to a TClass object for a certain class!

Definition at line 1151 of file TClass.cxx.

◆ TClass() [5/8]

TClass::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.

Note
Use TClass::GetClass("ClassName") to get access to a TClass object for a certain class!

Definition at line 1179 of file TClass.cxx.

◆ TClass() [6/8]

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).

Note
Use TClass::GetClass("class") to get access to a TClass object for a certain class!

Definition at line 1224 of file TClass.cxx.

◆ TClass() [7/8]

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.

Note
Use TClass::GetClass("class") to get access to a TClass object for a certain class!

Definition at line 1275 of file TClass.cxx.

◆ TClass() [8/8]

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.

Note
Use TClass::GetClass("class") to get access to a TClass object for a certain class!

Definition at line 1304 of file TClass.cxx.

◆ ~TClass()

TClass::~TClass ( )
virtual

TClass dtor. Deletes all list that might have been created.

Definition at line 1660 of file TClass.cxx.

Member Function Documentation

◆ AddClass()

void TClass::AddClass ( TClass cl)
static

static: Add a class to the list and map of classes.

Definition at line 494 of file TClass.cxx.

◆ AddClassToDeclIdMap()

void TClass::AddClassToDeclIdMap ( TDictionary::DeclId_t  id,
TClass cl 
)
static

static: Add a TClass* to the map of classes.

Definition at line 511 of file TClass.cxx.

◆ AddImplFile()

void TClass::AddImplFile ( const char *  filename,
int  line 
)

Definition at line 1952 of file TClass.cxx.

◆ AddInstance()

void TClass::AddInstance ( Bool_t  heap = kFALSE)
inline

Definition at line 381 of file TClass.h.

◆ AddRule()

Bool_t TClass::AddRule ( const char *  rule)
static

Add a schema evolution customization rule.

The syntax of the rule can be either the short form:

[type=Read] classname membername [attributes=... ] [version=[...] ] [checksum=[...] ] [oldtype=...] [code={...}]
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type
virtual Int_t Read(const char *name)
Read contents of object with specified name from the current directory.
Definition TObject.cxx:648

or the long form

[type=Read] sourceClass=classname [targetclass=newClassname] [ source="type membername; [type2 membername2]" ]
[target="membername3;membername4"] [attributes=... ] [version=...] [checksum=...] [code={...}|functionname]
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t target

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:

  • type : the type of the rule, valid values: Read, ReadRaw, Write, WriteRaw, the default is 'Read'.
  • sourceClass : the name of the class as it is on the rule file
  • targetClass : the name of the class as it is in the current code ; defaults to the value of sourceClass
  • source : the types and names of the data members from the class on file that are needed, the list is separated by semi-colons ';'
  • oldtype: in the short form only, indicates the type on disk of the data member.
  • target : the names of the data members updated by this rule, the list is separated by semi-colons ';'
  • attributes : list of possible qualifiers among: Owner, NotOwner
  • version : list of the version of the class layout that this rule applies to. The syntax can be [1,4,5] or [2-] or [1-3] or [-3]
  • checksum : comma delimited list of the checksums of the class layout that this rule applies to.
  • code={...} : code to be executed for the rule or name of the function implementing it.

Definition at line 1890 of file TClass.cxx.

◆ AdoptMemberStreamer()

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.

◆ AdoptReferenceProxy()

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.

◆ AdoptSchemaRules()

void TClass::AdoptSchemaRules ( ROOT::Detail::TSchemaRuleSet rules)

Adopt a new set of Data Model Evolution rules.

Definition at line 1920 of file TClass.cxx.

◆ AdoptStreamer()

void TClass::AdoptStreamer ( TClassStreamer str)

Adopt a TClassStreamer object.

Ownership is transfered to this TClass object.

Definition at line 6894 of file TClass.cxx.

◆ AutoBrowse()

Int_t TClass::AutoBrowse ( TObject obj,
TBrowser b 
)
static

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.

◆ Browse() [1/2]

void TClass::Browse ( TBrowser b)
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() [2/2]

Int_t TClass::Browse ( void *  obj,
TBrowser b 
) const

Browse objects of of the class described by this TClass object.

Definition at line 1978 of file TClass.cxx.

◆ BuildEmulatedRealData()

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.

◆ BuildRealData()

void TClass::BuildRealData ( void *  pointer = nullptr,
Bool_t  isTransient = kFALSE 
)

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.

◆ CalculateStreamerOffset()

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.

◆ CallShowMembers()

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.

◆ CanIgnoreTObjectStreamer()

Bool_t TClass::CanIgnoreTObjectStreamer ( )
inline

Definition at line 393 of file TClass.h.

◆ CanSplit()

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.

◆ CanSplitBaseAllow()

Bool_t TClass::CanSplitBaseAllow ( )
private

Pointer to the function implementing streaming for this class.

Definition at line 2247 of file TClass.cxx.

◆ Class()

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

◆ Class_Name()

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

◆ Class_Version()

static constexpr Version_t TClass::Class_Version ( )
inlinestaticconstexpr
Returns
Version of this class

Definition at line 618 of file TClass.h.

◆ ClassProperty()

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.

◆ Clone()

TObject * TClass::Clone ( const char *  new_name = "") const
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.

◆ ConvStreamerInstrumented()

void TClass::ConvStreamerInstrumented ( const TClass pThis,
void *  object,
TBuffer b,
const TClass onfile_class 
)
staticprivate

Case of instrumented class with a library.

Definition at line 6845 of file TClass.cxx.

◆ CopyCollectionProxy()

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.

◆ CreateListOfDataMembers()

TList * TClass::CreateListOfDataMembers ( std::atomic< TListOfDataMembers * > &  data,
TDictionary::EMemberSelection  selection,
bool  load 
)
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.

◆ DeclFileName()

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

Definition at line 618 of file TClass.h.

◆ DeleteArray() [1/2]

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.

◆ DeleteArray() [2/2]

void TClass::DeleteArray ( void *  ary,
Bool_t  dtorOnly = kFALSE 
)

Explicitly call operator delete[] for an array.

Definition at line 5529 of file TClass.cxx.

◆ Destructor() [1/2]

void TClass::Destructor ( TClass::ObjectPtr  obj,
Bool_t  dtorOnly = kFALSE 
)

Explicitly call destructor for object.

Definition at line 5513 of file TClass.cxx.

◆ Destructor() [2/2]

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

Explicitly call destructor for object.

Definition at line 5400 of file TClass.cxx.

◆ DetermineCurrentStreamerInfo()

TVirtualStreamerInfo * TClass::DetermineCurrentStreamerInfo ( )
private

Determine and set pointer to current TVirtualStreamerInfo.

Definition at line 5684 of file TClass.cxx.

◆ Draw()

void TClass::Draw ( Option_t option = "")
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.

◆ Dump() [1/2]

void TClass::Dump ( ) const
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:

fAngle 0 Arrow opening angle (degrees)
fArrowSize 0.2 Arrow Size
fOption.*fData
fX1 0.1 X of 1st point
fY1 0.15 Y of 1st point
fX2 0.67 X of 2nd point
fY2 0.83 Y of 2nd point
fUniqueID 0 object unique identifier
fBits 50331648 bit field status word
fLineColor 1 line color
fLineStyle 1 line style
fLineWidth 1 line width
fFillColor 19 fill area color
fFillStyle 1001 fill area style
#define X(type, name)
Option_t Option_t TPoint TPoint angle
Option_t Option_t width
Option_t Option_t style
Int_t Size() const
Return size of object of this class.
Definition TClass.cxx:5704
std::atomic< TListOfDataMembers * > fData
Definition TClass.h:202
UInt_t fUniqueID
object unique identifier
Definition TObject.h:44
UInt_t fBits
bit field status word
Definition TObject.h:45
TLine * line

Reimplemented from TObject.

Definition at line 398 of file TClass.h.

◆ Dump() [2/2]

void TClass::Dump ( const void *  obj,
Bool_t  noAddr = kFALSE 
) const

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:

fAngle 0 Arrow opening angle (degrees)
fArrowSize 0.2 Arrow Size
fOption.*fData
fX1 0.1 X of 1st point
fY1 0.15 Y of 1st point
fX2 0.67 X of 2nd point
fY2 0.83 Y of 2nd point
fUniqueID 0 object unique identifier
fBits 50331648 bit field status word
fLineColor 1 line color
fLineStyle 1 line style
fLineWidth 1 line width
fFillColor 19 fill area color
fFillStyle 1001 fill area style

If noAddr is true, printout of all pointer values is skipped.

Definition at line 2535 of file TClass.cxx.

◆ DynamicCast() [1/2]

const void * TClass::DynamicCast ( const TClass cl,
const void *  obj,
Bool_t  up = kTRUE 
)

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.

◆ DynamicCast() [2/2]

void * TClass::DynamicCast ( const TClass cl,
void *  obj,
Bool_t  up = kTRUE 
)

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.

◆ EscapeChars()

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.

◆ FindClassOrBaseMethodWithId()

TMethod * TClass::FindClassOrBaseMethodWithId ( DeclId_t  faddr)
private

Find a method with decl id in this class or its bases.

Definition at line 4440 of file TClass.cxx.

◆ FindConversionStreamerInfo() [1/2]

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.

◆ FindConversionStreamerInfo() [2/2]

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.

◆ FindStreamerInfo() [1/2]

TVirtualStreamerInfo * TClass::FindStreamerInfo ( TObjArray arr,
UInt_t  checksum 
) const
protected

Find the TVirtualStreamerInfo in the StreamerInfos corresponding to checksum.

Definition at line 7066 of file TClass.cxx.

◆ FindStreamerInfo() [2/2]

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.

◆ FindStreamerInfoAbstractEmulated()

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.

◆ ForceReload()

void TClass::ForceReload ( TClass oldcl)

we found at least one equivalent.

let's force a reload

Definition at line 1336 of file TClass.cxx.

◆ GetActualClass()

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:

class MyClass : public AnotherClass, public TObject
Mother of all ROOT objects.
Definition TObject.h:41

then on return, one must do:

TObject *obj = (TObject*)((void*)myobject)directory->Get("some object of MyClass");
MyClass::Class()->GetActualClass(obj); // this would be wrong!!!

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.

◆ GetBaseClass() [1/2]

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.

◆ GetBaseClass() [2/2]

TClass * TClass::GetBaseClass ( const TClass cl)

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.

◆ GetBaseClassOffset()

Int_t TClass::GetBaseClassOffset ( const TClass toBase,
void *  address = nullptr,
bool  isDerivedObject = true 
)
  • Return data member offset to the base class "cl".
  • Returns -1 in case "cl" is not a base class. Takes care of multiple inheritance.

Definition at line 2791 of file TClass.cxx.

◆ GetBaseClassOffsetRecurse()

Int_t TClass::GetBaseClassOffsetRecurse ( const TClass cl)
private

Return data member offset to the base class "cl".

  • Returns -1 in case "cl" is not a base class.
  • Returns -2 if cl is a base class, but we can't find the offset because it's virtual. Takes care of multiple inheritance.

Definition at line 2705 of file TClass.cxx.

◆ GetBaseDataMember()

TClass * TClass::GetBaseDataMember ( const char *  datamember)

Return pointer to (base) class that contains datamember.

Definition at line 2827 of file TClass.cxx.

◆ GetCheckSum() [1/3]

UInt_t TClass::GetCheckSum ( Bool_t isvalid) const

Return GetCheckSum(kCurrentCheckSum,isvalid);.

Definition at line 6514 of file TClass.cxx.

◆ GetCheckSum() [2/3]

UInt_t TClass::GetCheckSum ( ECheckSum  code,
Bool_t isvalid 
) const

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.

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

This is needed for backward compatibility.

WARNING: this function must be kept in sync with 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.

◆ GetCheckSum() [3/3]

UInt_t TClass::GetCheckSum ( ECheckSum  code = kCurrentCheckSum) const

Call GetCheckSum with validity check.

Definition at line 6505 of file TClass.cxx.

◆ GetClass() [1/6]

template<typename T >
TClass * TClass::GetClass ( Bool_t  load = kTRUE,
Bool_t  silent = kFALSE 
)
static

Definition at line 655 of file TClass.h.

◆ GetClass() [2/6]

TClass * TClass::GetClass ( ClassInfo_t *  info,
Bool_t  load = kTRUE,
Bool_t  silent = kFALSE 
)
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.

◆ GetClass() [3/6]

TClass * TClass::GetClass ( const char *  name,
Bool_t  load,
Bool_t  silent,
size_t  hint_pair_offset,
size_t  hint_pair_size 
)
static

Definition at line 2973 of file TClass.cxx.

◆ GetClass() [4/6]

TClass * TClass::GetClass ( const char *  name,
Bool_t  load = kTRUE,
Bool_t  silent = kFALSE 
)
static

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 class that are used only for transient members) Returns 0 in case class is not found.

Definition at line 2968 of file TClass.cxx.

◆ GetClass() [5/6]

TClass * 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 
)
static

Return pointer to class with name.

Definition at line 3254 of file TClass.cxx.

◆ GetClass() [6/6]

Bool_t TClass::GetClass ( DeclId_t  id,
std::vector< TClass * > &  classes 
)
static

Definition at line 3404 of file TClass.cxx.

◆ GetClassInfo()

ClassInfo_t * TClass::GetClassInfo ( ) const
inline

Definition at line 433 of file TClass.h.

◆ GetClassMethod() [1/2]

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.

◆ GetClassMethod() [2/2]

TMethod * TClass::GetClassMethod ( Longptr_t  faddr)
private

Look for a method in this class that has the interface function address faddr.

Definition at line 4483 of file TClass.cxx.

◆ GetClassMethodWithPrototype()

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.

◆ GetClassSize()

Int_t TClass::GetClassSize ( ) const
inline

Definition at line 425 of file TClass.h.

◆ GetClassVersion()

Version_t TClass::GetClassVersion ( ) const
inline

Definition at line 420 of file TClass.h.

◆ GetCollectionProxy()

TVirtualCollectionProxy * TClass::GetCollectionProxy ( ) const

Return the proxy describing the collection (if any).

Definition at line 2897 of file TClass.cxx.

◆ GetCollectionType()

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.

◆ GetContextMenuTitle()

const char * TClass::GetContextMenuTitle ( ) const
inline

Definition at line 438 of file TClass.h.

◆ GetConversionStreamerInfo() [1/2]

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.

◆ GetConversionStreamerInfo() [2/2]

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.

◆ GetConvStreamerFunc()

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.

◆ GetCurrentStreamerInfo()

TVirtualStreamerInfo * TClass::GetCurrentStreamerInfo ( )
inline

Definition at line 439 of file TClass.h.

◆ GetDataMember()

TDataMember * TClass::GetDataMember ( const char *  datamember) const

Return pointer to datamember object with name "datamember".

Definition at line 3439 of file TClass.cxx.

◆ GetDataMemberOffset()

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.

◆ GetDeclFileLine()

Short_t TClass::GetDeclFileLine ( ) const
inline

Definition at line 429 of file TClass.h.

◆ GetDeclFileName()

const char * TClass::GetDeclFileName ( ) const

Return name of the file containing the declaration of this class.

Definition at line 3463 of file TClass.cxx.

◆ GetDeclIdMap()

DeclIdMap_t * TClass::GetDeclIdMap ( )
staticprivate

Definition at line 480 of file TClass.cxx.

◆ GetDelete()

ROOT::DelFunc_t TClass::GetDelete ( ) const

Return the wrapper around delete ThiObject.

Definition at line 7463 of file TClass.cxx.

◆ GetDeleteArray()

ROOT::DelArrFunc_t TClass::GetDeleteArray ( ) const

Return the wrapper around delete [] ThiObject.

Definition at line 7471 of file TClass.cxx.

◆ GetDestructor()

ROOT::DesFunc_t TClass::GetDestructor ( ) const

Return the wrapper around the destructor.

Definition at line 7479 of file TClass.cxx.

◆ GetDict() [1/2]

DictFuncPtr_t TClass::GetDict ( const char *  cname)
static

Return a pointer to the dictionary loading function generated by rootcint.

Definition at line 3422 of file TClass.cxx.

◆ GetDict() [2/2]

DictFuncPtr_t TClass::GetDict ( const std::type_info &  info)
static

Return a pointer to the dictionary loading function generated by rootcint.

Definition at line 3431 of file TClass.cxx.

◆ GetDirectoryAutoAdd()

ROOT::DirAutoAdd_t TClass::GetDirectoryAutoAdd ( ) const

Return the wrapper around the directory auto add function.

Definition at line 7487 of file TClass.cxx.

◆ GetFunctionTemplate()

TFunctionTemplate * TClass::GetFunctionTemplate ( const char *  name)

Definition at line 3607 of file TClass.cxx.

◆ GetHeapInstanceCount()

UInt_t TClass::GetHeapInstanceCount ( ) const
inline

Definition at line 467 of file TClass.h.

◆ GetIdMap()

IdMap_t * TClass::GetIdMap ( )
staticprivate

Definition at line 469 of file TClass.cxx.

◆ GetImplFileLine()

Short_t TClass::GetImplFileLine ( ) const
inline

Definition at line 457 of file TClass.h.

◆ GetImplFileName()

const char * TClass::GetImplFileName ( ) const
inline

Definition at line 456 of file TClass.h.

◆ GetInstanceCount()

UInt_t TClass::GetInstanceCount ( ) const
inline

Definition at line 466 of file TClass.h.

◆ GetIsAProxy()

TVirtualIsAProxy * TClass::GetIsAProxy ( ) const

Return the proxy implementing the IsA functionality.

Definition at line 2955 of file TClass.cxx.

◆ GetLastReadInfo()

TVirtualStreamerInfo * TClass::GetLastReadInfo ( ) const
inline

Definition at line 444 of file TClass.h.

◆ GetListOfAllPublicDataMembers()

TList * TClass::GetListOfAllPublicDataMembers ( Bool_t  load = kTRUE)

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.

◆ GetListOfAllPublicMethods()

const TList * TClass::GetListOfAllPublicMethods ( Bool_t  load = kTRUE)

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:

  • put all methods of the class in the list (also protected and private ones).
  • loop over all base classes and add only those methods not already in the list (also protected and private ones).
  • once finished, loop over resulting list and remove all private and protected methods.

Definition at line 3845 of file TClass.cxx.

◆ GetListOfBases()

TList * TClass::GetListOfBases ( )

Return list containing the TBaseClass(es) of a class.

Definition at line 3636 of file TClass.cxx.

◆ GetListOfDataMembers()

TList * TClass::GetListOfDataMembers ( Bool_t  load = kTRUE)

Return list containing the TDataMembers of a class.

Definition at line 3770 of file TClass.cxx.

◆ GetListOfEnums()

TList * TClass::GetListOfEnums ( Bool_t  requestListLoading = kTRUE)

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.

◆ GetListOfFunctionTemplates()

TList * TClass::GetListOfFunctionTemplates ( Bool_t  load = kTRUE)

Return TListOfFunctionTemplates for a class.

Definition at line 3798 of file TClass.cxx.

◆ GetListOfMethodOverloads()

TCollection * TClass::GetListOfMethodOverloads ( const char *  name) const

Return the collection of functions named "name".

Definition at line 3827 of file TClass.cxx.

◆ GetListOfMethods()

TList * TClass::GetListOfMethods ( Bool_t  load = kTRUE)

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.

◆ GetListOfRealData()

TList * TClass::GetListOfRealData ( ) const
inline

Definition at line 453 of file TClass.h.

◆ GetListOfUsingDataMembers()

TList * TClass::GetListOfUsingDataMembers ( Bool_t  load = kTRUE)

Return list containing the TDataMembers of using declarations of a class.

Definition at line 3786 of file TClass.cxx.

◆ GetMenuItems()

void TClass::GetMenuItems ( TList listitems)

Returns list of methods accessible by context menu.

Definition at line 3874 of file TClass.cxx.

◆ GetMenuList()

TList * TClass::GetMenuList ( ) const

Return the list of menu items associated with the class.

Definition at line 4341 of file TClass.cxx.

◆ GetMerge()

ROOT::MergeFunc_t TClass::GetMerge ( ) const

Return the wrapper around Merge.

Definition at line 7431 of file TClass.cxx.

◆ GetMethod()

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.

◆ GetMethodAllAny()

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.

◆ GetMethodAny()

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.

◆ GetMethodList()

TListOfFunctions * TClass::GetMethodList ( )
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.

◆ GetMethodWithPrototype()

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.

◆ GetMissingDictionaries()

void TClass::GetMissingDictionaries ( THashTable result,
bool  recurse = false 
)

Get the classes that have a missing dictionary starting from this one.

  • With recurse = false the classes checked for missing dictionaries are: the class itself, all base classes, direct data members, and for collection proxies the container's elements without iterating over the element's data members;
  • With recurse = true the classes checked for missing dictionaries are: the class itself, all base classes, recursing on the data members, and for the collection proxies recursion on the elements of the collection and iterating over the element's data members.

Definition at line 4087 of file TClass.cxx.

◆ GetMissingDictionariesForBaseClasses()

void TClass::GetMissingDictionariesForBaseClasses ( TCollection result,
TCollection visited,
bool  recurse 
)
protected

Verify the base classes always.

Definition at line 3927 of file TClass.cxx.

◆ GetMissingDictionariesForMembers()

void TClass::GetMissingDictionariesForMembers ( TCollection result,
TCollection visited,
bool  recurse 
)
protected

Verify the Data Members.

Definition at line 3944 of file TClass.cxx.

◆ GetMissingDictionariesForPairElements()

void TClass::GetMissingDictionariesForPairElements ( TCollection result,
TCollection visited,
bool  recurse 
)
protected

Definition at line 3973 of file TClass.cxx.

◆ GetMissingDictionariesWithRecursionCheck()

void TClass::GetMissingDictionariesWithRecursionCheck ( TCollection result,
TCollection visited,
bool  recurse 
)
protected

From the second level of recursion onwards it is different state check.

Definition at line 3990 of file TClass.cxx.

◆ GetNdata()

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.

◆ GetNew()

ROOT::NewFunc_t TClass::GetNew ( ) const

Return the wrapper around new ThisClass().

Definition at line 7447 of file TClass.cxx.

◆ GetNewArray()

ROOT::NewArrFunc_t TClass::GetNewArray ( ) const

Return the wrapper around new ThisClass[].

Definition at line 7455 of file TClass.cxx.

◆ GetNmethods()

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.

◆ GetPersistentRef()

TClass *const * TClass::GetPersistentRef ( ) const
inline

Definition at line 481 of file TClass.h.

◆ GetRealData()

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.

◆ GetReferenceProxy()

TVirtualRefProxy * TClass::GetReferenceProxy ( ) const
inline

Definition at line 483 of file TClass.h.

◆ GetResetAfterMerge()

ROOT::ResetAfterMergeFunc_t TClass::GetResetAfterMerge ( ) const

Return the wrapper around Merge.

Definition at line 7439 of file TClass.cxx.

◆ GetSchemaRules() [1/2]

const ROOT::Detail::TSchemaRuleSet * TClass::GetSchemaRules ( ) const

Return the set of the schema rules if any.

Definition at line 1932 of file TClass.cxx.

◆ GetSchemaRules() [2/2]

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.

◆ GetSharedLibs()

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.

◆ GetShowMembersWrapper()

ShowMembersFunc_t TClass::GetShowMembersWrapper ( ) const
inline

Definition at line 487 of file TClass.h.

◆ GetState()

EState TClass::GetState ( ) const
inline

Definition at line 488 of file TClass.h.

◆ GetStreamer()

TClassStreamer * TClass::GetStreamer ( ) const

Return the Streamer Class allowing streaming (if any).

Definition at line 2914 of file TClass.cxx.

◆ GetStreamerFunc()

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.

◆ GetStreamerInfo()

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.

◆ GetStreamerInfoAbstractEmulated()

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:

  • 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 4709 of file TClass.cxx.

◆ GetStreamerInfoImpl()

TVirtualStreamerInfo * TClass::GetStreamerInfoImpl ( Int_t  version,
Bool_t  silent 
) const
private

Definition at line 4634 of file TClass.cxx.

◆ GetStreamerInfos()

const TObjArray * TClass::GetStreamerInfos ( ) const
inline

Definition at line 492 of file TClass.h.

◆ GetTypeInfo()

const std::type_info * TClass::GetTypeInfo ( ) const
inline

Definition at line 496 of file TClass.h.

◆ HasConsistentHashMember()

Bool_t TClass::HasConsistentHashMember ( )
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.

Definition at line 501 of file TClass.h.

◆ HasCustomStreamerMember()

Bool_t TClass::HasCustomStreamerMember ( ) const
inline

The class has a Streamer method and it is implemented by the user or an older (not StreamerInfo based) automatic streamer.

Definition at line 508 of file TClass.h.

◆ HasDataMemberInfo()

Bool_t TClass::HasDataMemberInfo ( ) const
inline

Definition at line 407 of file TClass.h.

◆ HasDefaultConstructor()

Bool_t TClass::HasDefaultConstructor ( Bool_t  testio = kFALSE) const

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

cl->GetProperty() & kClassHasDefaultCtor
@ kClassHasDefaultCtor

To know if the class described by this TClass has a public default constructor use:

gInterpreter->ClassInfo_HasDefaultConstructor(aClass->GetClassInfo());
#define gInterpreter

Definition at line 7393 of file TClass.cxx.

◆ HasDictionary()

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.

◆ HasDictionarySelection()

Bool_t TClass::HasDictionarySelection ( const char *  clname)
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.

◆ HasInterpreterInfo()

Bool_t TClass::HasInterpreterInfo ( ) const
inline

Definition at line 410 of file TClass.h.

◆ HasInterpreterInfoInMemory()

Bool_t TClass::HasInterpreterInfoInMemory ( ) const
inline

Definition at line 409 of file TClass.h.

◆ HasLocalHashMember()

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

if (cl->IsTObject() && cl->HasLocalHashMember())

Definition at line 7421 of file TClass.cxx.

◆ HasNoInfoOrEmuOrFwdDeclaredDecl()

Bool_t TClass::HasNoInfoOrEmuOrFwdDeclaredDecl ( const char *  name)
staticprivate

Definition at line 3398 of file TClass.cxx.

◆ IgnoreTObjectStreamer()

void TClass::IgnoreTObjectStreamer ( Bool_t  doIgnore = kTRUE)

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:

void IgnoreTObjectStreamer(Bool_t ignore=kTRUE)
When the class kIgnoreTObjectStreamer bit is set, the automatically generated Streamer will not call ...
Definition TClass.cxx:4841
static TClass * Class()

and not:

BigTrack::Class()->IgnoreTObjectStreamer();

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.

◆ InheritsFrom() [1/2]

Bool_t TClass::InheritsFrom ( const char *  classname) const
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.

◆ InheritsFrom() [2/2]

Bool_t TClass::InheritsFrom ( const TClass cl) const
overridevirtual

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.

◆ Init()

void TClass::Init ( const char *  name,
Version_t  cversion,
const std::type_info *  typeinfo,
TVirtualIsAProxy isa,
const char *  dfil,
const char *  ifil,
Int_t  dl,
Int_t  il,
ClassInfo_t *  givenInfo,
Bool_t  silent 
)
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.

◆ InterpretedShowMembers()

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.

◆ IsA()

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

Reimplemented from TObject.

Reimplemented in TQClass.

Definition at line 618 of file TClass.h.

◆ IsCallingNew()

TClass::ENewType TClass::IsCallingNew ( )
static

Static method returning the defConstructor flag passed to TClass::New().

New type is either:

Definition at line 5902 of file TClass.cxx.

◆ IsClassStructOrUnion()

bool TClass::IsClassStructOrUnion ( ) const
inlineprivate

Definition at line 354 of file TClass.h.

◆ IsFolder() [1/2]

Bool_t TClass::IsFolder ( ) const
inlineoverridevirtual

Returns kTRUE in case object contains browsable objects (like containers or lists of other objects).

Reimplemented from TObject.

Definition at line 517 of file TClass.h.

◆ IsFolder() [2/2]

Bool_t TClass::IsFolder ( void *  obj) const

Return kTRUE if the class has elements.

Definition at line 4135 of file TClass.cxx.

◆ IsForeign()

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.

◆ IsLoaded()

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.

◆ IsStartingWithTObject()

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:

ThisClass *ptr;
void *void_ptr = (void)ptr;
TObject *obj = (TObject*)void_ptr;

This code would be wrong if 'ThisClass' did not inherit 'first' from TObject.

Definition at line 5929 of file TClass.cxx.

◆ IsSyntheticPair()

Bool_t TClass::IsSyntheticPair ( ) const
inline

Definition at line 521 of file TClass.h.

◆ IsTObject()

Bool_t TClass::IsTObject ( ) const

Return kTRUE is the class inherits from TObject.

Definition at line 5938 of file TClass.cxx.

◆ IsVersioned()

Bool_t TClass::IsVersioned ( ) const
inline

Definition at line 522 of file TClass.h.

◆ Load()

TClass * TClass::Load ( TBuffer b)
static

Load class description from I/O buffer and return class object.

Definition at line 5715 of file TClass.cxx.

◆ LoadClass()

TClass * TClass::LoadClass ( const char *  requestedname,
Bool_t  silent 
)
static

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.

◆ LoadClassCustom()

TClass * TClass::LoadClassCustom ( const char *  requestedname,
Bool_t  silent 
)
staticprivate

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.

◆ LoadClassDefault()

TClass * TClass::LoadClassDefault ( const char *  requestedname,
Bool_t  silent 
)
staticprivate

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.

◆ LoadClassInfo()

void TClass::LoadClassInfo ( ) const
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.

◆ ls()

void TClass::ls ( Option_t options = "") const
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.

◆ MakeCustomMenuList()

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.

◆ MatchLegacyCheckSum()

Bool_t TClass::MatchLegacyCheckSum ( UInt_t  checksum) const

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

Definition at line 6494 of file TClass.cxx.

◆ Move()

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.

◆ MoveAddressInRepository()

void TClass::MoveAddressInRepository ( const char *  where,
void *  oldadd,
void *  newadd,
const TClass what 
) const
private

Definition at line 337 of file TClass.cxx.

◆ New() [1/2]

void * TClass::New ( ENewType  defConstructor = kClassNew,
Bool_t  quiet = kFALSE 
) 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().

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:

#pragma link C++ ioctortype UserClass;

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:

MyClass(UserClass*);
MyClass(TRootIOCtor*);
MyClass(); // Or a constructor with all its arguments defaulted.

When more than one pragma ioctortype is used, the first seen as priority For example with:

#pragma link C++ ioctortype UserClass1;
#pragma link C++ ioctortype UserClass2;

We look in the following order:

MyClass(UserClass1*);
MyClass(UserClass2*);
MyClass(TRootIOCtor*);
MyClass(); // Or a constructor with all its arguments defaulted.

Definition at line 4978 of file TClass.cxx.

◆ New() [2/2]

void * TClass::New ( 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 5091 of file TClass.cxx.

◆ NewArray() [1/2]

void * TClass::NewArray ( 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 5193 of file TClass.cxx.

◆ NewArray() [2/2]

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.

◆ NewObject() [1/2]

TClass::ObjectPtr TClass::NewObject ( ENewType  defConstructor = kClassNew,
Bool_t  quiet = kFALSE 
) const

Definition at line 4992 of file TClass.cxx.

◆ NewObject() [2/2]

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.

◆ NewObjectArray() [1/2]

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.

◆ NewObjectArray() [2/2]

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.

◆ operator=()

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

◆ PostLoadCheck()

void TClass::PostLoadCheck ( )
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.

◆ Property()

Long_t TClass::Property ( ) const
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

kIsTObject : the class inherits from TObject
kStartWithTObject: TObject is the left-most class in the inheritance tree
kIsForeign : the class doe not have a Streamer method
#define a(i)
Definition RSha256.hxx:99
void Streamer(void *obj, TBuffer &b, const TClass *onfile_class=nullptr) const
Definition TClass.h:607
@ kStartWithTObject
Definition TClass.h:103
@ kIsTObject
Definition TClass.h:100
@ kIsForeign
Definition TClass.h:101
Definition tree.py:1

The value of fStreamerType are

kTObject : the class inherits from TObject
kForeign : the class does not have a Streamer method
kInstrumented: the class does have a Streamer method
kExternal: the class has a free standing way of streaming itself
kEmulatedStreamer: the class is missing its shared library.
#define free
Definition civetweb.c:1539
@ kEmulatedStreamer
Definition TClass.h:334
@ kExternal
Definition TClass.h:334
@ kForeign
Definition TClass.h:334
@ kInstrumented
Definition TClass.h:334
@ kTObject
Definition TClass.h:334

Implementation note: the data member fProperty has the value -1 until it is initialized.

Implements TDictionary.

Definition at line 6086 of file TClass.cxx.

◆ ReadBuffer() [1/2]

Int_t TClass::ReadBuffer ( TBuffer b,
void *  pointer 
)

Function called by the Streamer functions to deserialize information from buffer b into object at p.

Definition at line 6767 of file TClass.cxx.

◆ ReadBuffer() [2/2]

Int_t TClass::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.

This function assumes that the class version and the byte count information have been read.

  • version is the version number of the class
  • start is the starting position in the buffer b
  • count is the number of bytes for this object in the buffer

Definition at line 6758 of file TClass.cxx.

◆ ReadRules() [1/2]

Int_t TClass::ReadRules ( )
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.

◆ ReadRules() [2/2]

Int_t TClass::ReadRules ( const char *  filename)
static

Read a class.rules file which contains one rule per line with comment starting with a #.

  • Returns the number of rules loaded.
  • Returns -1 in case of error.

Definition at line 1844 of file TClass.cxx.

◆ RegisterAddressInRepository()

void TClass::RegisterAddressInRepository ( const char *  where,
void *  location,
const TClass what 
) const
private

Definition at line 290 of file TClass.cxx.

◆ RegisterStreamerInfo()

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.

◆ RemoveClass()

void TClass::RemoveClass ( TClass cl)
static

static: Remove a class from the list and map of classes

Definition at line 520 of file TClass.cxx.

◆ RemoveClassDeclId()

void TClass::RemoveClassDeclId ( TDictionary::DeclId_t  id)
static

Definition at line 536 of file TClass.cxx.

◆ RemoveStreamerInfo()

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.

◆ ReplaceWith()

void TClass::ReplaceWith ( TClass newcl) const

Definition at line 4142 of file TClass.cxx.

◆ ResetCaches()

void TClass::ResetCaches ( )

To clean out all caches.

Definition at line 4215 of file TClass.cxx.

◆ ResetClassInfo() [1/2]

void TClass::ResetClassInfo ( )

Make sure that the current ClassInfo is up to date.

Definition at line 4180 of file TClass.cxx.

◆ ResetClassInfo() [2/2]

void TClass::ResetClassInfo ( Long_t  tagnum)

Make sure that the current ClassInfo is up to date.

Definition at line 4172 of file TClass.cxx.

◆ ResetInstanceCount()

void TClass::ResetInstanceCount ( )
inline

Definition at line 547 of file TClass.h.

◆ ResetMenuList()

void TClass::ResetMenuList ( )

Resets the menu list to it's standard value.

Definition at line 4243 of file TClass.cxx.

◆ SetCanSplit()

void TClass::SetCanSplit ( Int_t  splitmode)

Set the splitability of this class:

  • -1: Use the default calculation
  • 0: Disallow splitting
  • 1: Always allow splitting.
  • 2: Disallow splitting of the class and splitting of any it's derived classes.

Definition at line 5658 of file TClass.cxx.

◆ SetClassSize()

void TClass::SetClassSize ( Int_t  sizof)
inlineprivate

Definition at line 307 of file TClass.h.

◆ SetClassVersion()

void TClass::SetClassVersion ( Version_t  version)
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:

  • If no class number has been specified, TClass::GetVersion will return -1
  • The Class Version 0 request the whole object to be transient
  • The Class Version 1, unless specified via ClassDef indicates that the I/O should use the TClass checksum to distinguish the layout of the class

Definition at line 5675 of file TClass.cxx.

◆ SetCollectionProxy()

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.

◆ SetContextMenuTitle()

void TClass::SetContextMenuTitle ( const char *  title)

Change (i.e. set) the title of the TNamed.

Definition at line 6269 of file TClass.cxx.

◆ SetConvStreamerFunc()

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.

◆ SetCurrentStreamerInfo()

void TClass::SetCurrentStreamerInfo ( TVirtualStreamerInfo info)

Set pointer to current TVirtualStreamerInfo.

Definition at line 5696 of file TClass.cxx.

◆ SetDeclFile()

void TClass::SetDeclFile ( const char *  name,
int  line 
)
inline

Definition at line 555 of file TClass.h.

◆ SetDelete()

void TClass::SetDelete ( ROOT::DelFunc_t  deleteFunc)

Install a new wrapper around 'delete'.

Definition at line 7001 of file TClass.cxx.

◆ SetDeleteArray()

void TClass::SetDeleteArray ( ROOT::DelArrFunc_t  deleteArrayFunc)

Install a new wrapper around 'delete []'.

Definition at line 7009 of file TClass.cxx.

◆ SetDestructor()

void TClass::SetDestructor ( ROOT::DesFunc_t  destructorFunc)

Install a new wrapper around the destructor.

Definition at line 7017 of file TClass.cxx.

◆ SetDirectoryAutoAdd()

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.

◆ SetGlobalIsA()

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:

TClass *func( TClass *cl, const void *obj);
TClass instances represent classes, structs and namespaces in the ROOT type system.
Definition TClass.h:81

'cl' is a pointer to the TClass object that corresponds to the 'pointer type' used to retrieve the value 'obj'

For example with:

TNamed * m = new TNamed("example","test");
TObject* o = m
The TNamed class is the base class for all named ROOT classes.
Definition TNamed.h:29
TNamed()
Definition TNamed.h:36
TMarker m
Definition textangle.C:8

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.

◆ SetImplFileName()

void TClass::SetImplFileName ( const char *  implFileName)
inline

Definition at line 560 of file TClass.h.

◆ SetLastReadInfo()

void TClass::SetLastReadInfo ( TVirtualStreamerInfo info)
inline

Definition at line 445 of file TClass.h.

◆ SetMemberStreamer()

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.

◆ SetMerge()

void TClass::SetMerge ( ROOT::MergeFunc_t  mergeFunc)

Install a new wrapper around 'Merge'.

Definition at line 6969 of file TClass.cxx.

◆ SetNew()

void TClass::SetNew ( ROOT::NewFunc_t  newFunc)

Install a new wrapper around 'new'.

Definition at line 6985 of file TClass.cxx.

◆ SetNewArray()

void TClass::SetNewArray ( ROOT::NewArrFunc_t  newArrayFunc)

Install a new wrapper around 'new []'.

Definition at line 6993 of file TClass.cxx.

◆ SetResetAfterMerge()

void TClass::SetResetAfterMerge ( ROOT::ResetAfterMergeFunc_t  resetFunc)

Install a new wrapper around 'ResetAfterMerge'.

Definition at line 6977 of file TClass.cxx.

◆ SetRuntimeProperties()

void TClass::SetRuntimeProperties ( )
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.

◆ SetStreamerFunc()

void TClass::SetStreamerFunc ( ClassStreamerFunc_t  strm)

Set a wrapper/accessor function around this class custom streamer.

Definition at line 6922 of file TClass.cxx.

◆ SetStreamerImpl()

void TClass::SetStreamerImpl ( )
private

Internal routine to set fStreamerImpl based on the value of fStreamerType.

Definition at line 6215 of file TClass.cxx.

◆ SetStreamerInfo()

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.

◆ SetUnloaded()

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.

◆ Size()

Int_t TClass::Size ( ) const

Return size of object of this class.

Definition at line 5704 of file TClass.cxx.

◆ Store()

void TClass::Store ( TBuffer b) const

Store class description on I/O buffer.

Definition at line 5860 of file TClass.cxx.

◆ Streamer() [1/2]

void TClass::Streamer ( TBuffer R__b)
overridevirtual

Stream an object of class TObject.

Reimplemented from TObject.

Reimplemented in TQClass.

◆ Streamer() [2/2]

void TClass::Streamer ( void *  obj,
TBuffer b,
const TClass onfile_class = nullptr 
) const
inline

Definition at line 607 of file TClass.h.

◆ StreamerDefault()

void TClass::StreamerDefault ( const TClass pThis,
void *  object,
TBuffer b,
const TClass onfile_class 
)
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.

◆ StreamerExternal()

void TClass::StreamerExternal ( const TClass pThis,
void *  object,
TBuffer b,
const TClass onfile_class 
)
staticprivate

There is special streamer for the class.

Definition at line 6788 of file TClass.cxx.

◆ StreamerInstrumented()

void TClass::StreamerInstrumented ( const TClass pThis,
void *  object,
TBuffer b,
const TClass onfile_class 
)
staticprivate

Case of instrumented class with a library.

Definition at line 6836 of file TClass.cxx.

◆ StreamerNVirtual()

void TClass::StreamerNVirtual ( TBuffer ClassDef_StreamerNVirtual_b)
inline

Definition at line 618 of file TClass.h.

◆ StreamerStreamerInfo()

void TClass::StreamerStreamerInfo ( const TClass pThis,
void *  object,
TBuffer b,
const TClass onfile_class 
)
staticprivate

Case of where we should directly use the StreamerInfo.

  • case kForeign:
  • case kForeign|kEmulatedStreamer:
  • case kInstrumented|kEmulatedStreamer:
  • case kEmulatedStreamer:

Definition at line 6858 of file TClass.cxx.

◆ StreamerTObject()

void TClass::StreamerTObject ( const TClass pThis,
void *  object,
TBuffer b,
const TClass onfile_class 
)
staticprivate

Case of TObjects.

Definition at line 6800 of file TClass.cxx.

◆ StreamerTObjectEmulated()

void TClass::StreamerTObjectEmulated ( const TClass pThis,
void *  object,
TBuffer b,
const TClass onfile_class 
)
staticprivate

Case of TObjects when we do not have the library defining the class.

Definition at line 6823 of file TClass.cxx.

◆ StreamerTObjectInitialized()

void TClass::StreamerTObjectInitialized ( const TClass pThis,
void *  object,
TBuffer b,
const TClass onfile_class 
)
staticprivate

Case of TObjects when fIsOffsetStreamerSet is known to have been set.

Definition at line 6814 of file TClass.cxx.

◆ UnregisterAddressInRepository()

void TClass::UnregisterAddressInRepository ( const char *  where,
void *  location,
const TClass what 
) const
private

Definition at line 318 of file TClass.cxx.

◆ WriteBuffer()

Int_t TClass::WriteBuffer ( TBuffer b,
void *  pointer,
const char *  info = "" 
)

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.

Friends And Related Symbol Documentation

◆ operator&

bool operator& ( UChar_t  l,
ERuntimeProperties  r 
)
friend

Definition at line 270 of file TClass.h.

◆ ROOT::Internal::TCheckHashRecursiveRemoveConsistency

Definition at line 87 of file TClass.h.

◆ ROOT::ResetClassVersion

void ROOT::ResetClassVersion ( TClass ,
const char *  ,
Short_t   
)
friend

◆ ROOT::TGenericClassInfo

friend class ROOT::TGenericClassInfo
friend

Definition at line 85 of file TClass.h.

◆ TCling

friend class TCling
friend

Definition at line 83 of file TClass.h.

◆ TProtoClass

friend class TProtoClass
friend

Definition at line 86 of file TClass.h.

◆ TStreamerInfo

friend class TStreamerInfo
friend

Definition at line 88 of file TClass.h.

Member Data Documentation

◆ fAllPubData

TViewPubDataMembers* TClass::fAllPubData
private

Definition at line 209 of file TClass.h.

◆ fAllPubMethod

TViewPubFunctions* TClass::fAllPubMethod
private

Definition at line 210 of file TClass.h.

◆ fBase

std::atomic<TList*> TClass::fBase
private

Definition at line 201 of file TClass.h.

◆ fCanLoadClassInfo

std::atomic<Bool_t> TClass::fCanLoadClassInfo
mutableprivate

Whether info was loaded from a root pcm.

Definition at line 260 of file TClass.h.

◆ fCanSplit

std::atomic<Char_t> TClass::fCanSplit
private

Definition at line 245 of file TClass.h.

◆ fCheckSum

std::atomic<UInt_t> TClass::fCheckSum
mutableprivate

Definition at line 219 of file TClass.h.

◆ fClassInfo

ClassInfo_t* TClass::fClassInfo
private

Definition at line 222 of file TClass.h.

◆ fClassMenuList

TList* TClass::fClassMenuList
mutableprivate

Definition at line 211 of file TClass.h.

◆ fClassProperty

Long_t TClass::fClassProperty
mutableprivate

Property See TClass::Property() for details.

Definition at line 256 of file TClass.h.

◆ fClassVersion

Version_t TClass::fClassVersion
private

Definition at line 221 of file TClass.h.

◆ fCollectionProxy

TVirtualCollectionProxy* TClass::fCollectionProxy
private

Definition at line 220 of file TClass.h.

◆ fContextMenuTitle

TString TClass::fContextMenuTitle
private

Definition at line 223 of file TClass.h.

◆ fConversionStreamerInfo

ConvSIMap_t TClass::fConversionStreamerInfo
mutableprivate

Definition at line 199 of file TClass.h.

◆ fConvStreamerFunc

ClassConvStreamerFunc_t TClass::fConvStreamerFunc
private

Definition at line 242 of file TClass.h.

◆ fCurrentInfo

std::atomic<TVirtualStreamerInfo*> TClass::fCurrentInfo
mutableprivate

Current 'state' of the class (Emulated,Interpreted,Loaded)

Definition at line 278 of file TClass.h.

◆ fData

std::atomic<TListOfDataMembers*> TClass::fData
private

Definition at line 202 of file TClass.h.

◆ fDeclFileLine

Short_t TClass::fDeclFileLine
private

Definition at line 215 of file TClass.h.

◆ fDeclFileName

const char* TClass::fDeclFileName
private

Definition at line 213 of file TClass.h.

◆ fDelete

ROOT::DelFunc_t TClass::fDelete
private

Definition at line 237 of file TClass.h.

◆ fDeleteArray

ROOT::DelArrFunc_t TClass::fDeleteArray
private

Definition at line 238 of file TClass.h.

◆ fDestructor

ROOT::DesFunc_t TClass::fDestructor
private

Definition at line 239 of file TClass.h.

◆ fDirAutoAdd

ROOT::DirAutoAdd_t TClass::fDirAutoAdd
private

Definition at line 240 of file TClass.h.

◆ fEnums

std::atomic<TListOfEnums*> TClass::fEnums
private

Definition at line 205 of file TClass.h.

◆ fFuncTemplate

TListOfFunctionTemplates* TClass::fFuncTemplate
private

Definition at line 206 of file TClass.h.

◆ fgClassCount

std::atomic< Int_t > TClass::fgClassCount
staticprivate

Definition at line 326 of file TClass.h.

◆ fgClassTypedefHash

THashTable * TClass::fgClassTypedefHash = nullptr
staticprivate

Definition at line 338 of file TClass.h.

◆ fGlobalIsA

IsAGlobalFunc_t TClass::fGlobalIsA
private

pointer to the class's IsA proxy.

Definition at line 230 of file TClass.h.

◆ fHasCustomStreamerMember

Bool_t TClass::fHasCustomStreamerMember
private

The class has a Streamer method and it is implemented by the user or an older (not StreamerInfo based) automatic streamer.

Definition at line 253 of file TClass.h.

◆ fHasRootPcmInfo

std::atomic<Bool_t> TClass::fHasRootPcmInfo
private

C++ Property of the class (is abstract, has virtual table, etc.)

Definition at line 259 of file TClass.h.

◆ fImplFileLine

Short_t TClass::fImplFileLine
private

Definition at line 216 of file TClass.h.

◆ fImplFileName

const char* TClass::fImplFileName
private

Definition at line 214 of file TClass.h.

◆ fInstanceCount

UInt_t TClass::fInstanceCount
private

Definition at line 217 of file TClass.h.

◆ fIsA

TVirtualIsAProxy* TClass::fIsA
private

Definition at line 229 of file TClass.h.

◆ fIsAMethod

std::atomic<TMethodCall*> TClass::fIsAMethod
mutableprivate

Definition at line 231 of file TClass.h.

◆ fIsOffsetStreamerSet

std::atomic<Bool_t> TClass::fIsOffsetStreamerSet
mutableprivate

Indicates whether the ClassInfo is supposed to be available.

Definition at line 261 of file TClass.h.

◆ fIsSyntheticPair

Bool_t TClass::fIsSyntheticPair
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)

Definition at line 250 of file TClass.h.

◆ fLastReadInfo

std::atomic<TVirtualStreamerInfo*> TClass::fLastReadInfo
mutableprivate

cached current streamer info.

Definition at line 279 of file TClass.h.

◆ fMerge

ROOT::MergeFunc_t TClass::fMerge
private

saved info to call a IsA member function

Definition at line 233 of file TClass.h.

◆ fMethod

std::atomic<TListOfFunctions*> TClass::fMethod
private

Definition at line 207 of file TClass.h.

◆ fNew

ROOT::NewFunc_t TClass::fNew
private

Definition at line 235 of file TClass.h.

◆ fNewArray

ROOT::NewArrFunc_t TClass::fNewArray
private

Definition at line 236 of file TClass.h.

◆ fNoInfoOrEmuOrFwdDeclNameRegistry

TClass::TDeclNameRegistry TClass::fNoInfoOrEmuOrFwdDeclNameRegistry
staticprivate

Definition at line 328 of file TClass.h.

◆ fObjectVersionRepository

RepoCont_t TClass::fObjectVersionRepository
mutableprivate

Definition at line 344 of file TClass.h.

◆ fOffsetStreamer

Longptr_t TClass::fOffsetStreamer
mutableprivate

Properties that can only be evaluated at run-time.

Definition at line 275 of file TClass.h.

◆ fOnHeap

UInt_t TClass::fOnHeap
private

Definition at line 218 of file TClass.h.

◆ fOVRMutex

TVirtualMutex* TClass::fOVRMutex = nullptr
mutableprivate

Definition at line 342 of file TClass.h.

◆ fPersistentRef

std::atomic<TClass**> TClass::fPersistentRef
private

Definition at line 194 of file TClass.h.

◆ fProperty

std::atomic<Long_t> TClass::fProperty
mutableprivate

Definition at line 255 of file TClass.h.

◆ fRealData

TList* TClass::fRealData
private

Definition at line 200 of file TClass.h.

◆ fRefProxy

TVirtualRefProxy* TClass::fRefProxy
private

cached streamer info used in the last read.

Definition at line 280 of file TClass.h.

◆ fResetAfterMerge

ROOT::ResetAfterMergeFunc_t TClass::fResetAfterMerge
private

Definition at line 234 of file TClass.h.

◆ fRuntimeProperties

std::atomic<UChar_t> TClass::fRuntimeProperties
mutableprivate

Definition at line 273 of file TClass.h.

◆ fSchemaRules

ROOT::Detail::TSchemaRuleSet* TClass::fSchemaRules
private

Pointer to reference proxy if this class represents a reference.

Definition at line 281 of file TClass.h.

◆ fSharedLibs

TString TClass::fSharedLibs
private

Definition at line 227 of file TClass.h.

◆ fShowMembers

ShowMembersFunc_t TClass::fShowMembers
private

Definition at line 225 of file TClass.h.

◆ fSizeof

Int_t TClass::fSizeof
private

Definition at line 243 of file TClass.h.

◆ fState

EState TClass::fState
private

cached of the streaming method to use

Definition at line 277 of file TClass.h.

◆ fStreamer

TClassStreamer* TClass::fStreamer
private

Definition at line 226 of file TClass.h.

◆ fStreamerFunc

ClassStreamerFunc_t TClass::fStreamerFunc
private

Definition at line 241 of file TClass.h.

◆ fStreamerImpl

std::atomic<StreamerImpl_t> TClass::fStreamerImpl
mutableprivate

Definition at line 287 of file TClass.h.

◆ fStreamerInfo

TObjArray* TClass::fStreamerInfo
mutableprivate

Definition at line 198 of file TClass.h.

◆ fStreamerType

Int_t TClass::fStreamerType
private

saved info to call Streamer

Definition at line 276 of file TClass.h.

◆ fTypeInfo

const std::type_info* TClass::fTypeInfo
private

Definition at line 224 of file TClass.h.

◆ fUsingData

std::atomic<TListOfDataMembers*> TClass::fUsingData
private

Definition at line 203 of file TClass.h.

◆ fVersionUsed

std::atomic<Bool_t> TClass::fVersionUsed
mutableprivate

saved remember if fOffsetStreamer has been set.

Definition at line 262 of file TClass.h.

  • core/meta/inc/TClass.h
  • core/meta/src/TClass.cxx