Logo ROOT   6.16/01
Reference Guide
List of all members | Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
TClass Class Reference

The ROOT global object gROOT contains a list of all defined classes.

This list is build when a reference to a class dictionary is made. When this happens, the static "class"::Dictionary() function is called to create a TClass object describing the class. The Dictionary() function is defined in the ClassDef macro and stored (at program startup or library load time) together with the class name in the TClassTable singleton object. For a description of all dictionary classes see TDictionary.

The name of the class as registered in the TClass object and in the list of class is the "normalized name" and is defined as:

The name of the type as accessible from the global scope to which a 'using namespace std;' has been applied to and with:

Definition at line 75 of file TClass.h.

Classes

class  InsertTClassInRegistryRAII
 
class  TDeclNameRegistry
 
class  TNameMapNode
 

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 = BIT(7) , kClassSaved = BIT(12) , kHasLocalHashMember = BIT(14) , kIgnoreTObjectStreamer = BIT(15) ,
  kUnloaded = BIT(16) , kIsTObject = BIT(17) , kIsForeign = BIT(18) , kIsEmulation = BIT(19) ,
  kStartWithTObject = BIT(20) , kWarned = BIT(21) , kHasNameMapNode = BIT(22) , kHasCustomStreamerMember = BIT(23)
}
 
- Public Types inherited from TDictionary
typedef const voidDeclId_t
 
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 = BIT(0) , kOverwrite = BIT(1) , kWriteDelete = BIT(2) }
 
enum  EDeprecatedStatusBits { kObjInCanvas = BIT(3) }
 
enum  EStatusBits {
  kCanDelete = BIT(0) , kMustCleanup = BIT(3) , kIsReferenced = BIT(4) , kHasUUID = BIT(5) ,
  kCannotPick = BIT(6) , kNoContextMenu = BIT(8) , kInvalidObject = BIT(13)
}
 

Public Member Functions

 TClass ()
 
 TClass (ClassInfo_t *info, Version_t cversion, const char *dfil, const char *ifil=0, Int_t dl=0, Int_t il=0, Bool_t silent=kFALSE)
 Create a TClass object. More...
 
 TClass (const char *name, Bool_t silent=kFALSE)
 Create a TClass object. More...
 
 TClass (const char *name, Version_t cversion, Bool_t silent=kFALSE)
 Create a TClass object. More...
 
 TClass (const char *name, Version_t cversion, const char *dfil, const char *ifil=0, Int_t dl=0, Int_t il=0, Bool_t silent=kFALSE)
 Create a TClass object. More...
 
 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)
 Create a TClass object. More...
 
 TClass (const char *name, Version_t cversion, EState theState, Bool_t silent=kFALSE)
 Create a TClass object. More...
 
virtual ~TClass ()
 TClass dtor. Deletes all list that might have been created. More...
 
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. More...
 
void AdoptReferenceProxy (TVirtualRefProxy *proxy)
 Adopt the Reference proxy pointer to indicate that this class represents a reference. More...
 
void AdoptSchemaRules (ROOT::Detail::TSchemaRuleSet *rules)
 Adopt a new set of Data Model Evolution rules. More...
 
void AdoptStreamer (TClassStreamer *strm)
 Adopt a TClassStreamer object. More...
 
virtual void Browse (TBrowser *b)
 This method is called by a browser to get the class information. More...
 
Int_t Browse (void *obj, TBrowser *b) const
 Browse objects of of the class described by this TClass object. More...
 
void BuildEmulatedRealData (const char *name, Long_t offset, TClass *cl)
 Build the list of real data for an emulated class. More...
 
void BuildRealData (void *pointer=0, Bool_t isTransient=kFALSE)
 Build a full list of persistent data members. More...
 
void CalculateStreamerOffset () const
 Calculate the offset between an object of this class to its base class TObject. More...
 
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. More...
 
Bool_t CanIgnoreTObjectStreamer ()
 
Bool_t CanSplit () const
 Return true if the data member of this TClass can be saved separately. More...
 
Long_t ClassProperty () const
 Return the C++ property of this class, eg. More...
 
TObjectClone (const char *newname="") const
 Create a Clone of this TClass object using a different name but using the same 'dictionary'. More...
 
void CopyCollectionProxy (const TVirtualCollectionProxy &)
 Copy the argument. More...
 
void DeleteArray (void *ary, Bool_t dtorOnly=kFALSE)
 Explicitly call operator delete[] for an array. More...
 
void Destructor (void *obj, Bool_t dtorOnly=kFALSE)
 Explicitly call destructor for object. More...
 
void Draw (Option_t *option="")
 Draw detailed class inheritance structure. More...
 
void Dump () const
 Dump contents of object on stdout. More...
 
void Dump (const void *obj, Bool_t noAddr=kFALSE) const
 Dump contents of object on stdout. More...
 
const voidDynamicCast (const TClass *base, const void *obj, Bool_t up=kTRUE)
 Cast obj of this class type up to baseclass cl if up is true. More...
 
voidDynamicCast (const TClass *base, void *obj, Bool_t up=kTRUE)
 Cast obj of this class type up to baseclass cl if up is true. More...
 
char * EscapeChars (const char *text) const
 Introduce an escape character (@) in front of a special chars. More...
 
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. More...
 
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. More...
 
TVirtualStreamerInfoFindStreamerInfo (UInt_t checksum) const
 Find the TVirtualStreamerInfo in the StreamerInfos corresponding to checksum. More...
 
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. More...
 
TClassGetActualClass (const void *object) const
 Return a pointer the the real class of the object. More...
 
TClassGetBaseClass (const char *classname)
 Return pointer to the base class "classname". More...
 
TClassGetBaseClass (const TClass *base)
 Return pointer to the base class "cl". More...
 
Int_t GetBaseClassOffset (const TClass *toBase, void *address=0, bool isDerivedObject=true)
 
TClassGetBaseDataMember (const char *datamember)
 Return pointer to (base) class that contains datamember. More...
 
UInt_t GetCheckSum (Bool_t &isvalid) const
 Return GetCheckSum(kCurrentCheckSum,isvalid);. More...
 
UInt_t GetCheckSum (ECheckSum code, Bool_t &isvalid) const
 Compute and/or return the class check sum. More...
 
UInt_t GetCheckSum (ECheckSum code=kCurrentCheckSum) const
 Call GetCheckSum with validity check. More...
 
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. More...
 
TMethodGetClassMethodWithPrototype (const char *name, const char *proto, Bool_t objectIsConst=kFALSE, ROOT::EFunctionMatchMode mode=ROOT::kConversionMatch)
 Find the method with a given prototype. More...
 
Int_t GetClassSize () const
 
Version_t GetClassVersion () const
 
TVirtualCollectionProxyGetCollectionProxy () const
 Return the proxy describing the collection (if any). More...
 
ROOT::ESTLType GetCollectionType () const
 Return the 'type' of the STL the TClass is representing. More...
 
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. More...
 
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. More...
 
ClassConvStreamerFunc_t GetConvStreamerFunc () const
 Get a wrapper/accessor function around this class custom conversion streamer (member function). More...
 
TVirtualStreamerInfoGetCurrentStreamerInfo ()
 
TDataMemberGetDataMember (const char *datamember) const
 Return pointer to datamember object with name "datamember". More...
 
Long_t GetDataMemberOffset (const char *membername) const
 return offset for member name. More...
 
Short_t GetDeclFileLine () const
 
const char * GetDeclFileName () const
 
ROOT::DelFunc_t GetDelete () const
 
ROOT::DelArrFunc_t GetDeleteArray () const
 
ROOT::DesFunc_t GetDestructor () const
 
ROOT::DirAutoAdd_t GetDirectoryAutoAdd () const
 
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. More...
 
TVirtualStreamerInfoGetLastReadInfo () const
 
TListGetListOfAllPublicDataMembers (Bool_t load=kTRUE)
 Returns a list of all public data members of this class and its base classes. More...
 
const TListGetListOfAllPublicMethods (Bool_t load=kTRUE)
 Returns a list of all public methods of this class and its base classes. More...
 
TListGetListOfBases ()
 Return list containing the TBaseClass(es) of a class. More...
 
TListGetListOfDataMembers (Bool_t load=kTRUE)
 Return list containing the TDataMembers of a class. More...
 
TListGetListOfEnums (Bool_t load=kTRUE)
 Return a list containing the TEnums of a class. More...
 
TListGetListOfFunctionTemplates (Bool_t load=kTRUE)
 Return list containing the TEnums of a class. More...
 
TCollectionGetListOfMethodOverloads (const char *name) const
 Return the collection of functions named "name". More...
 
TListGetListOfMethods (Bool_t load=kTRUE)
 Return list containing the TMethods of a class. More...
 
TListGetListOfRealData () const
 
void GetMenuItems (TList *listitems)
 Returns list of methods accessible by context menu. More...
 
TListGetMenuList () const
 Return the list of menu items associated with the class. More...
 
ROOT::MergeFunc_t GetMerge () const
 
TMethodGetMethod (const char *method, const char *params, Bool_t objectIsConst=kFALSE)
 Find the best method (if there is one) matching the parameters. More...
 
TMethodGetMethodAllAny (const char *method)
 Return pointer to method without looking at parameters. More...
 
TMethodGetMethodAny (const char *method)
 Return pointer to method without looking at parameters. More...
 
TMethodGetMethodWithPrototype (const char *method, const char *proto, Bool_t objectIsConst=kFALSE, ROOT::EFunctionMatchMode mode=ROOT::kConversionMatch)
 Find the method with a given prototype. More...
 
void GetMissingDictionaries (THashTable &result, bool recurse=false)
 Get the classes that have a missing dictionary starting from this one. More...
 
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(). More...
 
ROOT::NewFunc_t GetNew () const
 
ROOT::NewArrFunc_t GetNewArray () const
 
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(). More...
 
TClass *const * GetPersistentRef () const
 
TRealDataGetRealData (const char *name) const
 Return pointer to TRealData element with name "name". More...
 
TVirtualRefProxyGetReferenceProxy () const
 
ROOT::ResetAfterMergeFunc_t GetResetAfterMerge () const
 
const ROOT::Detail::TSchemaRuleSetGetSchemaRules () const
 Return the set of the schema rules if any. More...
 
ROOT::Detail::TSchemaRuleSetGetSchemaRules (Bool_t create=kFALSE)
 Return the set of the schema rules if any. More...
 
const char * GetSharedLibs ()
 Get the list of shared libraries containing the code for class cls. More...
 
ShowMembersFunc_t GetShowMembersWrapper () const
 
EState GetState () const
 
TClassStreamerGetStreamer () const
 Return the Streamer Class allowing streaming (if any). More...
 
ClassStreamerFunc_t GetStreamerFunc () const
 Get a wrapper/accessor function around this class custom streamer (member function). More...
 
TVirtualStreamerInfoGetStreamerInfo (Int_t version=0) const
 returns a pointer to the TVirtualStreamerInfo object for version If the object does not exist, it is created More...
 
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. More...
 
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. More...
 
Bool_t HasDataMemberInfo () const
 
Bool_t HasDefaultConstructor () const
 
Bool_t HasDictionary () const
 Check whether a class has a dictionary or not. More...
 
Bool_t HasInterpreterInfo () const
 
Bool_t HasInterpreterInfoInMemory () const
 
Bool_t HasLocalHashMember () const
 
void IgnoreTObjectStreamer (Bool_t ignore=kTRUE)
 When the class kIgnoreTObjectStreamer bit is set, the automatically generated Streamer will not call TObject::Streamer. More...
 
Bool_t InheritsFrom (const char *cl) const
 Return kTRUE if this class inherits from a class with name "classname". More...
 
Bool_t InheritsFrom (const TClass *cl) const
 Return kTRUE if this class inherits from class cl. More...
 
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. More...
 
Bool_t IsFolder () const
 Returns kTRUE in case object contains browsable objects (like containers or lists of other objects). More...
 
Bool_t IsFolder (void *obj) const
 Return kTRUE if the class has elements. More...
 
Bool_t IsForeign () const
 Return kTRUE is the class is Foreign (the class does not have a Streamer method). More...
 
Bool_t IsLoaded () const
 Return true if the shared library of this class is currently in the a process's memory. More...
 
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. More...
 
Bool_t IsTObject () const
 Return kTRUE is the class inherits from TObject. More...
 
Bool_t IsVersioned () const
 
void ls (Option_t *opt="") const
 The ls function lists the contents of a class on stdout. More...
 
void MakeCustomMenuList ()
 Makes a customizable version of the popup menu list, i.e. More...
 
Bool_t MatchLegacyCheckSum (UInt_t checksum) const
 Return true if the checksum passed as argument is one of the checksum value produced by the older checksum calculation algorithm. More...
 
void Move (void *arenaFrom, void *arenaTo) const
 Register the fact that an object was moved from the memory location 'arenaFrom' to the memory location 'arenaTo'. More...
 
voidNew (ENewType defConstructor=kClassNew, Bool_t quiet=kFALSE) const
 Return a pointer to a newly allocated object of this class. More...
 
voidNew (void *arena, ENewType defConstructor=kClassNew) const
 Return a pointer to a newly allocated object of this class. More...
 
voidNewArray (Long_t nElements, ENewType defConstructor=kClassNew) const
 Return a pointer to a newly allocated array of objects of this class. More...
 
voidNewArray (Long_t nElements, void *arena, ENewType defConstructor=kClassNew) const
 Return a pointer to a newly allocated object of this class. More...
 
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. More...
 
Long_t Property () const
 Set TObject::fBits and fStreamerType to cache information about the class. More...
 
Int_t ReadBuffer (TBuffer &b, void *pointer)
 Function called by the Streamer functions to deserialize information from buffer b into object at p. More...
 
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. More...
 
void RegisterStreamerInfo (TVirtualStreamerInfo *info)
 Register the StreamerInfo in the given slot, change the State of the TClass as appropriate. More...
 
void RemoveStreamerInfo (Int_t slot)
 Remove and delete the StreamerInfo in the given slot. More...
 
void ReplaceWith (TClass *newcl) const
 
void ResetCaches ()
 To clean out all caches. More...
 
void ResetClassInfo ()
 Make sure that the current ClassInfo is up to date. More...
 
void ResetClassInfo (Long_t tagnum)
 Make sure that the current ClassInfo is up to date. More...
 
void ResetInstanceCount ()
 
void ResetMenuList ()
 Resets the menu list to it's standard value. More...
 
void SetCanSplit (Int_t splitmode)
 Set the splitability of this class: More...
 
void SetCollectionProxy (const ROOT::Detail::TCollectionProxyInfo &)
 Create the collection proxy object (and the streamer object) from using the information in the TCollectionProxyInfo. More...
 
void SetContextMenuTitle (const char *title)
 Change (i.e. set) the title of the TNamed. More...
 
void SetConvStreamerFunc (ClassConvStreamerFunc_t strm)
 Set a wrapper/accessor function around this class custom conversion streamer. More...
 
void SetCurrentStreamerInfo (TVirtualStreamerInfo *info)
 Set pointer to current TVirtualStreamerInfo. More...
 
void SetDeclFile (const char *name, int line)
 
void SetDelete (ROOT::DelFunc_t deleteFunc)
 Install a new wrapper around 'delete'. More...
 
void SetDeleteArray (ROOT::DelArrFunc_t deleteArrayFunc)
 Install a new wrapper around 'delete []'. More...
 
void SetDestructor (ROOT::DesFunc_t destructorFunc)
 Install a new wrapper around the destructor. More...
 
void SetDirectoryAutoAdd (ROOT::DirAutoAdd_t dirAutoAddFunc)
 Install a new wrapper around the directory auto add function. More...
 
void SetGlobalIsA (IsAGlobalFunc_t)
 This function installs a global IsA function for this class. More...
 
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). More...
 
void SetMerge (ROOT::MergeFunc_t mergeFunc)
 Install a new wrapper around 'Merge'. More...
 
void SetNew (ROOT::NewFunc_t newFunc)
 Install a new wrapper around 'new'. More...
 
void SetNewArray (ROOT::NewArrFunc_t newArrayFunc)
 Install a new wrapper around 'new []'. More...
 
void SetResetAfterMerge (ROOT::ResetAfterMergeFunc_t resetFunc)
 Install a new wrapper around 'ResetAfterMerge'. More...
 
void SetStreamerFunc (ClassStreamerFunc_t strm)
 Set a wrapper/accessor function around this class custom streamer. More...
 
TVirtualStreamerInfoSetStreamerInfo (Int_t version, const char *info="")
 Info is a string describing the names and types of attributes written by the class Streamer function. More...
 
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. More...
 
Int_t Size () const
 Return size of object of this class. More...
 
void Store (TBuffer &b) const
 Store class description on I/O buffer. More...
 
void Streamer (void *obj, TBuffer &b, const TClass *onfile_class=0) const
 
Int_t WriteBuffer (TBuffer &b, void *pointer, const char *info="")
 Function called by the Streamer functions to serialize object at p to buffer b. More...
 
- Public Member Functions inherited from TDictionary
 TDictionary ()
 
 TDictionary (const char *name)
 
 TDictionary (const TDictionary &dict)
 
virtual ~TDictionary ()
 
void CreateAttributeMap ()
 
TDictAttributeMapGetAttributeMap () const
 
TDictionaryoperator= (const TDictionary &other)
 
virtual Long_t Property () const =0
 
- Public Member Functions inherited from TNamed
 TNamed ()
 
 TNamed (const char *name, const char *title)
 
 TNamed (const TNamed &named)
 TNamed copy ctor. More...
 
 TNamed (const TString &name, const TString &title)
 
virtual ~TNamed ()
 TNamed destructor. More...
 
virtual void Clear (Option_t *option="")
 Set name and title to empty strings (""). More...
 
virtual TObjectClone (const char *newname="") const
 Make a clone of an object using the Streamer facility. More...
 
virtual Int_t Compare (const TObject *obj) const
 Compare two TNamed objects. More...
 
virtual void Copy (TObject &named) const
 Copy this to obj. More...
 
virtual void FillBuffer (char *&buffer)
 Encode TNamed into output buffer. More...
 
virtual const char * GetName () const
 Returns name of object. More...
 
virtual const char * GetTitle () const
 Returns title of object. More...
 
virtual ULong_t Hash () const
 Return hash value for this object. More...
 
virtual Bool_t IsSortable () const
 
virtual void ls (Option_t *option="") const
 List TNamed name and title. More...
 
TNamedoperator= (const TNamed &rhs)
 TNamed assignment operator. More...
 
virtual void Print (Option_t *option="") const
 Print TNamed name and title. More...
 
virtual void SetName (const char *name)
 Set the name of the TNamed. More...
 
virtual void SetNameTitle (const char *name, const char *title)
 Set all the TNamed parameters (name and title). More...
 
virtual void SetTitle (const char *title="")
 Set the title of the TNamed. More...
 
virtual Int_t Sizeof () const
 Return size of the TNamed part of the TObject. More...
 
- Public Member Functions inherited from TObject
 TObject ()
 TObject constructor. More...
 
 TObject (const TObject &object)
 TObject copy ctor. More...
 
virtual ~TObject ()
 TObject destructor. More...
 
void AbstractMethod (const char *method) const
 Use this method to implement an "abstract" method that you don't want to leave purely abstract. More...
 
virtual void AppendPad (Option_t *option="")
 Append graphics object to current pad. More...
 
virtual void Browse (TBrowser *b)
 Browse object. May be overridden for another default action. More...
 
ULong_t CheckedHash ()
 Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object. More...
 
virtual const char * ClassName () const
 Returns name of class to which the object belongs. More...
 
virtual void Clear (Option_t *="")
 
virtual TObjectClone (const char *newname="") const
 Make a clone of an object using the Streamer facility. More...
 
virtual Int_t Compare (const TObject *obj) const
 Compare abstract method. More...
 
virtual void Copy (TObject &object) const
 Copy this to obj. More...
 
virtual void Delete (Option_t *option="")
 Delete this object. More...
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 Computes distance from point (px,py) to the object. More...
 
virtual void Draw (Option_t *option="")
 Default Draw method for all objects. More...
 
virtual void DrawClass () const
 Draw class inheritance tree of the class to which this object belongs. More...
 
virtual TObjectDrawClone (Option_t *option="") const
 Draw a clone of this object in the current selected pad for instance with: gROOT->SetSelectedPad(gPad). More...
 
virtual void Dump () const
 Dump contents of object on stdout. More...
 
virtual void Error (const char *method, const char *msgfmt,...) const
 Issue error message. More...
 
virtual void Execute (const char *method, const char *params, Int_t *error=0)
 Execute method on this object with the given parameter string, e.g. More...
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=0)
 Execute method on this object with parameters stored in the TObjArray. More...
 
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 Execute action corresponding to an event at (px,py). More...
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 Issue fatal error message. More...
 
virtual TObjectFindObject (const char *name) const
 Must be redefined in derived classes. More...
 
virtual TObjectFindObject (const TObject *obj) const
 Must be redefined in derived classes. More...
 
virtual Option_tGetDrawOption () const
 Get option used by the graphics system to draw this object. More...
 
virtual const char * GetIconName () const
 Returns mime type name of object. More...
 
virtual const char * GetName () const
 Returns name of object. More...
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 Returns string containing info about the object at position (px,py). More...
 
virtual Option_tGetOption () const
 
virtual const char * GetTitle () const
 Returns title of object. More...
 
virtual UInt_t GetUniqueID () const
 Return the unique object id. More...
 
virtual Bool_t HandleTimer (TTimer *timer)
 Execute action in response of a timer timing out. More...
 
virtual ULong_t Hash () const
 Return hash value for this object. More...
 
Bool_t HasInconsistentHash () const
 Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e. More...
 
virtual void Info (const char *method, const char *msgfmt,...) const
 Issue info message. More...
 
virtual Bool_t InheritsFrom (const char *classname) const
 Returns kTRUE if object inherits from class "classname". More...
 
virtual Bool_t InheritsFrom (const TClass *cl) const
 Returns kTRUE if object inherits from TClass cl. More...
 
virtual void Inspect () const
 Dump contents of this object in a graphics canvas. More...
 
void InvertBit (UInt_t f)
 
virtual Bool_t IsEqual (const TObject *obj) const
 Default equal comparison (objects are equal if they have the same address in memory). More...
 
virtual Bool_t IsFolder () const
 Returns kTRUE in case object contains browsable objects (like containers or lists of other objects). More...
 
R__ALWAYS_INLINE Bool_t IsOnHeap () const
 
virtual Bool_t IsSortable () const
 
R__ALWAYS_INLINE Bool_t IsZombie () const
 
virtual void ls (Option_t *option="") const
 The ls function lists the contents of a class on stdout. More...
 
void MayNotUse (const char *method) const
 Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary). More...
 
virtual Bool_t Notify ()
 This method must be overridden to handle object notification. More...
 
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 Use this method to declare a method obsolete. More...
 
void operator delete (void *ptr)
 Operator delete. More...
 
void operator delete[] (void *ptr)
 Operator delete []. More...
 
voidoperator new (size_t sz)
 
voidoperator new (size_t sz, void *vp)
 
voidoperator new[] (size_t sz)
 
voidoperator new[] (size_t sz, void *vp)
 
TObjectoperator= (const TObject &rhs)
 TObject assignment operator. More...
 
virtual void Paint (Option_t *option="")
 This method must be overridden if a class wants to paint itself. More...
 
virtual void Pop ()
 Pop on object drawn in a pad to the top of the display list. More...
 
virtual void Print (Option_t *option="") const
 This method must be overridden when a class wants to print itself. More...
 
virtual Int_t Read (const char *name)
 Read contents of object with specified name from the current directory. More...
 
virtual void RecursiveRemove (TObject *obj)
 Recursively remove this object from a list. More...
 
void ResetBit (UInt_t f)
 
virtual void SaveAs (const char *filename="", Option_t *option="") const
 Save this object in the file specified by filename. More...
 
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 Save a primitive as a C++ statement(s) on output stream "out". More...
 
void SetBit (UInt_t f)
 
void SetBit (UInt_t f, Bool_t set)
 Set or unset the user status bits as specified in f. More...
 
virtual void SetDrawOption (Option_t *option="")
 Set drawing option for object. More...
 
virtual void SetUniqueID (UInt_t uid)
 Set the unique object id. More...
 
virtual void SysError (const char *method, const char *msgfmt,...) const
 Issue system error message. More...
 
R__ALWAYS_INLINE Bool_t TestBit (UInt_t f) const
 
Int_t TestBits (UInt_t f) const
 
virtual void UseCurrentStyle ()
 Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked. More...
 
virtual void Warning (const char *method, const char *msgfmt,...) const
 Issue warning message. More...
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0)
 Write this object to the current directory. More...
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0) const
 Write this object to the current directory. More...
 

Static Public Member Functions

static void AddClass (TClass *cl)
 static: Add a class to the list and map of classes. More...
 
static void AddClassToDeclIdMap (TDictionary::DeclId_t id, TClass *cl)
 static: Add a TClass* to the map of classes. More...
 
static Bool_t AddRule (const char *rule)
 Add a schema evolution customization rule. More...
 
static Int_t AutoBrowse (TObject *obj, TBrowser *browser)
 Browse external object inherited from TObject. More...
 
static TClassGetClass (ClassInfo_t *info, Bool_t load=kTRUE, Bool_t silent=kFALSE)
 Static method returning pointer to TClass of the specified ClassInfo. More...
 
static TClassGetClass (const char *name, Bool_t load=kTRUE, Bool_t silent=kFALSE)
 Static method returning pointer to TClass of the specified class name. More...
 
static TClassGetClass (const std::type_info &typeinfo, Bool_t load=kTRUE, Bool_t silent=kFALSE)
 Return pointer to class with name. More...
 
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. More...
 
static DictFuncPtr_t GetDict (const std::type_info &info)
 Return a pointer to the dictionary loading function generated by rootcint. More...
 
static Bool_t HasDictionarySelection (const char *clname)
 Check whether a class has a dictionary or ROOT can load one. More...
 
static ENewType IsCallingNew ()
 Static method returning the defConstructor flag passed to TClass::New(). More...
 
static TClassLoad (TBuffer &b)
 Load class description from I/O buffer and return class object. More...
 
static TClassLoadClass (const char *requestedname, Bool_t silent)
 Helper function used by TClass::GetClass(). More...
 
static Int_t ReadRules ()
 Read the class.rules files from the default location:. More...
 
static Int_t ReadRules (const char *filename)
 Read a class.rules file which contains one rule per line with comment starting with a #. More...
 
static void RemoveClass (TClass *cl)
 static: Remove a class from the list and map of classes More...
 
static void RemoveClassDeclId (TDictionary::DeclId_t id)
 
- Static Public Member Functions inherited from TDictionary
static TDictionaryGetDictionary (const char *name)
 
static TDictionaryGetDictionary (const std::type_info &typeinfo)
 
- Static Public Member Functions inherited from TObject
static Long_t GetDtorOnly ()
 Return destructor only flag. More...
 
static Bool_t GetObjectStat ()
 Get status of object stat flag. More...
 
static void SetDtorOnly (void *obj)
 Set destructor only flag. More...
 
static void SetObjectStat (Bool_t stat)
 Turn on/off tracking of objects in the TObjectTable. More...
 

Protected Member Functions

TVirtualStreamerInfoFindStreamerInfo (TObjArray *arr, UInt_t checksum) const
 Find the TVirtualStreamerInfo in the StreamerInfos corresponding to checksum. More...
 
void GetMissingDictionariesForBaseClasses (TCollection &result, TCollection &visited, bool recurse)
 Verify the base classes always. More...
 
void GetMissingDictionariesForMembers (TCollection &result, TCollection &visited, bool recurse)
 Verify the Data Members. More...
 
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. More...
 
- Protected Member Functions inherited from TDictionary
Bool_t UpdateInterpreterStateMarker ()
 the Cling ID of the transaction that last updated the object More...
 
- Protected Member Functions inherited from TObject
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 Interface to ErrorHandler (protected). More...
 
void MakeZombie ()
 

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. More...
 
enum class  ERuntimeProperties : UChar_t { kNotInitialized = 0 , kSet = BIT(0) , kConsistentHash = BIT(1) }
 Indicates whether GetClassVersion has been called. More...
 
enum  EStreamerType {
  kDefault =0 , kEmulatedStreamer =1 , kTObject =2 , kInstrumented =4 ,
  kForeign =8 , kExternal =16
}
 
typedef void(* StreamerImpl_t) (const TClass *pThis, void *obj, TBuffer &b, const TClass *onfile_class)
 Schema evolution rules. More...
 

Private Member Functions

 TClass (const TClass &tc)=delete
 
Bool_t CanSplitBaseAllow ()
 Pointer to the function implementing streaming for this class. More...
 
TVirtualStreamerInfoDetermineCurrentStreamerInfo ()
 Determine and set pointer to current TVirtualStreamerInfo. More...
 
TMethodFindClassOrBaseMethodWithId (DeclId_t faddr)
 Find a method with decl id in this class or its bases. More...
 
void ForceReload (TClass *oldcl)
 we found at least one equivalent. More...
 
Int_t GetBaseClassOffsetRecurse (const TClass *toBase)
 Return data member offset to the base class "cl". More...
 
TMethodGetClassMethod (Long_t faddr)
 Look for a method in this class that has the interface function address faddr. More...
 
TListOfFunctionsGetMethodList ()
 Return (create an empty one if needed) the list of functions. More...
 
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. More...
 
void LoadClassInfo () const
 Try to load the ClassInfo if available. More...
 
TClassoperator= (const TClass &)=delete
 
void SetClassSize (Int_t sizof)
 
void SetClassVersion (Version_t version)
 Private function. More...
 
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. More...
 
void SetStreamerImpl ()
 Internal routine to set fStreamerImpl based on the value of fStreamerType. More...
 

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. More...
 
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(). More...
 
static TClassLoadClassDefault (const char *requestedname, Bool_t silent)
 Helper function used by TClass::GetClass(). More...
 
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. More...
 
static void StreamerExternal (const TClass *pThis, void *object, TBuffer &b, const TClass *onfile_class)
 There is special streamer for the class. More...
 
static void StreamerInstrumented (const TClass *pThis, void *object, TBuffer &b, const TClass *onfile_class)
 Case of instrumented class with a library. More...
 
static void StreamerStreamerInfo (const TClass *pThis, void *object, TBuffer &b, const TClass *onfile_class)
 Case of where we should directly use the StreamerInfo. More...
 
static void StreamerTObject (const TClass *pThis, void *object, TBuffer &b, const TClass *onfile_class)
 Case of TObjects. More...
 
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. More...
 
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. More...
 

Private Attributes

TViewPubDataMembersfAllPubData
 
TViewPubFunctionsfAllPubMethod
 
std::atomic< TList * > fBase
 
std::atomic< Bool_tfCanLoadClassInfo
 Whether info was loaded from a root pcm. More...
 
Int_t fCanSplit
 
std::atomic< UInt_tfCheckSum
 
ClassInfo_t * fClassInfo
 
TListfClassMenuList
 
Long_t fClassProperty
 Property. More...
 
Version_t fClassVersion
 
TVirtualCollectionProxyfCollectionProxy
 
TString fContextMenuTitle
 
ConvSIMap_t fConversionStreamerInfo
 
ClassConvStreamerFunc_t fConvStreamerFunc
 
std::atomic< TVirtualStreamerInfo * > fCurrentInfo
 Current 'state' of the class (Emulated,Interpreted,Loaded) More...
 
TListOfDataMembersfData
 
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. More...
 
std::atomic< Bool_tfHasRootPcmInfo
 C++ Property of the class (is abstract, has virtual table, etc.) More...
 
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. More...
 
std::atomic< TVirtualStreamerInfo * > fLastReadInfo
 cached current streamer info. More...
 
ROOT::MergeFunc_t fMerge
 saved info to call a IsA member function More...
 
std::atomic< TListOfFunctions * > fMethod
 
ROOT::NewFunc_t fNew
 
ROOT::NewArrFunc_t fNewArray
 
Long_t fOffsetStreamer
 Properties that can only be evaluated at run-time. More...
 
UInt_t fOnHeap
 
std::atomic< TClass ** > fPersistentRef
 
std::atomic< Long_tfProperty
 Indicates whether this class can be split or not. More...
 
TListfRealData
 
TVirtualRefProxyfRefProxy
 cached streamer info used in the last read. More...
 
ROOT::ResetAfterMergeFunc_t fResetAfterMerge
 
std::atomic< UChar_tfRuntimeProperties
 
ROOT::Detail::TSchemaRuleSetfSchemaRules
 Pointer to reference proxy if this class represents a reference. More...
 
TString fSharedLibs
 
ShowMembersFunc_t fShowMembers
 
Int_t fSizeof
 
EState fState
 cached of the streaming method to use More...
 
TClassStreamerfStreamer
 
ClassStreamerFunc_t fStreamerFunc
 
std::atomic< StreamerImpl_tfStreamerImpl
 
TObjArrayfStreamerInfo
 
Int_t fStreamerType
 saved info to call Streamer More...
 
const std::type_info * fTypeInfo
 
std::atomic< Bool_tfVersionUsed
 saved remember if fOffsetStreamer has been set. More...
 

Static Private Attributes

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

Additional Inherited Members

- 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 171 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 248 of file TClass.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
private
Enumerator
kLoading 
kUnloading 

Definition at line 298 of file TClass.h.

◆ ECheckSum

Enumerator
kCurrentCheckSum 
kNoEnum 
kReflexNoComment 
kNoRange 
kWithTypeDef 
kReflex 
kNoRangeCheck 
kNoBaseCheckSum 
kLatestCheckSum 

Definition at line 102 of file TClass.h.

◆ ENewType

Enumerator
kRealNew 
kClassNew 
kDummyNew 

Definition at line 101 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 229 of file TClass.h.

◆ EState

Enumerator
kNoInfo 
kForwardDeclared 
kEmulated 
kInterpreted 
kHasTClassInit 
kLoaded 
kNamespaceForMeta 

Definition at line 115 of file TClass.h.

◆ EStatusBits

Enumerator
kReservedLoading 
kClassSaved 
kHasLocalHashMember 
kIgnoreTObjectStreamer 
kUnloaded 
kIsTObject 
kIsForeign 
kIsEmulation 
kStartWithTObject 
kWarned 
kHasNameMapNode 
kHasCustomStreamerMember 

Definition at line 85 of file TClass.h.

◆ EStreamerType

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

Definition at line 300 of file TClass.h.

Constructor & Destructor Documentation

◆ TClass() [1/8]

TClass::TClass ( const TClass tc)
privatedelete

◆ TClass() [2/8]

TClass::TClass ( )

Definition at line 1013 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. Most useful to get a TClass interface to an interpreted class. Used by TTabCom. Normally you would use TClass::GetClass("class") to get access to a TClass object for a certain class.

Definition at line 1051 of file TClass.cxx.

◆ TClass() [4/8]

TClass::TClass ( const char *  name,
Version_t  cversion,
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.

Definition at line 1098 of file TClass.cxx.

◆ TClass() [5/8]

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

Create a TClass object.

This object does not contain anything. We mimic the case of a class fwd declared in the interpreter.

Definition at line 1125 of file TClass.cxx.

◆ TClass() [6/8]

TClass::TClass ( ClassInfo_t *  classInfo,
Version_t  cversion,
const char *  dfil,
const char *  ifil = 0,
Int_t  dl = 0,
Int_t  il = 0,
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. Most useful to get a TClass interface to an interpreted class. Used by TTabCom. Normally you would use TClass::GetClass("class") to get access to a TClass object for a certain class.

This copies the ClassInfo (i.e. does not take ownership of it).

Definition at line 1168 of file TClass.cxx.

◆ TClass() [7/8]

TClass::TClass ( const char *  name,
Version_t  cversion,
const char *  dfil,
const char *  ifil = 0,
Int_t  dl = 0,
Int_t  il = 0,
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.

Definition at line 1218 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 
)

Create a TClass object.

This object contains the full dictionary of a class. It has list to baseclasses, datamembers and methods.

Definition at line 1246 of file TClass.cxx.

◆ ~TClass()

TClass::~TClass ( )
virtual

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

Definition at line 1573 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 444 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 461 of file TClass.cxx.

◆ AddImplFile()

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

Definition at line 1861 of file TClass.cxx.

◆ AddInstance()

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

Definition at line 353 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={...}]
int type
Definition: TGX11.cxx:120
virtual Int_t Read(const char *name)
Read contents of object with specified name from the current directory.
Definition: TObject.cxx:562

or the long form

[type=Read] sourceClass=classname [targetclass=newClassname] [ source="type membername; [type2 membername2]" ]
[target="membername3;membername4"] [attributes=... ] [version=...] [checksum=...] [code={...}|functionname]

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 1799 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 6415 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 6397 of file TClass.cxx.

◆ AdoptSchemaRules()

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

Adopt a new set of Data Model Evolution rules.

Definition at line 1829 of file TClass.cxx.

◆ AdoptStreamer()

void TClass::AdoptStreamer ( TClassStreamer str)

Adopt a TClassStreamer object.

Ownership is transfered to this TClass object.

Definition at line 6603 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 1875 of file TClass.cxx.

◆ Browse() [1/2]

void TClass::Browse ( TBrowser b)
virtual

This method is called by a browser to get the class information.

Reimplemented from TObject.

Definition at line 1919 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 1887 of file TClass.cxx.

◆ BuildEmulatedRealData()

void TClass::BuildEmulatedRealData ( const char *  name,
Long_t  offset,
TClass cl 
)

Build the list of real data for an emulated class.

Definition at line 2021 of file TClass.cxx.

◆ BuildRealData()

void TClass::BuildRealData ( void pointer = 0,
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 1940 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 2092 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 2114 of file TClass.cxx.

◆ CanIgnoreTObjectStreamer()

Bool_t TClass::CanIgnoreTObjectStreamer ( )
inline

Definition at line 365 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 2229 of file TClass.cxx.

◆ CanSplitBaseAllow()

Bool_t TClass::CanSplitBaseAllow ( )
private

Pointer to the function implementing streaming for this class.

Definition at line 2156 of file TClass.cxx.

◆ 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 2314 of file TClass.cxx.

◆ Clone()

TObject * TClass::Clone ( const char *  new_name = "") const
virtual

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

Definition at line 2324 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 6554 of file TClass.cxx.

◆ CopyCollectionProxy()

void TClass::CopyCollectionProxy ( const TVirtualCollectionProxy orig)

Copy the argument.

Definition at line 2387 of file TClass.cxx.

◆ DeleteArray()

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

Explicitly call operator delete[] for an array.

Definition at line 5298 of file TClass.cxx.

◆ Destructor()

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

Explicitly call destructor for object.

Definition at line 5181 of file TClass.cxx.

◆ DetermineCurrentStreamerInfo()

TVirtualStreamerInfo * TClass::DetermineCurrentStreamerInfo ( )
private

Determine and set pointer to current TVirtualStreamerInfo.

Definition at line 5446 of file TClass.cxx.

◆ Draw()

void TClass::Draw ( Option_t option = "")
virtual

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

◆ Dump() [1/2]

void TClass::Dump ( ) const
inlinevirtual

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
include TDocParser_001 C image html pict1_TDocParser_001 png width
Definition: TDocParser.cxx:121
Int_t Size() const
Return size of object of this class.
Definition: TClass.cxx:5466
TListOfDataMembers * fData
Definition: TClass.h:177
UInt_t fUniqueID
object unique identifier
Definition: TObject.h:40
UInt_t fBits
bit field status word
Definition: TObject.h:41
TLine * line
fill
Definition: fit1_py.py:6
TCanvas * style()
Definition: style.C:1

Reimplemented from TObject.

Definition at line 370 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 2453 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 4783 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 4761 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 2486 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 4293 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 6890 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 6901 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 6773 of file TClass.cxx.

◆ FindStreamerInfo() [2/2]

TVirtualStreamerInfo * TClass::FindStreamerInfo ( UInt_t  checksum) const

Find the TVirtualStreamerInfo in the StreamerInfos corresponding to checksum.

Definition at line 6745 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 4618 of file TClass.cxx.

◆ ForceReload()

void TClass::ForceReload ( TClass oldcl)
private

we found at least one equivalent.

let's force a reload

Definition at line 1278 of file TClass.cxx.

◆ GetActualClass()

TClass * TClass::GetActualClass ( const void object) const

Return a pointer the 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:37

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!!!
void Class()
Definition: Class.C:29

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 2525 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 2572 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 2591 of file TClass.cxx.

◆ GetBaseClassOffset()

Int_t TClass::GetBaseClassOffset ( const TClass toBase,
void address = 0,
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 2708 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 2622 of file TClass.cxx.

◆ GetBaseDataMember()

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

Return pointer to (base) class that contains datamember.

Definition at line 2744 of file TClass.cxx.

◆ GetCheckSum() [1/3]

UInt_t TClass::GetCheckSum ( Bool_t isvalid) const

Return GetCheckSum(kCurrentCheckSum,isvalid);.

Definition at line 6226 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 6256 of file TClass.cxx.

◆ GetCheckSum() [3/3]

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

Call GetCheckSum with validity check.

Definition at line 6217 of file TClass.cxx.

◆ GetClass() [1/4]

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

◆ GetClass() [2/4]

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

◆ GetClass() [3/4]

TClass * TClass::GetClass ( const std::type_info &  typeinfo,
Bool_t  load = kTRUE,
Bool_t  silent = kFALSE 
)
static

Return pointer to class with name.

Definition at line 3103 of file TClass.cxx.

◆ GetClass() [4/4]

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

Definition at line 3243 of file TClass.cxx.

◆ GetClassInfo()

ClassInfo_t * TClass::GetClassInfo ( ) const
inline

Definition at line 404 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 4355 of file TClass.cxx.

◆ GetClassMethod() [2/2]

TMethod * TClass::GetClassMethod ( Long_t  faddr)
private

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

Definition at line 4336 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 4380 of file TClass.cxx.

◆ GetClassSize()

Int_t TClass::GetClassSize ( ) const
inline

Definition at line 396 of file TClass.h.

◆ GetClassVersion()

Version_t TClass::GetClassVersion ( ) const
inline

Definition at line 391 of file TClass.h.

◆ GetCollectionProxy()

TVirtualCollectionProxy * TClass::GetCollectionProxy ( ) const

Return the proxy describing the collection (if any).

Definition at line 2814 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 2803 of file TClass.cxx.

◆ GetContextMenuTitle()

const char * TClass::GetContextMenuTitle ( ) const
inline

Definition at line 409 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 6793 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 6804 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 2864 of file TClass.cxx.

◆ GetCurrentStreamerInfo()

TVirtualStreamerInfo * TClass::GetCurrentStreamerInfo ( )
inline

Definition at line 410 of file TClass.h.

◆ GetDataMember()

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

Return pointer to datamember object with name "datamember".

Definition at line 3278 of file TClass.cxx.

◆ GetDataMemberOffset()

Long_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 3306 of file TClass.cxx.

◆ GetDeclFileLine()

Short_t TClass::GetDeclFileLine ( ) const
inline

Definition at line 400 of file TClass.h.

◆ GetDeclFileName()

const char * TClass::GetDeclFileName ( ) const
inline

Definition at line 399 of file TClass.h.

◆ GetDeclIdMap()

DeclIdMap_t * TClass::GetDeclIdMap ( )
staticprivate

Definition at line 430 of file TClass.cxx.

◆ GetDelete()

ROOT::DelFunc_t TClass::GetDelete ( ) const

◆ GetDeleteArray()

ROOT::DelArrFunc_t TClass::GetDeleteArray ( ) const

◆ GetDestructor()

ROOT::DesFunc_t TClass::GetDestructor ( ) const

◆ 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 3261 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 3270 of file TClass.cxx.

◆ GetDirectoryAutoAdd()

ROOT::DirAutoAdd_t TClass::GetDirectoryAutoAdd ( ) const

◆ GetFunctionTemplate()

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

Definition at line 3476 of file TClass.cxx.

◆ GetHeapInstanceCount()

UInt_t TClass::GetHeapInstanceCount ( ) const
inline

Definition at line 437 of file TClass.h.

◆ GetIdMap()

IdMap_t * TClass::GetIdMap ( )
staticprivate

Definition at line 419 of file TClass.cxx.

◆ GetImplFileLine()

Short_t TClass::GetImplFileLine ( ) const
inline

Definition at line 427 of file TClass.h.

◆ GetImplFileName()

const char * TClass::GetImplFileName ( ) const
inline

Definition at line 426 of file TClass.h.

◆ GetInstanceCount()

UInt_t TClass::GetInstanceCount ( ) const
inline

Definition at line 436 of file TClass.h.

◆ GetIsAProxy()

TVirtualIsAProxy * TClass::GetIsAProxy ( ) const

Return the proxy implementing the IsA functionality.

Definition at line 2872 of file TClass.cxx.

◆ GetLastReadInfo()

TVirtualStreamerInfo * TClass::GetLastReadInfo ( ) const
inline

Definition at line 415 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 3714 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 3697 of file TClass.cxx.

◆ GetListOfBases()

TList * TClass::GetListOfBases ( )

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

Definition at line 3505 of file TClass.cxx.

◆ GetListOfDataMembers()

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

Return list containing the TDataMembers of a class.

Definition at line 3615 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 3559 of file TClass.cxx.

◆ GetListOfFunctionTemplates()

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

Return list containing the TEnums of a class.

Definition at line 3650 of file TClass.cxx.

◆ GetListOfMethodOverloads()

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

Return the collection of functions named "name".

Definition at line 3679 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 3664 of file TClass.cxx.

◆ GetListOfRealData()

TList * TClass::GetListOfRealData ( ) const
inline

Definition at line 423 of file TClass.h.

◆ GetMenuItems()

void TClass::GetMenuItems ( TList listitems)

Returns list of methods accessible by context menu.

Definition at line 3726 of file TClass.cxx.

◆ GetMenuList()

TList * TClass::GetMenuList ( ) const

Return the list of menu items associated with the class.

Definition at line 4194 of file TClass.cxx.

◆ GetMerge()

ROOT::MergeFunc_t TClass::GetMerge ( ) const

◆ 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 4264 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 4237 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 4227 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 4208 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 4309 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 3939 of file TClass.cxx.

◆ GetMissingDictionariesForBaseClasses()

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

Verify the base classes always.

Definition at line 3779 of file TClass.cxx.

◆ GetMissingDictionariesForMembers()

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

Verify the Data Members.

Definition at line 3796 of file TClass.cxx.

◆ GetMissingDictionariesForPairElements()

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

Definition at line 3825 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 3842 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 4407 of file TClass.cxx.

◆ GetNew()

ROOT::NewFunc_t TClass::GetNew ( ) const

◆ GetNewArray()

ROOT::NewArrFunc_t TClass::GetNewArray ( ) const

◆ 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 4426 of file TClass.cxx.

◆ GetPersistentRef()

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

Definition at line 451 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 3332 of file TClass.cxx.

◆ GetReferenceProxy()

TVirtualRefProxy * TClass::GetReferenceProxy ( ) const
inline

Definition at line 453 of file TClass.h.

◆ GetResetAfterMerge()

ROOT::ResetAfterMergeFunc_t TClass::GetResetAfterMerge ( ) const

◆ GetSchemaRules() [1/2]

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

Return the set of the schema rules if any.

Definition at line 1841 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 1850 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 3492 of file TClass.cxx.

◆ GetShowMembersWrapper()

ShowMembersFunc_t TClass::GetShowMembersWrapper ( ) const
inline

Definition at line 457 of file TClass.h.

◆ GetState()

EState TClass::GetState ( ) const
inline

Definition at line 458 of file TClass.h.

◆ GetStreamer()

TClassStreamer * TClass::GetStreamer ( ) const

Return the Streamer Class allowing streaming (if any).

Definition at line 2831 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 2856 of file TClass.cxx.

◆ GetStreamerInfo()

TVirtualStreamerInfo * TClass::GetStreamerInfo ( Int_t  version = 0) 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 4452 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 4555 of file TClass.cxx.

◆ GetStreamerInfos()

const TObjArray * TClass::GetStreamerInfos ( ) const
inline

Definition at line 462 of file TClass.h.

◆ GetTypeInfo()

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

Definition at line 466 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 471 of file TClass.h.

◆ HasDataMemberInfo()

Bool_t TClass::HasDataMemberInfo ( ) const
inline

Definition at line 378 of file TClass.h.

◆ HasDefaultConstructor()

Bool_t TClass::HasDefaultConstructor ( ) const

◆ 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 3758 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 3769 of file TClass.cxx.

◆ HasInterpreterInfo()

Bool_t TClass::HasInterpreterInfo ( ) const
inline

Definition at line 381 of file TClass.h.

◆ HasInterpreterInfoInMemory()

Bool_t TClass::HasInterpreterInfoInMemory ( ) const
inline

Definition at line 380 of file TClass.h.

◆ HasLocalHashMember()

Bool_t TClass::HasLocalHashMember ( ) const

◆ HasNoInfoOrEmuOrFwdDeclaredDecl()

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

Definition at line 3237 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:

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

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

◆ InheritsFrom() [1/2]

Bool_t TClass::InheritsFrom ( const char *  classname) const
virtual

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

◆ InheritsFrom() [2/2]

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

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 4731 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 1303 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 2151 of file TClass.cxx.

◆ IsCallingNew()

TClass::ENewType TClass::IsCallingNew ( )
static

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

New type is either:

Definition at line 5664 of file TClass.cxx.

◆ IsFolder() [1/2]

Bool_t TClass::IsFolder ( ) const
inlinevirtual

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

Reimplemented from TObject.

Definition at line 485 of file TClass.h.

◆ IsFolder() [2/2]

Bool_t TClass::IsFolder ( void obj) const

Return kTRUE if the class has elements.

Definition at line 3982 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 5709 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 5674 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;
typedef void((*Func_t)())

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

Definition at line 5691 of file TClass.cxx.

◆ IsTObject()

Bool_t TClass::IsTObject ( ) const

Return kTRUE is the class inherits from TObject.

Definition at line 5700 of file TClass.cxx.

◆ IsVersioned()

Bool_t TClass::IsVersioned ( ) const
inline

Definition at line 489 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 5477 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 5511 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 5563 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 5533 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 5586 of file TClass.cxx.

◆ ls()

void TClass::ls ( Option_t options = "") const
virtual

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

Definition at line 4111 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 4136 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 6206 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 4180 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 4824 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 4919 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 5006 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 5092 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 5719 of file TClass.cxx.

◆ Property()

Long_t TClass::Property ( ) const
virtual

Set TObject::fBits and fStreamerType to cache information about the class.

The bits 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
void Streamer(void *obj, TBuffer &b, const TClass *onfile_class=0) const
Definition: TClass.h:566
@ kStartWithTObject
Definition: TClass.h:96
@ kIsTObject
Definition: TClass.h:93
@ kIsForeign
Definition: TClass.h:94
Definition: tree.py:1
auto * a
Definition: textangle.C:12

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:300
@ kExternal
Definition: TClass.h:300
@ kForeign
Definition: TClass.h:300
@ kInstrumented
Definition: TClass.h:300
@ kTObject
Definition: TClass.h:300

Implements TDictionary.

Definition at line 5800 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 6476 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 6467 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 1729 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 1753 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 6986 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 470 of file TClass.cxx.

◆ RemoveClassDeclId()

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

Definition at line 486 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 7010 of file TClass.cxx.

◆ ReplaceWith()

void TClass::ReplaceWith ( TClass newcl) const

Definition at line 3989 of file TClass.cxx.

◆ ResetCaches()

void TClass::ResetCaches ( )

To clean out all caches.

Definition at line 4070 of file TClass.cxx.

◆ ResetClassInfo() [1/2]

void TClass::ResetClassInfo ( )

Make sure that the current ClassInfo is up to date.

Definition at line 4035 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 4027 of file TClass.cxx.

◆ ResetInstanceCount()

void TClass::ResetInstanceCount ( )
inline

Definition at line 510 of file TClass.h.

◆ ResetMenuList()

void TClass::ResetMenuList ( )

Resets the menu list to it's standard value.

Definition at line 4096 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 5420 of file TClass.cxx.

◆ SetClassSize()

void TClass::SetClassSize ( Int_t  sizof)
inlineprivate

Definition at line 273 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 5437 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 5958 of file TClass.cxx.

◆ SetContextMenuTitle()

void TClass::SetContextMenuTitle ( const char *  title)

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

Definition at line 5983 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 6654 of file TClass.cxx.

◆ SetCurrentStreamerInfo()

void TClass::SetCurrentStreamerInfo ( TVirtualStreamerInfo info)

Set pointer to current TVirtualStreamerInfo.

Definition at line 5458 of file TClass.cxx.

◆ SetDeclFile()

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

Definition at line 518 of file TClass.h.

◆ SetDelete()

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

Install a new wrapper around 'delete'.

Definition at line 6710 of file TClass.cxx.

◆ SetDeleteArray()

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

Install a new wrapper around 'delete []'.

Definition at line 6718 of file TClass.cxx.

◆ SetDestructor()

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

Install a new wrapper around the destructor.

Definition at line 6726 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 6737 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);
The ROOT global object gROOT contains a list of all defined classes.
Definition: TClass.h:75

'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
auto * 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 6014 of file TClass.cxx.

◆ SetImplFileName()

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

Definition at line 523 of file TClass.h.

◆ SetLastReadInfo()

void TClass::SetLastReadInfo ( TVirtualStreamerInfo info)
inline

Definition at line 416 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 6453 of file TClass.cxx.

◆ SetMerge()

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

Install a new wrapper around 'Merge'.

Definition at line 6678 of file TClass.cxx.

◆ SetNew()

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

Install a new wrapper around 'new'.

Definition at line 6694 of file TClass.cxx.

◆ SetNewArray()

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

Install a new wrapper around 'new []'.

Definition at line 6702 of file TClass.cxx.

◆ SetResetAfterMerge()

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

Install a new wrapper around 'ResetAfterMerge'.

Definition at line 6686 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 5908 of file TClass.cxx.

◆ SetStreamerFunc()

void TClass::SetStreamerFunc ( ClassStreamerFunc_t  strm)

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

Definition at line 6631 of file TClass.cxx.

◆ SetStreamerImpl()

void TClass::SetStreamerImpl ( )
private

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

Definition at line 5929 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 6085 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 6023 of file TClass.cxx.

◆ Size()

Int_t TClass::Size ( ) const

Return size of object of this class.

Definition at line 5466 of file TClass.cxx.

◆ Store()

void TClass::Store ( TBuffer b) const

Store class description on I/O buffer.

Definition at line 5622 of file TClass.cxx.

◆ Streamer()

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

Definition at line 566 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 6582 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 6497 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 6545 of file TClass.cxx.

◆ 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 6567 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 6509 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 6532 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 6523 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 6488 of file TClass.cxx.

Friends And Related Function Documentation

◆ operator&

bool operator& ( UChar_t  l,
ERuntimeProperties  r 
)
friend

Definition at line 235 of file TClass.h.

◆ ROOT::Internal::TCheckHashRecursiveRemoveConsistency

Definition at line 81 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 79 of file TClass.h.

◆ TCling

friend class TCling
friend

Definition at line 77 of file TClass.h.

◆ TProtoClass

friend class TProtoClass
friend

Definition at line 80 of file TClass.h.

Member Data Documentation

◆ fAllPubData

TViewPubDataMembers* TClass::fAllPubData
private

Definition at line 183 of file TClass.h.

◆ fAllPubMethod

TViewPubFunctions* TClass::fAllPubMethod
private

Definition at line 184 of file TClass.h.

◆ fBase

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

Definition at line 176 of file TClass.h.

◆ fCanLoadClassInfo

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

Whether info was loaded from a root pcm.

Definition at line 225 of file TClass.h.

◆ fCanSplit

Int_t TClass::fCanSplit
private

Definition at line 219 of file TClass.h.

◆ fCheckSum

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

Definition at line 193 of file TClass.h.

◆ fClassInfo

ClassInfo_t* TClass::fClassInfo
private

Definition at line 196 of file TClass.h.

◆ fClassMenuList

TList* TClass::fClassMenuList
mutableprivate

Definition at line 185 of file TClass.h.

◆ fClassProperty

Long_t TClass::fClassProperty
mutableprivate

Property.

Definition at line 221 of file TClass.h.

◆ fClassVersion

Version_t TClass::fClassVersion
private

Definition at line 195 of file TClass.h.

◆ fCollectionProxy

TVirtualCollectionProxy* TClass::fCollectionProxy
private

Definition at line 194 of file TClass.h.

◆ fContextMenuTitle

TString TClass::fContextMenuTitle
private

Definition at line 197 of file TClass.h.

◆ fConversionStreamerInfo

ConvSIMap_t TClass::fConversionStreamerInfo
mutableprivate

Definition at line 174 of file TClass.h.

◆ fConvStreamerFunc

ClassConvStreamerFunc_t TClass::fConvStreamerFunc
private

Definition at line 216 of file TClass.h.

◆ fCurrentInfo

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

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

Definition at line 243 of file TClass.h.

◆ fData

TListOfDataMembers* TClass::fData
private

Definition at line 177 of file TClass.h.

◆ fDeclFileLine

Short_t TClass::fDeclFileLine
private

Definition at line 189 of file TClass.h.

◆ fDeclFileName

const char* TClass::fDeclFileName
private

Definition at line 187 of file TClass.h.

◆ fDelete

ROOT::DelFunc_t TClass::fDelete
private

Definition at line 211 of file TClass.h.

◆ fDeleteArray

ROOT::DelArrFunc_t TClass::fDeleteArray
private

Definition at line 212 of file TClass.h.

◆ fDestructor

ROOT::DesFunc_t TClass::fDestructor
private

Definition at line 213 of file TClass.h.

◆ fDirAutoAdd

ROOT::DirAutoAdd_t TClass::fDirAutoAdd
private

Definition at line 214 of file TClass.h.

◆ fEnums

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

Definition at line 179 of file TClass.h.

◆ fFuncTemplate

TListOfFunctionTemplates* TClass::fFuncTemplate
private

Definition at line 180 of file TClass.h.

◆ fgClassCount

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

Definition at line 292 of file TClass.h.

◆ fgClassTypedefHash

THashTable * TClass::fgClassTypedefHash = 0
staticprivate

Definition at line 323 of file TClass.h.

◆ fGlobalIsA

IsAGlobalFunc_t TClass::fGlobalIsA
private

pointer to the class's IsA proxy.

Definition at line 204 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 224 of file TClass.h.

◆ fImplFileLine

Short_t TClass::fImplFileLine
private

Definition at line 190 of file TClass.h.

◆ fImplFileName

const char* TClass::fImplFileName
private

Definition at line 188 of file TClass.h.

◆ fInstanceCount

UInt_t TClass::fInstanceCount
private

Definition at line 191 of file TClass.h.

◆ fIsA

TVirtualIsAProxy* TClass::fIsA
private

Definition at line 203 of file TClass.h.

◆ fIsAMethod

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

Definition at line 205 of file TClass.h.

◆ fIsOffsetStreamerSet

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

Indicates whether the ClassInfo is supposed to be available.

Definition at line 226 of file TClass.h.

◆ fLastReadInfo

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

cached current streamer info.

Definition at line 244 of file TClass.h.

◆ fMerge

ROOT::MergeFunc_t TClass::fMerge
private

saved info to call a IsA member function

Definition at line 207 of file TClass.h.

◆ fMethod

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

Definition at line 181 of file TClass.h.

◆ fNew

ROOT::NewFunc_t TClass::fNew
private

Definition at line 209 of file TClass.h.

◆ fNewArray

ROOT::NewArrFunc_t TClass::fNewArray
private

Definition at line 210 of file TClass.h.

◆ fNoInfoOrEmuOrFwdDeclNameRegistry

TClass::TDeclNameRegistry TClass::fNoInfoOrEmuOrFwdDeclNameRegistry
staticprivate

Definition at line 294 of file TClass.h.

◆ fOffsetStreamer

Long_t TClass::fOffsetStreamer
mutableprivate

Properties that can only be evaluated at run-time.

Definition at line 240 of file TClass.h.

◆ fOnHeap

UInt_t TClass::fOnHeap
private

Definition at line 192 of file TClass.h.

◆ fPersistentRef

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

Definition at line 169 of file TClass.h.

◆ fProperty

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

Indicates whether this class can be split or not.

Definition at line 220 of file TClass.h.

◆ fRealData

TList* TClass::fRealData
private

Definition at line 175 of file TClass.h.

◆ fRefProxy

TVirtualRefProxy* TClass::fRefProxy
private

cached streamer info used in the last read.

Definition at line 245 of file TClass.h.

◆ fResetAfterMerge

ROOT::ResetAfterMergeFunc_t TClass::fResetAfterMerge
private

Definition at line 208 of file TClass.h.

◆ fRuntimeProperties

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

Definition at line 238 of file TClass.h.

◆ fSchemaRules

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

Pointer to reference proxy if this class represents a reference.

Definition at line 246 of file TClass.h.

◆ fSharedLibs

TString TClass::fSharedLibs
private

Definition at line 201 of file TClass.h.

◆ fShowMembers

ShowMembersFunc_t TClass::fShowMembers
private

Definition at line 199 of file TClass.h.

◆ fSizeof

Int_t TClass::fSizeof
private

Definition at line 217 of file TClass.h.

◆ fState

EState TClass::fState
private

cached of the streaming method to use

Definition at line 242 of file TClass.h.

◆ fStreamer

TClassStreamer* TClass::fStreamer
private

Definition at line 200 of file TClass.h.

◆ fStreamerFunc

ClassStreamerFunc_t TClass::fStreamerFunc
private

Definition at line 215 of file TClass.h.

◆ fStreamerImpl

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

Definition at line 252 of file TClass.h.

◆ fStreamerInfo

TObjArray* TClass::fStreamerInfo
mutableprivate

Definition at line 173 of file TClass.h.

◆ fStreamerType

Int_t TClass::fStreamerType
private

saved info to call Streamer

Definition at line 241 of file TClass.h.

◆ fTypeInfo

const std::type_info* TClass::fTypeInfo
private

Definition at line 198 of file TClass.h.

◆ fVersionUsed

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

saved remember if fOffsetStreamer has been set.

Definition at line 227 of file TClass.h.

Libraries for TClass:
[legend]

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