ROOT  6.06/09
Reference Guide
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 81 of file TClass.h.

Classes

class  InsertTClassInRegistryRAII
 
class  TDeclNameRegistry
 
class  TNameMapNode
 
class  TSpinLockGuard
 

Public Types

enum  {
  kClassSaved = BIT(12), 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)
}
 
enum  ENewType { kRealNew = 0, kClassNew, kDummyNew }
 
enum  ECheckSum {
  kCurrentCheckSum = 0, kNoEnum = 1, kReflexNoComment = 2, kNoRange = 3,
  kWithTypeDef = 4, kReflex = 5, kNoRangeCheck = 6, kNoBaseCheckSum = 7,
  kLatestCheckSum = 8
}
 
enum  EState {
  kNoInfo, kForwardDeclared, kEmulated, kInterpreted,
  kHasTClassInit, kLoaded = kHasTClassInit, kNamespaceForMeta
}
 
- Public Types inherited from TDictionary
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
}
 
typedef const voidDeclId_t
 
- Public Types inherited from TObject
enum  EStatusBits {
  kCanDelete = BIT(0), kMustCleanup = BIT(3), kObjInCanvas = BIT(3), kIsReferenced = BIT(4),
  kHasUUID = BIT(5), kCannotPick = BIT(6), kNoContextMenu = BIT(8), kInvalidObject = BIT(13)
}
 
enum  { kIsOnHeap = 0x01000000, kNotDeleted = 0x02000000, kZombie = 0x04000000, kBitMask = 0x00ffffff }
 
enum  { kSingleKey = BIT(0), kOverwrite = BIT(1), kWriteDelete = BIT(2) }
 

Public Member Functions

 TClass ()
 
 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, EState theState, Bool_t silent=kFALSE)
 Create a TClass object. More...
 
 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, 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 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...
 
virtual ~TClass ()
 TClass dtor. Deletes all list that might have been created. More...
 
void AddInstance (Bool_t heap=kFALSE)
 
void AddImplFile (const char *filename, int line)
 
void AdoptSchemaRules (ROOT::Detail::TSchemaRuleSet *rules)
 Adopt a new set of Data Model Evolution rules. More...
 
virtual void Browse (TBrowser *b)
 This method is called by a browser to get the class information. More...
 
void BuildRealData (void *pointer=0, Bool_t isTransient=kFALSE)
 Build a full list of persistent data members. More...
 
void BuildEmulatedRealData (const char *name, Long_t offset, TClass *cl)
 Build the list of real data for an emulated class. 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 CanSplit () const
 Return true if the data member of this TClass can be saved separately. More...
 
Bool_t CanIgnoreTObjectStreamer ()
 
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 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...
 
char * EscapeChars (const char *text) const
 Introduce an escape character (@) in front of a special chars. More...
 
TVirtualStreamerInfoFindStreamerInfo (UInt_t checksum) const
 Find the TVirtualStreamerInfo in the StreamerInfos corresponding to checksum. More...
 
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...
 
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...
 
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...
 
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...
 
Bool_t HasDataMemberInfo () const
 
Bool_t HasDefaultConstructor () const
 Return true if we have access to a default constructor. More...
 
Bool_t HasInterpreterInfoInMemory () const
 
Bool_t HasInterpreterInfo () const
 
UInt_t GetCheckSum (ECheckSum code=kCurrentCheckSum) const
 Call GetCheckSum with validity check. 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...
 
TVirtualCollectionProxyGetCollectionProxy () const
 Return the proxy describing the collection (if any). More...
 
TVirtualIsAProxyGetIsAProxy () const
 Return the proxy implementing the IsA functionality. More...
 
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...
 
Version_t GetClassVersion () const
 
Int_t GetClassSize () const
 
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...
 
const char * GetDeclFileName () const
 
Short_t GetDeclFileLine () const
 
ROOT::DelFunc_t GetDelete () const
 Return the wrapper around delete ThiObject. More...
 
ROOT::DesFunc_t GetDestructor () const
 Return the wrapper around the destructor. More...
 
ROOT::DelArrFunc_t GetDeleteArray () const
 Return the wrapper around delete [] ThiObject. More...
 
ClassInfo_t * GetClassInfo () const
 
const char * GetContextMenuTitle () const
 
TVirtualStreamerInfoGetCurrentStreamerInfo ()
 
TVirtualStreamerInfoGetLastReadInfo () const
 
void SetLastReadInfo (TVirtualStreamerInfo *info)
 
TListGetListOfDataMembers (Bool_t load=kTRUE)
 Return list containing the TDataMembers of a class. More...
 
TListGetListOfEnums (Bool_t load=kTRUE)
 Return list containing the TEnums of a class. More...
 
TListGetListOfFunctionTemplates (Bool_t load=kTRUE)
 Return list containing the TEnums of a class. More...
 
TListGetListOfBases ()
 Return list containing the TBaseClass(es) of a class. More...
 
TListGetListOfMethods (Bool_t load=kTRUE)
 Return list containing the TMethods of a class. More...
 
TCollectionGetListOfMethodOverloads (const char *name) const
 Return the collection of functions named "name". More...
 
TListGetListOfRealData () const
 
const TListGetListOfAllPublicMethods (Bool_t load=kTRUE)
 Returns a list of all public methods of this class and its base classes. More...
 
TListGetListOfAllPublicDataMembers (Bool_t load=kTRUE)
 Returns a list of all public data members of this class and its base classes. More...
 
const char * GetImplFileName () const
 
Short_t GetImplFileLine () const
 
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...
 
ROOT::ESTLType GetCollectionType () const
 Return the 'type' of the STL the TClass is representing. More...
 
ROOT::DirAutoAdd_t GetDirectoryAutoAdd () const
 Return the wrapper around the directory auto add function. More...
 
TFunctionTemplateGetFunctionTemplate (const char *name)
 
UInt_t GetInstanceCount () const
 
UInt_t GetHeapInstanceCount () 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...
 
TMethodGetMethod (const char *method, const char *params, Bool_t objectIsConst=kFALSE)
 Find the best method (if there is one) matching the 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...
 
TMethodGetMethodAny (const char *method)
 Return pointer to method without looking at parameters. More...
 
TMethodGetMethodAllAny (const char *method)
 Return pointer to method without looking at parameters. 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::MergeFunc_t GetMerge () const
 Return the wrapper around Merge. More...
 
ROOT::ResetAfterMergeFunc_t GetResetAfterMerge () const
 Return the wrapper around Merge. More...
 
ROOT::NewFunc_t GetNew () const
 Return the wrapper around new ThisClass(). More...
 
ROOT::NewArrFunc_t GetNewArray () const
 Return the wrapper around new ThisClass[]. More...
 
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
 
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...
 
ClassConvStreamerFunc_t GetConvStreamerFunc () const
 Get a wrapper/accessor function around this class custom conversion streamer (member function). More...
 
const TObjArrayGetStreamerInfos () const
 
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...
 
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...
 
const std::type_info * GetTypeInfo () const
 
Bool_t HasDictionary () const
 Check whether a class has a dictionary or not. More...
 
void GetMissingDictionaries (THashTable &result, bool recurse=false)
 Get the classes that have a missing dictionary starting from this one. More...
 
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 IsLoaded () const
 Return true if the shared library of this class is currently in the a process's memory. More...
 
Bool_t IsForeign () const
 Return kTRUE is the class is Foreign (the class does not have a Streamer method). 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 IsVersioned () const
 
Bool_t IsTObject () const
 Return kTRUE is the class inherits from TObject. More...
 
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, 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...
 
Int_t ReadBuffer (TBuffer &b, void *pointer)
 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 (Long_t tagnum)
 Make sure that the current ClassInfo is up to date. More...
 
void ResetClassInfo ()
 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...
 
Int_t Size () const
 Return size of object of this class. More...
 
void SetCanSplit (Int_t splitmode)
 Set the splitability of this class: -1: Use the default calculation 0: Disallow splitting 1: Always allow splitting. 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 SetCurrentStreamerInfo (TVirtualStreamerInfo *info)
 Set pointer to current TVirtualStreamerInfo. More...
 
void SetGlobalIsA (IsAGlobalFunc_t)
 This function installs a global IsA function for this class. 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 SetDirectoryAutoAdd (ROOT::DirAutoAdd_t dirAutoAddFunc)
 Install a new wrapper around the directory auto add function. More...
 
void SetDestructor (ROOT::DesFunc_t destructorFunc)
 Install a new wrapper around the destructor. More...
 
void SetImplFileName (const char *implFileName)
 
void SetMerge (ROOT::MergeFunc_t mergeFunc)
 Install a new wrapper around 'Merge'. More...
 
void SetResetAfterMerge (ROOT::ResetAfterMergeFunc_t resetFunc)
 Install a new wrapper around 'ResetAfterMerge'. 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...
 
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 WriteBuffer (TBuffer &b, void *pointer, const char *info="")
 Function called by the Streamer functions to serialize object at p to buffer b. More...
 
void AdoptReferenceProxy (TVirtualRefProxy *proxy)
 Adopt the Reference proxy pointer to indicate that this class represents a reference. More...
 
void AdoptStreamer (TClassStreamer *strm)
 Adopt a TClassStreamer object. More...
 
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 SetMemberStreamer (const char *name, MemberStreamerFunc_t strm)
 Install a new member streamer (p will be copied). More...
 
void SetStreamerFunc (ClassStreamerFunc_t strm)
 Set a wrapper/accessor function around this class custom streamer. More...
 
void SetConvStreamerFunc (ClassConvStreamerFunc_t strm)
 Set a wrapper/accessor function around this class custom conversion streamer. More...
 
void Store (TBuffer &b) const
 Store class description on I/O buffer. More...
 
Int_t Browse (void *obj, TBrowser *b) const
 Browse objects of of the class described by this TClass object. 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...
 
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...
 
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...
 
Bool_t IsFolder (void *obj) const
 Return kTRUE if the class has elements. More...
 
void Streamer (void *obj, TBuffer &b, const TClass *onfile_class=0) const
 
- Public Member Functions inherited from TDictionary
 TDictionary ()
 
 TDictionary (const char *name)
 
 TDictionary (const TDictionary &dict)
 
virtual ~TDictionary ()
 
TDictionaryoperator= (const TDictionary &other)
 
void CreateAttributeMap ()
 
TDictAttributeMapGetAttributeMap () const
 
- Public Member Functions inherited from TNamed
 TNamed ()
 
 TNamed (const char *name, const char *title)
 
 TNamed (const TString &name, const TString &title)
 
 TNamed (const TNamed &named)
 
TNamedoperator= (const TNamed &rhs)
 TNamed assignment operator. More...
 
virtual ~TNamed ()
 
virtual void Clear (Option_t *option="")
 Set name and title to empty strings (""). 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 SetName (const char *name)
 Change (i.e. More...
 
virtual void SetNameTitle (const char *name, const char *title)
 Change (i.e. set) all the TNamed parameters (name and title). More...
 
virtual void SetTitle (const char *title="")
 Change (i.e. set) the title of the TNamed. More...
 
virtual void Print (Option_t *option="") const
 Print TNamed name and title. More...
 
virtual Int_t Sizeof () const
 Return size of the TNamed part of the TObject. More...
 
- Public Member Functions inherited from TObject
 TObject ()
 
 TObject (const TObject &object)
 TObject copy ctor. More...
 
TObjectoperator= (const TObject &rhs)
 TObject assignment operator. More...
 
virtual ~TObject ()
 TObject destructor. More...
 
virtual void AppendPad (Option_t *option="")
 Append graphics object to current pad. More...
 
virtual const char * ClassName () const
 Returns name of class to which the object belongs. More...
 
virtual void Delete (Option_t *option="")
 Delete this object. More...
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 Computes distance from point (px,py) to the object. More...
 
virtual void 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 pad. 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 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 UInt_t GetUniqueID () const
 Return the unique object id. More...
 
virtual const char * GetIconName () const
 Returns mime type name of object. More...
 
virtual Option_tGetOption () const
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 Returns string containing info about the object at position (px,py). More...
 
virtual Bool_t HandleTimer (TTimer *timer)
 Execute action in response of a timer timing out. More...
 
virtual void Inspect () const
 Dump contents of this object in a graphics canvas. More...
 
virtual Bool_t IsEqual (const TObject *obj) const
 Default equal comparison (objects are equal if they have the same address in memory). More...
 
Bool_t IsOnHeap () const
 
Bool_t IsZombie () const
 
virtual Bool_t Notify ()
 This method must be overridden to handle object notification. More...
 
virtual void Paint (Option_t *option="")
 This method must be overridden if a class wants to paint itself. More...
 
virtual void Pop ()
 Pop on object drawn in a pad to the top of the display list. More...
 
virtual Int_t Read (const char *name)
 Read contents of object with specified name from the current directory. More...
 
virtual void RecursiveRemove (TObject *obj)
 Recursively remove this object from a list. More...
 
virtual void SaveAs (const char *filename="", Option_t *option="") const
 Save this object in the file specified by filename. More...
 
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 Save a primitive as a C++ statement(s) on output stream "out". More...
 
virtual void SetDrawOption (Option_t *option="")
 Set drawing option for object. More...
 
virtual void SetUniqueID (UInt_t uid)
 Set the unique object id. More...
 
virtual void UseCurrentStyle ()
 Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked. More...
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0)
 Write this object to the current directory. More...
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0) const
 Write this object to the current directory. More...
 
voidoperator new (size_t sz)
 
voidoperator new[] (size_t sz)
 
voidoperator new (size_t sz, void *vp)
 
voidoperator new[] (size_t sz, void *vp)
 
void operator delete (void *ptr)
 Operator delete. More...
 
void operator delete[] (void *ptr)
 Operator delete []. More...
 
void SetBit (UInt_t f, Bool_t set)
 Set or unset the user status bits as specified in f. More...
 
void SetBit (UInt_t f)
 
void ResetBit (UInt_t f)
 
Bool_t TestBit (UInt_t f) const
 
Int_t TestBits (UInt_t f) const
 
void InvertBit (UInt_t f)
 
virtual void Info (const char *method, const char *msgfmt,...) const
 Issue info message. More...
 
virtual void Warning (const char *method, const char *msgfmt,...) const
 Issue warning message. More...
 
virtual void Error (const char *method, const char *msgfmt,...) const
 Issue error message. More...
 
virtual void SysError (const char *method, const char *msgfmt,...) const
 Issue system error message. More...
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 Issue fatal error message. More...
 
void AbstractMethod (const char *method) const
 Use this method to implement an "abstract" method that you don't want to leave purely abstract. More...
 
void MayNotUse (const char *method) const
 Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary). More...
 
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 Use this method to declare a method obsolete. More...
 

Static Public Member Functions

static Bool_t AddRule (const char *rule)
 Add a schema evolution customization rule. 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 Int_t ReadRules ()
 Read the class.rules files from the default location:. More...
 
static Bool_t HasDictionarySelection (const char *clname)
 Check whether a class has a dictionary or ROOT can load one. More...
 
static TClassLoadClass (const char *requestedname, Bool_t silent)
 Helper function used by TClass::GetClass(). More...
 
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 void RemoveClass (TClass *cl)
 static: Remove a class from the list and map of classes More...
 
static void RemoveClassDeclId (TDictionary::DeclId_t id)
 
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 type_info &typeinfo, Bool_t load=kTRUE, Bool_t silent=kFALSE)
 Return pointer to class with name. 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 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 type_info &info)
 Return a pointer to the dictionary loading function generated by rootcint. More...
 
static Int_t AutoBrowse (TObject *obj, TBrowser *browser)
 Browse external object inherited from TObject. 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 Public Member Functions inherited from TDictionary
static TDictionaryGetDictionary (const char *name)
 
static TDictionaryGetDictionary (const type_info &typeinfo)
 
- Static Public Member Functions inherited from TObject
static Long_t GetDtorOnly ()
 Return destructor only flag. More...
 
static void SetDtorOnly (void *obj)
 Set destructor only flag. More...
 
static Bool_t GetObjectStat ()
 Get status of object stat flag. More...
 
static void SetObjectStat (Bool_t stat)
 Turn on/off tracking of objects in the TObjectTable. More...
 

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 GetMissingDictionariesWithRecursionCheck (TCollection &result, TCollection &visited, bool recurse)
 From the second level of recursion onwards it is different state check. More...
 
void GetMissingDictionariesForPairElements (TCollection &result, TCollection &visited, bool recurse)
 
- 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
void MakeZombie ()
 
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 Interface to ErrorHandler (protected). More...
 

Private Types

enum  { kLoading = BIT(14), kUnloading = BIT(14) }
 
enum  EStreamerType {
  kDefault =0, kEmulatedStreamer =1, kTObject =2, kInstrumented =4,
  kForeign =8, kExternal =16
}
 
typedef std::atomic< std::map< std::string, TObjArray * > * > ConvSIMap_t
 Persistent address of pointer to this TClass object and its successors. More...
 
typedef void(* StreamerImpl_t) (const TClass *pThis, void *obj, TBuffer &b, const TClass *onfile_class)
 Schema evolution rules. More...
 

Private Member Functions

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

Static Private Member Functions

static TClassLoadClassDefault (const char *requestedname, Bool_t silent)
 Helper function used by TClass::GetClass(). More...
 
static TClassLoadClassCustom (const char *requestedname, Bool_t silent)
 Helper function used by TClass::GetClass(). 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 StreamerTObject (const TClass *pThis, void *object, TBuffer &b, const TClass *onfile_class)
 Case of TObjects. 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...
 
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 StreamerInstrumented (const TClass *pThis, void *object, TBuffer &b, const TClass *onfile_class)
 Case of instrumented class with a library. More...
 
static void ConvStreamerInstrumented (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 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 IdMap_tGetIdMap ()
 
static DeclIdMap_tGetDeclIdMap ()
 
static Bool_t HasNoInfoOrEmuOrFwdDeclaredDecl (const char *)
 

Private Attributes

std::atomic< TClass ** > fPersistentRef
 
TObjArrayfStreamerInfo
 
ConvSIMap_t fConversionStreamerInfo
 
TListfRealData
 
std::atomic< TList * > fBase
 
TListOfDataMembersfData
 
std::atomic< TListOfEnums * > fEnums
 
TListOfFunctionTemplatesfFuncTemplate
 
std::atomic< TListOfFunctions * > fMethod
 
TViewPubDataMembersfAllPubData
 
TViewPubFunctionsfAllPubMethod
 
TListfClassMenuList
 
const char * fDeclFileName
 
const char * fImplFileName
 
Short_t fDeclFileLine
 
Short_t fImplFileLine
 
UInt_t fInstanceCount
 
UInt_t fOnHeap
 
std::atomic< UInt_tfCheckSum
 
TVirtualCollectionProxyfCollectionProxy
 
Version_t fClassVersion
 
ClassInfo_t * fClassInfo
 
TString fContextMenuTitle
 
const type_info * fTypeInfo
 
ShowMembersFunc_t fShowMembers
 
TClassStreamerfStreamer
 
TString fSharedLibs
 
TVirtualIsAProxyfIsA
 
IsAGlobalFunc_t fGlobalIsA
 pointer to the class's IsA proxy. More...
 
std::atomic< TMethodCall * > fIsAMethod
 
ROOT::MergeFunc_t fMerge
 saved info to call a IsA member function More...
 
ROOT::ResetAfterMergeFunc_t fResetAfterMerge
 
ROOT::NewFunc_t fNew
 
ROOT::NewArrFunc_t fNewArray
 
ROOT::DelFunc_t fDelete
 
ROOT::DelArrFunc_t fDeleteArray
 
ROOT::DesFunc_t fDestructor
 
ROOT::DirAutoAdd_t fDirAutoAdd
 
ClassStreamerFunc_t fStreamerFunc
 
ClassConvStreamerFunc_t fConvStreamerFunc
 
Int_t fSizeof
 
Int_t fCanSplit
 
std::atomic< Long_tfProperty
 Indicates whether this class can be split or not. More...
 
Long_t fClassProperty
 Property. More...
 
std::atomic< Bool_tfHasRootPcmInfo
 C++ Property of the class (is abstract, has virtual table, etc.) More...
 
std::atomic< Bool_tfCanLoadClassInfo
 Whether info was loaded from a root pcm. More...
 
std::atomic< Bool_tfIsOffsetStreamerSet
 Indicates whether the ClassInfo is supposed to be available. More...
 
std::atomic< Bool_tfVersionUsed
 saved remember if fOffsetStreamer has been set. More...
 
Long_t fOffsetStreamer
 Indicates whether GetClassVersion has been called. More...
 
Int_t fStreamerType
 saved info to call Streamer More...
 
EState fState
 cached of the streaming method to use More...
 
std::atomic< TVirtualStreamerInfo * > fCurrentInfo
 Current 'state' of the class (Emulated,Interpreted,Loaded) More...
 
std::atomic< TVirtualStreamerInfo * > fLastReadInfo
 cached current streamer info. More...
 
TVirtualRefProxyfRefProxy
 cached streamer info used in the last read. More...
 
ROOT::Detail::TSchemaRuleSetfSchemaRules
 Pointer to reference proxy if this class represents a reference. More...
 
std::atomic< StreamerImpl_tfStreamerImpl
 

Static Private Attributes

static std::atomic< Int_tfgClassCount
 
static TDeclNameRegistry fNoInfoOrEmuOrFwdDeclNameRegistry
 
static THashTablefgClassTypedefHash = 0
 

Friends

class TCling
 
class ROOT::TGenericClassInfo
 
class TProtoClass
 
void ROOT::ResetClassVersion (TClass *, const char *, Short_t)
 

Additional Inherited Members

- Protected Attributes inherited from TNamed
TString fName
 
TString fTitle
 

#include <TClass.h>

+ Inheritance diagram for TClass:
+ Collaboration diagram for TClass:

Member Typedef Documentation

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

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

Schema evolution rules.

Definition at line 243 of file TClass.h.

Member Enumeration Documentation

anonymous enum
Enumerator
kClassSaved 
kIgnoreTObjectStreamer 
kUnloaded 
kIsTObject 
kIsForeign 
kIsEmulation 
kStartWithTObject 
kWarned 
kHasNameMapNode 
kHasCustomStreamerMember 

Definition at line 90 of file TClass.h.

anonymous enum
private
Enumerator
kLoading 
kUnloading 

Definition at line 291 of file TClass.h.

Enumerator
kCurrentCheckSum 
kNoEnum 
kReflexNoComment 
kNoRange 
kWithTypeDef 
kReflex 
kNoRangeCheck 
kNoBaseCheckSum 
kLatestCheckSum 

Definition at line 102 of file TClass.h.

Enumerator
kRealNew 
kClassNew 
kDummyNew 

Definition at line 101 of file TClass.h.

Enumerator
kNoInfo 
kForwardDeclared 
kEmulated 
kInterpreted 
kHasTClassInit 
kLoaded 
kNamespaceForMeta 

Definition at line 115 of file TClass.h.

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

Definition at line 293 of file TClass.h.

Constructor & Destructor Documentation

TClass::TClass ( const TClass tc)
privatedelete
TClass::TClass ( )

Referenced by Clone().

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

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

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

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

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

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

TClass::~TClass ( )
virtual

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

Definition at line 1562 of file TClass.cxx.

Member Function Documentation

void TClass::AddClass ( TClass cl)
static

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

Definition at line 450 of file TClass.cxx.

Referenced by TROOT::AddClass(), Clone(), TPyClassGenerator::GetClass(), and Init().

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

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

Definition at line 467 of file TClass.cxx.

Referenced by TCling::GenerateTClass(), TCling::SetClassInfo(), and TCling::UpdateClassInfoWithDecl().

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

Definition at line 1858 of file TClass.cxx.

Referenced by ROOT::TGenericClassInfo::SetImplFile().

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

Definition at line 346 of file TClass.h.

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={...}]

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

Referenced by FindStreamerInfoAbstractEmulated(), GetStreamerInfoAbstractEmulated(), and TFile::ReadStreamerInfo().

void TClass::AdoptMemberStreamer ( const char *  name,
TMemberStreamer p 
)

Adopt the TMemberStreamer pointer to by p and use it to Stream non basic member name.

Definition at line 6236 of file TClass.cxx.

Referenced by SetMemberStreamer().

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

Referenced by ClassImp(), and Clone().

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

Adopt a new set of Data Model Evolution rules.

Definition at line 1826 of file TClass.cxx.

void TClass::AdoptStreamer ( TClassStreamer str)

Adopt a TClassStreamer object.

Ownership is transfered to this TClass object.

Definition at line 6424 of file TClass.cxx.

Referenced by ROOT::TGenericClassInfo::AdoptStreamer(), Clone(), ROOT::TGenericClassInfo::GetClass(), SetCollectionProxy(), and ROOT::TGenericClassInfo::SetStreamer().

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

Referenced by TObject::Browse().

void TClass::Browse ( TBrowser b)
virtual

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

Reimplemented from TObject.

Definition at line 1916 of file TClass.cxx.

Referenced by TBaseClass::Browse(), TKey::Browse(), Browse(), and IsFolder().

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

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

Definition at line 1884 of file TClass.cxx.

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

Build the list of real data for an emulated class.

Definition at line 2018 of file TClass.cxx.

Referenced by BuildEmulatedRealData(), and 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 1937 of file TClass.cxx.

Referenced by Browse(), TStreamerInfo::Build(), TStreamerInfo::BuildOld(), BuildRealData(), TTree::BuildStreamerInfo(), TStructViewer::CountMembers(), TDataMember::GetOffset(), GetRealData(), TInspectCanvas::InspectObject(), TTableSorter::LearnTable(), TRootSniffer::ScanObjectMembers(), TBranchObject::SetAddress(), TBranchElement::SetAddress(), TDirectoryFile::SetTRefAction(), and TProtoClass::TProtoClass().

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

Referenced by Browse(), Dump(), GetActualClass(), StreamerTObject(), and TProtoClass::TProtoClass().

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

Referenced by Browse(), BuildRealData(), TStreamerInfo::CallShowMembers(), Dump(), TMemberInspector::GenericShowMembers(), TOutputListSelectorDataMap::Init(), TMemberInspector::InspectMember(), TCling::InspectMembers(), and TOutputListSelectorDataMap::SetDataMembers().

Bool_t TClass::CanIgnoreTObjectStreamer ( )
inline
Bool_t TClass::CanSplit ( ) const

Return true if the data member of this TClass can be saved separately.

Definition at line 2228 of file TClass.cxx.

Referenced by ROOT::Internal::TTreeProxyGenerator::AnalyzeElement(), TTree::BronchExec(), TStreamerElement::CannotSplit(), CanSplit(), TBranchElement::Init(), and TStreamerInfo::WriteBufferAux().

Bool_t TClass::CanSplitBaseAllow ( )
private

Pointer to the function implementing the right streaming behavior for the class represented by this object.

Definition at line 2153 of file TClass.cxx.

Referenced by CanSplit(), and CanSplitBaseAllow().

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

Referenced by TIsAProxy::operator()().

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

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

Referenced by Property(), SetConvStreamerFunc(), and SetStreamerImpl().

void TClass::CopyCollectionProxy ( const TVirtualCollectionProxy orig)
void TClass::DeleteArray ( void ary,
Bool_t  dtorOnly = kFALSE 
)

Explicitly call operator delete[] for an array.

Definition at line 5157 of file TClass.cxx.

Referenced by TVirtualCollectionProxy::DeleteArray(), TStreamerInfo::ReadBuffer(), TVirtualArray::SetSize(), and TVirtualArray::~TVirtualArray().

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

Determine and set pointer to current TVirtualStreamerInfo.

Definition at line 5305 of file TClass.cxx.

Referenced by GetCurrentStreamerInfo().

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

Referenced by TClassDocOutput::ClassTree(), and TObject::DrawClass().

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

Reimplemented from TObject.

Definition at line 363 of file TClass.h.

Referenced by DeleteArray(), Destructor(), and TObject::Dump().

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

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

Referenced by TBrowser::Add(), TObject::Dump(), DynamicCast(), TCling::Execute(), THStack::Paint(), and PyROOT::TTreeGetAttr().

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

char * TClass::EscapeChars ( const char *  text) const

Introduce an escape character (@) in front of a special chars.

You need to use the result immediately before it is being overwritten.

Definition at line 2485 of file TClass.cxx.

Referenced by TPad::DrawClassObject().

TMethod * TClass::FindClassOrBaseMethodWithId ( DeclId_t  faddr)
private

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

Definition at line 4174 of file TClass.cxx.

Referenced by FindClassOrBaseMethodWithId(), GetMethod(), and GetMethodWithPrototype().

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

Referenced by TTree::CheckBranchAddressType(), and TStreamerBase::InitStreaming().

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

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

Find the TVirtualStreamerInfo in the StreamerInfos corresponding to checksum.

Definition at line 6566 of file TClass.cxx.

TVirtualStreamerInfo * TClass::FindStreamerInfoAbstractEmulated ( UInt_t  checksum) const

For the case where the requestor class is emulated and this class is abstract, returns a pointer to the TVirtualStreamerInfo object for version with an emulated representation whether or not the class is loaded.

If the object does not exist, it is created

Warning: If we create a new streamer info, whether or not the build optimizes is controlled externally to us by a global variable! Don't call us unless you have set that variable properly with TStreamer::Optimize()!

Definition at line 4480 of file TClass.cxx.

Referenced by TStreamerInfo::BuildOld().

void TClass::ForceReload ( TClass oldcl)
private

we found at least one equivalent.

let's force a reload

Definition at line 1283 of file TClass.cxx.

Referenced by Init().

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

then on return, one must do:

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

Also if the class represented by 'this' and NONE of its parents classes have a virtual ptr table, the result will be 'this' and NOT the actual class.

Definition at line 2524 of file TClass.cxx.

Referenced by TTree::BranchImp(), TTree::BranchImpRef(), Browse(), TBufferFile::CheckObject(), TBranchSTL::Fill(), Cppyy::GetActualClass(), TKey::TKey(), TBufferFile::WriteObjectAny(), and TBufferJSON::WriteObjectAny().

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

Referenced by ROOT::Detail::TSchemaRuleSet::AddRule(), TStreamerInfo::BuildOld(), TLink::ExecuteEvent(), GetBaseClass(), Cppyy::IsSubtype(), TGMainFrame::SaveSource(), and TGTransientFrame::SaveSource().

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

Int_t TClass::GetBaseClassOffset ( const TClass toBase,
void address = 0,
bool  isDerivedObject = true 
)
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 2621 of file TClass.cxx.

Referenced by CalculateStreamerOffset(), GetBaseClassOffset(), GetBaseClassOffsetRecurse(), and Property().

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

Return pointer to (base) class that contains datamember.

Definition at line 2740 of file TClass.cxx.

Referenced by TXMLPlayer::ElementGetter(), TXMLPlayer::ElementSetter(), TMethod::FindDataMember(), and GetBaseDataMember().

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

Return GetCheckSum(kCurrentCheckSum,isvalid);.

Definition at line 6051 of file TClass.cxx.

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

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

Referenced by TGedEditor::ActivateEditor(), PyROOT::Utility::AddBinaryOperator(), ROOT::Internal::TTreeGeneratorBase::AddHeader(), ROOT::Internal::TTreeProxyGenerator::AddMissingClassAsEnum(), AddRule(), TRootBrowserLite::AddToBox(), ROOT::Internal::TTreeProxyGenerator::AnalyzeBranches(), ROOT::Internal::TTreeReaderGenerator::AnalyzeBranches(), ROOT::Internal::TTreeProxyGenerator::AnalyzeElement(), ROOT::Internal::TTreeProxyGenerator::AnalyzeTree(), ROOT::Internal::TTreeReaderGenerator::AnalyzeTree(), TTree::BranchImp(), TTree::BranchImpRef(), TTree::BranchOld(), TTree::BronchExec(), TKey::Browse(), TBranchElement::Browse(), TStreamerInfo::Build(), TStreamerInfo::BuildCheck(), TStreamerInfo::BuildOld(), BuildScopeProxyDict(), TTree::BuildStreamerInfo(), PyROOT::TMethodHolder::CallFast(), CanSplitBaseAllow(), TQObject::CheckConnectArgs(), TGeoPainter::CheckEdit(), TPluginHandler::CheckPlugin(), ClassImp(), TBufferJSON::ClassMember(), TBufferXML::ClassMember(), TBufferSQL2::ClassMember(), TGFileBrowser::Clicked(), TROOT::CloseFiles(), TStructNodeProperty::Compare(), TQObject::Connect(), TQObject::ConnectToClass(), TSAXParser::ConnectToHandler(), TDocOutput::Convert(), TTreeCloner::CopyStreamerInfos(), TStructViewer::CountMembers(), RooClassFactory::ClassFacIFace::create(), THnBase::CreateHnAny(), THtml::CreateListOfClasses(), TPacketizerMulti::CreatePacketizer(), TRootContextMenu::Dialog(), TQObject::Disconnect(), TGFileBrowser::DoubleClicked(), drr_as(), TPython::Eval(), TTreeFormula::EvalClass(), TLink::ExecuteEvent(), TBufferXML::ExtractPointer(), TBranchSTL::Fill(), TDataSetManager::FillMetaData(), TProtoClass::FillTClass(), FindConversionStreamerInfo(), TTreeFormula::FindLeafForExpression(), TStructNodeEditor::FindNodeProperty(), TStructViewerGUI::FindNodeProperty(), ROOT::Detail::TSchemaRuleSet::FindRules(), TROOT::FindSTLClass(), FindStreamerInfoAbstractEmulated(), TStreamerInfo::GenerateHeaderFile(), TMakeProject::GenerateIncludeForTemplate(), TMakeProject::GenerateMissingStreamerInfo(), TMakeProject::GeneratePostDeclaration(), TCling::GenerateTClass(), TMemberInspector::GenericShowMembers(), TMapFile::Get(), GetBaseClass(), ROOT::Internal::TTreeReaderValueBase::GetBranchDataType(), TCling::GetClass(), TROOT::GetClass(), TBuffer::GetClass(), TFormLeafInfoMethod::GetClass(), GetClass(), ROOT::GetClass(), TBaseClass::GetClassPointer(), TStreamerElement::GetClassPointer(), TStreamerBase::GetClassPointer(), ROOT::Internal::TStlSimpleProxy< T >::GetCollection(), TVirtualBranchBrowsable::GetCollectionContainedType(), TBranchElement::GetCollectionProxy(), ROOT::Internal::TTreeGeneratorBase::GetContainedClassName(), GetConversionStreamerInfo(), PyROOT::GetCppGlobal(), TBranchElement::GetCurrentClass(), TDictionary::GetDictionary(), TGeoTabManager::GetEditors(), TGeoTransientPanel::GetEditors(), TBranchSTL::GetEntry(), TEnum::GetEnum(), TBranchSTL::GetExpectedType(), TBranchSTL::GetInfo(), TSelectorCint::GetInterpretedClass(), TTreeFormula::GetLeafWithDatamember(), TLeafObject::GetMethodCall(), GetMissingDictionariesForMembers(), GetMissingDictionariesForPairElements(), Cppyy::GetNumMethods(), TDirectoryFile::GetObjectChecked(), TDirectory::GetObjectChecked(), TFileDrawMap::GetObjectInfoDir(), TGContainer::GetObjPicture(), Cppyy::GetScope(), TSelector::GetSelector(), TStreamerInfo::GetStreamerElement(), GetStreamerInfoAbstractEmulated(), TXMLFile::GetStreamerInfoList(), TDataMember::GetUnitSize(), TProofBenchDataSet::Handle(), ROOT::Detail::TSchemaRuleSet::HasRuleWithSourceClass(), TPython::Import(), InheritsFrom(), TBranchObject::Init(), TBranchClones::Init(), TClassTree::Init(), TBranchElement::Init(), TStreamerBase::Init(), InitCounter(), TEmulatedCollectionProxy::InitializeEx(), TGenCollectionProxy::InitializeEx(), TBranchElement::InitializeOffsets(), TProofPlayerRemote::InitPacketizer(), TCling::InspectMembers(), TClassRef::InternalGetClass(), Cppyy::IsComplete(), TDocParser::IsDirective(), TKey::IsFolder(), ROOT::Internal::TBranchProxyClassDescriptor::IsLoaded(), IsObjectEditable(), TSelector::IsStandardDraw(), TListOfDataMembers::Load(), Load(), LoadClassCustom(), TPython::LoadMacro(), TCling::LoadPCM(), TPluginHandler::LoadPlugin(), TTreePlayer::MakeClass(), TTabCom::MakeClassFromClassName(), TTabCom::MakeClassFromVarName(), TProofBench::MakeDataSet(), TTableDescriptor::MakeDescriptor(), TFile::MakeProject(), TFileMerger::MergeRecursive(), MPSend(), TTable::New(), TLeafObject::Notify(), OP2TCLASS(), TFile::Open(), TConvertClonesArrayToProxy::operator()(), TIsAProxy::operator()(), ROOT::Internal::TBranchProxyClassDescriptor::OutputDecl(), THStack::Paint(), THistPainter::Paint(), TFileDrawMap::PaintDir(), TTreeFormula::ParseWithLeaf(), TClassTable::Print(), TFormula::ProcessFormula(), TRootCanvas::ProcessMessage(), TRootBrowserLite::ProcessMessage(), TXMLPlayer::ProduceSTLstreamer(), PyROOT::Pythonize(), ROOT::Internal::R__AddPragmaForClass(), R__CreateBuffer(), R__CreateEmulatedElement(), R__FindScope(), R__GenerateTClassForPair(), R__GetClassIfKnown(), TLeafObject::ReadBasket(), ReadBuffer(), TKey::ReadObj(), TKey::ReadObjectAny(), TKey::ReadObjWithBuffer(), TXMLFile::ReadStreamerElement(), TFile::Recover(), TDirectoryFile::ResetAfterMerge(), RooFactoryWSTool::resolveClassName(), TProofBenchRunCPU::Run(), TProofBenchRunDataRead::Run(), TRootSniffer::ScanCollection(), TGLObject::SearchGLRenderer(), TBranchObject::SetAddress(), PyROOT::TCppObjectConverter::SetArg(), PyROOT::TRefCppObjectConverter::SetArg(), TChain::SetBranchAddress(), TTree::SetBranchAddress(), TClonesArray::SetClass(), TROOT::SetCutClassName(), TVirtualHistPainter::SetPainter(), TVirtualTreePlayer::SetPlayer(), TStructViewer::SetPointer(), TBranchElement::SetTargetClass(), ROOT::Detail::TBranchProxy::Setup(), TBranchObject::SetupAddresses(), TBranchElement::SetupAddressesImpl(), TPluginHandler::SetupCallEnv(), TBufferSQL2::SqlReadObject(), TBufferSQL2::SqlReadObjectDirect(), TBufferJSON::StreamObject(), TBufferXML::StreamObject(), TBufferFile::StreamObject(), TBufferSQL2::StreamObject(), TTreeFormula::SwitchToFormLeafInfo(), TTable::TableDictionary(), TBranchSTL::TBranchSTL(), TCling_GenerateDictionary(), TDirectoryFile::TDirectoryFile(), TDSet::TDSet(), TEveGedEditor::TEveGedEditor(), TFileInfoMeta::TFileInfoMeta(), TLeafObject::TLeafObject(), TMessageHandler::TMessageHandler(), TMethodBrowsable::TMethodBrowsable(), TMultiLayerPerceptron::TMultiLayerPerceptron(), TTabCom::TryMakeClassFromClassName(), TStreamerBase::TStreamerBase(), TStreamerSTL::TStreamerSTL(), PyROOT::TTreeGetAttr(), TBranchElement::Unroll(), TStreamerInfo::TCompInfo::Update(), TFormLeafInfo::Update(), TFormLeafInfoCollection::Update(), TFormLeafInfoCollectionSize::Update(), TFormLeafInfoCast::Update(), TMakeProject::UpdateAssociativeToVector(), TCling::UpdateListsOnUnloaded(), TGenCollectionProxy::Value::Value(), TDirectoryFile::WriteObjectAny(), TFile::WriteStreamerInfo(), and TXMLSetup::XmlDefineClass().

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

Return pointer to class with name.

Definition at line 3062 of file TClass.cxx.

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

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

Definition at line 3186 of file TClass.cxx.

ClassInfo_t* TClass::GetClassInfo ( ) const
inline
TMethod * TClass::GetClassMethod ( Long_t  faddr)
private

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

Definition at line 4221 of file TClass.cxx.

TMethod * TClass::GetClassMethod ( const char *  name,
const char *  params,
Bool_t  objectIsConst = kFALSE 
)

Look for a method in this class that has the name and matches the parameters.

The params string must contain argument values, like "3189, \"aap", 1.3". Returns 0 in case method is not found. See TClass::GetMethod to also search the base classes.

Definition at line 4240 of file TClass.cxx.

TMethod * TClass::GetClassMethodWithPrototype ( const char *  name,
const char *  proto,
Bool_t  objectIsConst = kFALSE,
ROOT::EFunctionMatchMode  mode = ROOT::kConversionMatch 
)

Find the method with a given prototype.

The proto string must be of the form: "char*,int,double". Returns 0 in case method is not found. See TClass::GetMethodWithPrototype to also search the base classes.

Definition at line 4265 of file TClass.cxx.

Referenced by Property().

Int_t TClass::GetClassSize ( ) const
inline

Definition at line 383 of file TClass.h.

Version_t TClass::GetClassVersion ( ) const
inline
TVirtualCollectionProxy * TClass::GetCollectionProxy ( ) const

Return the proxy describing the collection (if any).

Definition at line 2810 of file TClass.cxx.

Referenced by ROOT::Internal::TTreeGeneratorBase::AddHeader(), TStreamerInfo::AddReadAction(), ROOT::Internal::TTreeProxyGenerator::AnalyzeBranches(), ROOT::Internal::TTreeReaderGenerator::AnalyzeBranches(), ROOT::Internal::TTreeProxyGenerator::AnalyzeElement(), ROOT::Internal::TTreeProxyGenerator::AnalyzeTree(), ROOT::Internal::TTreeReaderGenerator::AnalyzeTree(), TTreeFormula::BranchHasMethod(), TTree::BranchImp(), TTree::BranchImpRef(), TTree::BronchExec(), TVirtualBranchBrowsable::Browse(), Browse(), TStreamerInfo::Build(), TStreamerInfo::BuildCheck(), TStreamerInfo::BuildOld(), CanSplit(), CanSplitBaseAllow(), TTree::CheckBranchAddressType(), ClassImp(), TStructViewer::CountMembers(), TGenCollectionProxy::DeleteItem(), TStreamerInfo::DestructorImpl(), TBranchSTL::Fill(), ROOT::Detail::TSchemaRuleSet::FindRules(), TStreamerInfo::ForceWriteInfo(), ROOT::Internal::TTreeReaderArrayBase::GetBranchContentDataType(), TNonSplitBrowsable::GetBrowsables(), TCollectionPropertyBrowsable::GetBrowsables(), TCollectionMethodBrowsable::GetBrowsables(), TStreamerInfo::GetCheckSum(), GetCheckSum(), ROOT::Internal::TStlSimpleProxy< T >::GetCollection(), TVirtualBranchBrowsable::GetCollectionContainedType(), TBranchElement::GetCollectionProxy(), GetCollectionType(), GetConversionStreamerInfo(), TBranchElement::GetCurrentClass(), TBranchSTL::GetEntry(), TTreeFormula::GetLeafWithDatamember(), GetMissingDictionaries(), GetMissingDictionariesWithRecursionCheck(), TStreamerInfo::GetTypedValue(), ROOT::Detail::TSchemaRuleSet::HasRuleWithSourceClass(), TBranchElement::Init(), TBranchElement::InitializeOffsets(), TCling::InspectMembers(), ROOT::Internal::TBranchProxyClassDescriptor::IsLoaded(), TStreamerInfo::New(), TConvertClonesArrayToProxy::operator()(), ROOT::Internal::TBranchProxyClassDescriptor::OutputDecl(), TTreeFormula::ParseWithLeaf(), PostLoadCheck(), ROOT::Internal::R__AddPragmaForClass(), R__WriteDestructorBody(), R__WriteMoveConstructorBody(), TStreamerInfoActions::ReadArraySTLMemberWiseChangedClass(), TStreamerInfoActions::ReadArraySTLMemberWiseSameClass(), TStreamerInfo::ReadBuffer(), TGenCollectionStreamer::ReadBufferVectorPrimitives(), TGenCollectionStreamer::ReadBufferVectorPrimitivesDouble32(), TGenCollectionStreamer::ReadBufferVectorPrimitivesFloat16(), TGenCollectionStreamer::ReadMap(), TGenCollectionStreamer::ReadObjects(), TGenCollectionStreamer::ReadPrimitives(), TStreamerInfoActions::ReadSTLMemberWiseChangedClass(), TStreamerInfoActions::ReadSTLMemberWiseSameClass(), TTreeFormula::RegisterDimensions(), TBranchElement::ReleaseObject(), TBranchElement::SetAddress(), ROOT::Detail::TBranchProxy::Setup(), TFormLeafInfoCollection::TFormLeafInfoCollection(), TFormLeafInfoCollectionSize::TFormLeafInfoCollectionSize(), TProtoClass::TProtoClass(), TBranchElement::Unroll(), TFormLeafInfoCollection::Update(), TFormLeafInfoCollectionSize::Update(), TGenCollectionProxy::Value::Value(), TStreamerInfo::WriteBufferAux(), and TDirectoryFile::WriteObjectAny().

ROOT::ESTLType TClass::GetCollectionType ( ) const
const char* TClass::GetContextMenuTitle ( ) const
inline

Definition at line 392 of file TClass.h.

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

Referenced by TTree::CheckBranchAddressType(), TGenCollectionProxy::GetConversionReadMemberWiseActions(), TBranchElement::InitInfo(), TStreamerBase::InitStreaming(), TStreamerInfo::ReadBuffer(), TBufferFile::ReadClassBuffer(), and TBufferFile::ReadClassEmulated().

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

ClassConvStreamerFunc_t TClass::GetConvStreamerFunc ( ) const

Get a wrapper/accessor function around this class custom conversion streamer (member function).

Definition at line 2860 of file TClass.cxx.

Referenced by TStreamerBase::InitStreaming().

TVirtualStreamerInfo* TClass::GetCurrentStreamerInfo ( )
inline
TDataMember * TClass::GetDataMember ( const char *  datamember) const
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 3249 of file TClass.cxx.

Referenced by TStreamerInfo::InsertArtificialElements(), ROOT::Detail::TBranchProxy::Setup(), and TEveGedEditor::TEveGedEditor().

Short_t TClass::GetDeclFileLine ( ) const
inline

Definition at line 387 of file TClass.h.

Referenced by Clone(), TDataMember::GetOffset(), and TROOT::IgnoreInclude().

const char* TClass::GetDeclFileName ( ) const
inline
DeclIdMap_t * TClass::GetDeclIdMap ( )
staticprivate

Definition at line 436 of file TClass.cxx.

Referenced by AddClass(), AddClassToDeclIdMap(), GetClass(), and RemoveClassDeclId().

ROOT::DelFunc_t TClass::GetDelete ( ) const

Return the wrapper around delete ThiObject.

Definition at line 6901 of file TClass.cxx.

Referenced by TGenCollectionProxy::Value::Value().

ROOT::DelArrFunc_t TClass::GetDeleteArray ( ) const

Return the wrapper around delete [] ThiObject.

Definition at line 6909 of file TClass.cxx.

ROOT::DesFunc_t TClass::GetDestructor ( ) const

Return the wrapper around the destructor.

Definition at line 6917 of file TClass.cxx.

Referenced by TGenCollectionProxy::Value::Value().

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

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

Definition at line 3204 of file TClass.cxx.

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

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

Definition at line 3213 of file TClass.cxx.

ROOT::DirAutoAdd_t TClass::GetDirectoryAutoAdd ( ) const

Return the wrapper around the directory auto add function.

Definition at line 6925 of file TClass.cxx.

Referenced by TKey::ReadObj(), TKey::ReadObjectAny(), and TKey::ReadObjWithBuffer().

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

Definition at line 3419 of file TClass.cxx.

Referenced by PyROOT::Utility::AddBinaryOperator().

UInt_t TClass::GetHeapInstanceCount ( ) const
inline

Definition at line 419 of file TClass.h.

IdMap_t * TClass::GetIdMap ( )
staticprivate

Definition at line 425 of file TClass.cxx.

Referenced by AddClass(), GetClass(), and RemoveClass().

Short_t TClass::GetImplFileLine ( ) const
inline

Definition at line 409 of file TClass.h.

Referenced by Clone(), and TDocOutput::IsModified().

const char* TClass::GetImplFileName ( ) const
inline
UInt_t TClass::GetInstanceCount ( ) const
inline

Definition at line 418 of file TClass.h.

Referenced by TObjectTable::InstanceStatistics().

TVirtualIsAProxy * TClass::GetIsAProxy ( ) const

Return the proxy implementing the IsA functionality.

Definition at line 2868 of file TClass.cxx.

TVirtualStreamerInfo* TClass::GetLastReadInfo ( ) const
inline

Definition at line 397 of file TClass.h.

Referenced by TBufferFile::ReadClassBuffer().

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

Referenced by TTabCom::Hook(), TTabCom::MakeClassFromClassName(), and TTabCom::MakeClassFromVarName().

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

Referenced by TTabCom::Hook(), TTabCom::MakeClassFromClassName(), TTabCom::MakeClassFromVarName(), and TFormula::ProcessFormula().

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

Return list containing the TEnums of a class.

Definition at line 3488 of file TClass.cxx.

Referenced by BuildScopeProxyDict(), and TCling::UnloadClassMembers().

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

Return list containing the TEnums of a class.

Definition at line 3574 of file TClass.cxx.

Referenced by TCling::LoadFunctionTemplates(), and TCling::UnloadClassMembers().

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

Return the collection of functions named "name".

Definition at line 3603 of file TClass.cxx.

TList * TClass::GetListOfMethods ( Bool_t  load = kTRUE)
TList* TClass::GetListOfRealData ( ) const
inline
void TClass::GetMenuItems ( TList listitems)

Returns list of methods accessible by context menu.

Definition at line 3650 of file TClass.cxx.

Referenced by GetMenuItems(), MakeCustomMenuList(), and TQCanvasMenu::Popup().

TList * TClass::GetMenuList ( ) const

Return the list of menu items associated with the class.

Definition at line 4075 of file TClass.cxx.

Referenced by ClassImp(), MakeCustomMenuList(), TEveBrowser::SetupCintExport(), and TClassMenuItem::~TClassMenuItem().

ROOT::MergeFunc_t TClass::GetMerge ( ) const

Return the wrapper around Merge.

Definition at line 6869 of file TClass.cxx.

Referenced by TFileMerger::MergeRecursive().

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

Referenced by TMethodCall::GetMethod().

TMethod * TClass::GetMethodAllAny ( const char *  method)

Return pointer to method without looking at parameters.

Does look in all base classes.

Definition at line 4118 of file TClass.cxx.

Referenced by TTreeFormula::BranchHasMethod(), GetMethodAllAny(), TRootSniffer::ProduceExe(), and PyROOT::Pythonize().

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

Referenced by PyROOT::Utility::AddBinaryOperator(), TClassDocOutput::CreateDotClassChartInhMem(), GetMethodAllAny(), Cppyy::GetMethodsFromName(), and TDocParser::LocateMethodInCurrentLine().

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

Referenced by FindClassOrBaseMethodWithId(), GetClassMethod(), GetClassMethodWithPrototype(), GetListOfMethodOverloads(), GetListOfMethods(), and GetMethodAny().

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

Referenced by PyROOT::Utility::AddBinaryOperator(), TMethodCall::GetMethod(), TFileMerger::MergeRecursive(), ROOT::Internal::TBranchProxyClassDescriptor::OutputDecl(), TRootSniffer::ProduceExe(), and R__CreateBuffer().

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

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

Verify the base classes always.

Definition at line 3703 of file TClass.cxx.

Referenced by GetMissingDictionaries(), and GetMissingDictionariesWithRecursionCheck().

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

Verify the Data Members.

Definition at line 3720 of file TClass.cxx.

Referenced by GetMissingDictionaries(), and GetMissingDictionariesWithRecursionCheck().

void TClass::GetMissingDictionariesForPairElements ( TCollection result,
TCollection visited,
bool  recurse 
)
protected
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 3766 of file TClass.cxx.

Referenced by GetMissingDictionaries(), GetMissingDictionariesForBaseClasses(), GetMissingDictionariesForMembers(), GetMissingDictionariesForPairElements(), and GetMissingDictionariesWithRecursionCheck().

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

Referenced by TPad::DrawClassObject(), TTableDescriptor::LearnTable(), and TTableSorter::LearnTable().

ROOT::NewFunc_t TClass::GetNew ( ) const

Return the wrapper around new ThisClass().

Definition at line 6885 of file TClass.cxx.

Referenced by TH1::Clone(), TTreeCloner::CopyStreamerInfos(), and TGenCollectionProxy::Value::Value().

ROOT::NewArrFunc_t TClass::GetNewArray ( ) const

Return the wrapper around new ThisClass[].

Definition at line 6893 of file TClass.cxx.

Int_t TClass::GetNmethods ( )

Return the number of methods of this class Note that in case the list of methods is not yet created, it will be done by GetListOfMethods().

This will also load/populate the list of methods, to get 'just' the number of currently loaded methods use: cl->GetListOfMethods(false)->GetSize();

Definition at line 4311 of file TClass.cxx.

Referenced by TPad::DrawClassObject().

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

Definition at line 435 of file TClass.h.

Referenced by TClassRef::Assign(), TClassRef::InternalGetClass(), and TClassRef::TClassRef().

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

Referenced by TStreamerInfo::BuildOld(), TBufferJSON::ConvertToJSON(), TRootSniffer::FindInHierarchy(), GetDataMemberOffset(), TBranchElement::InitializeOffsets(), and TRootSniffer::ScanObjectMembers().

TVirtualRefProxy* TClass::GetReferenceProxy ( ) const
inline
ROOT::ResetAfterMergeFunc_t TClass::GetResetAfterMerge ( ) const

Return the wrapper around Merge.

Definition at line 6877 of file TClass.cxx.

Referenced by TFileMerger::MergeRecursive(), and TMemFile::ResetObjects().

const ROOT::Detail::TSchemaRuleSet * TClass::GetSchemaRules ( ) const
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 1847 of file TClass.cxx.

const char * TClass::GetSharedLibs ( )

Get the list of shared libraries containing the code for class cls.

The first library in the list is the one containing the class, the others are the libraries the first one depends on. Returns 0 in case the library is not found.

Definition at line 3435 of file TClass.cxx.

Referenced by TDocOutput::CreateClassTypeDefs(), TClassDocOutput::CreateDotClassChartLib(), THtml::CreateListOfClasses(), TDocOutput::CreateModuleIndex(), THtml::GetHtmlFileName(), THtml::TModuleDefinition::GetModule(), and TClassDocOutput::WriteClassDocHeader().

ShowMembersFunc_t TClass::GetShowMembersWrapper ( ) const
inline

Definition at line 442 of file TClass.h.

EState TClass::GetState ( ) const
inline
TClassStreamer * TClass::GetStreamer ( ) const
ClassStreamerFunc_t TClass::GetStreamerFunc ( ) const

Get a wrapper/accessor function around this class custom streamer (member function).

Definition at line 2852 of file TClass.cxx.

Referenced by TStreamerBase::InitStreaming().

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

Referenced by ROOT::Internal::TTreeProxyGenerator::AnalyzeBranches(), ROOT::Internal::TTreeProxyGenerator::AnalyzeElement(), ROOT::Internal::TTreeProxyGenerator::AnalyzeTree(), ROOT::Internal::TTreeReaderGenerator::AnalyzeTree(), BuildEmulatedRealData(), TStreamerInfo::BuildOld(), TTree::BuildStreamerInfo(), CallShowMembers(), CanSplitBaseAllow(), TStreamerInfo::CompareContent(), TTreeCloner::CopyStreamerInfos(), ROOT::Internal::TTreeReaderValueBase::CreateProxy(), DeleteArray(), Destructor(), TBranchElement::FillLeavesMakeClass(), FindStreamerInfo(), TStreamerInfo::ForceWriteInfo(), TBufferFile::ForceWriteInfoClones(), GetActualClass(), TMethodBrowsable::GetBrowsableMethodsForClass(), TNonSplitBrowsable::GetBrowsables(), ROOT::Internal::TTreeGeneratorBase::GetContainedClassName(), GetConversionStreamerInfo(), TFormLeafInfoClones::GetCounterValue(), TBranchElement::GetCurrentClass(), TVirtualStreamerInfo::GetElementCounter(), TBranchSTL::GetInfo(), TTreeFormula::GetLeafWithDatamember(), GetMissingDictionariesForPairElements(), TGenCollectionProxy::GetReadMemberWiseActions(), TStreamerInfo::GetStreamerElement(), ROOT::Internal::TTreeGeneratorBase::GetStreamerInfo(), GetStreamerInfoAbstractEmulated(), TGenCollectionProxy::GetWriteMemberWiseActions(), ROOT::Detail::TSchemaRuleSet::HasRuleWithSourceClass(), InheritsFrom(), TBranchElement::InitInfo(), TStreamerBase::InitStreaming(), TTreePlayer::MakeClass(), TSQLFile::MakeSelectQuery(), New(), NewArray(), TConvertClonesArrayToProxy::operator()(), TTreeFormula::ParseWithLeaf(), TSQLFile::ProduceClassSelectQuery(), TXMLPlayer::ProduceStreamerSource(), R__GenerateTClassForPair(), TStreamerInfoActions::ReadArraySTLMemberWiseSameClass(), TStreamerInfo::ReadBuffer(), TBufferFile::ReadClassEmulated(), TBufferFile::ReadClones(), TFormLeafInfoClones::ReadCounterValue(), TGenCollectionStreamer::ReadMap(), TGenCollectionStreamer::ReadPairFromMap(), TStreamerInfoActions::ReadSTLMemberWiseSameClass(), TTreeFormula::RegisterDimensions(), TBranchObject::SetAddress(), TBranchElement::SetAddress(), TDirectoryFile::SetTRefAction(), ROOT::Detail::TBranchProxy::Setup(), Size(), TConvertMapToProxy::TConvertMapToProxy(), TFormLeafInfoMultiVarDim::TFormLeafInfoMultiVarDim(), TFormLeafInfo::Update(), TStreamerInfo::WriteBufferAux(), and TBufferFile::WriteClones().

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

Referenced by BuildEmulatedRealData(), TStreamerInfo::BuildOld(), TStreamerInfo::DestructorImpl(), TStreamerInfo::GetStreamerElement(), TBranchElement::InitInfo(), and TStreamerInfo::New().

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

Definition at line 451 of file TClass.h.

Referenced by AddClass(), TTree::BranchImp(), TTree::BranchImpRef(), and RemoveClass().

Bool_t TClass::HasDataMemberInfo ( ) const
inline
Bool_t TClass::HasDefaultConstructor ( ) const

Return true if we have access to a default constructor.

Definition at line 6847 of file TClass.cxx.

Referenced by RooWorkspace::CodeRepo::autoImportClass(), TKey::TKey(), and TBufferFile::WriteObjectClass().

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

Referenced by GetMissingDictionaries(), and GetMissingDictionariesWithRecursionCheck().

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

Bool_t TClass::HasInterpreterInfo ( ) const
inline
Bool_t TClass::HasInterpreterInfoInMemory ( ) const
inline

Definition at line 373 of file TClass.h.

Referenced by TListOfEnums::Get(), TListOfDataMembers::Get(), and GetBaseClassOffset().

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

Definition at line 3180 of file TClass.cxx.

Referenced by TCling::UpdateClassInfoWithDecl().

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

Referenced by TStreamerInfo::BuildCheck(), ForceReload(), and Init().

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

Referenced by TGedEditor::ActivateEditor(), TTree::BranchImp(), TTree::BranchImpRef(), TTree::BranchOld(), TTree::CheckBranchAddressType(), TStructNodeProperty::Compare(), TQObject::Connect(), TQObject::ConnectToClass(), TMVA::correlationscatters(), TMVA::correlationscattersMultiClass(), TMVA::CorrGui(), TStructViewer::CountMembers(), RooFactoryWSTool::createArg(), TClassDocOutput::CreateDotClassChartInh(), TQObject::Disconnect(), TMVA::draw_network(), TMVA::TMVAGlob::ExistMethodName(), TEveElement::FindChild(), TEveElement::FindChildren(), TMVA::TMVAGlob::FindMethod(), TMVA::get_var_names(), TCollectionPropertyBrowsable::GetBrowsables(), TMVA::TMVAGlob::GetClassNames(), TVirtualBranchBrowsable::GetCollectionContainedType(), THtml::GetDerivedClasses(), TGeoTabManager::GetEditors(), TGeoTransientPanel::GetEditors(), TMVA::TMVAGlob::GetInputVariableNames(), TMVA::TMVAGlob::GetListOfKeys(), TMVA::TMVAGlob::GetListOfMethods(), TMVA::TMVAGlob::GetListOfTitles(), TFileInfo::GetMetaData(), TFileDrawMap::GetObjectInfoDir(), TObject::InheritsFrom(), InheritsFrom(), TOutputListSelectorDataMap::Init(), TRootSniffer::IsDrawableClass(), TSelector::IsStandardDraw(), TMVA::RuleFit::MakeVisHists(), TFileMerger::MergeRecursive(), TMVA::TMVAGlob::NextKey(), TFile::Open(), TFileDrawMap::PaintDir(), TTreeFormula::ParseWithLeaf(), Property(), PyROOT::Pythonize(), TBufferFile::ReadClass(), TKey::ReadObj(), TKey::ReadObjectAny(), TKey::ReadObjWithBuffer(), TXMLFile::ReadStreamerElement(), TFile::Recover(), TMVA::rulevisCorr(), TMVA::rulevisHists(), TGMainFrame::SaveSource(), TGTransientFrame::SaveSource(), TRootSniffer::ScanCollection(), TBranchObject::SetAddress(), TROOT::SetCutClassName(), TOutputListSelectorDataMap::SetDataMembers(), TDSet::TDSet(), TFileInfoMeta::TFileInfoMeta(), TBranchElement::Unroll(), and TMVA::variables().

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

void TClass::Init ( const char *  name,
Version_t  cversion,
const 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 1308 of file TClass.cxx.

Referenced by TClass().

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

TClass::ENewType TClass::IsCallingNew ( )
static

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

New type is either:

Definition at line 5516 of file TClass.cxx.

Referenced by ClassImp(), and TGeoManager::TGeoManager().

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

Bool_t TClass::IsFolder ( void obj) const

Return kTRUE if the class has elements.

Definition at line 3858 of file TClass.cxx.

Bool_t TClass::IsForeign ( ) const

Return kTRUE is the class is Foreign (the class does not have a Streamer method).

Definition at line 5561 of file TClass.cxx.

Referenced by TStreamerInfo::BuildCheck(), TBranchElement::InitInfo(), IsVersioned(), PostLoadCheck(), TBufferFile::ReadVersion(), TBufferFile::ReadVersionForMemberWise(), and TBufferFile::SkipVersion().

Bool_t TClass::IsLoaded ( ) const
Bool_t TClass::IsStartingWithTObject ( ) const

Returns true if this class inherits from TObject and if the start of the TObject parts is at the very beginning of the objects.

Concretely this means that the following code is proper for this class:

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

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

Definition at line 5543 of file TClass.cxx.

Referenced by TInspectCanvas::InspectObject(), and TStreamerInfo::ReadBuffer().

Bool_t TClass::IsTObject ( ) const
Bool_t TClass::IsVersioned ( ) const
inline
TClass * TClass::Load ( TBuffer b)
static

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

Definition at line 5336 of file TClass.cxx.

Referenced by TBufferFile::ReadClass().

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

Referenced by TCling::GenerateTClass(), TROOT::LoadClass(), and TPluginHandler::LoadPlugin().

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

Referenced by GetClass(), and LoadClass().

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

Referenced by GetClass(), and LoadClass().

void TClass::LoadClassInfo ( ) const
private

Try to load the classInfo (it may require parsing the header file and/or loading data from the clang pcm).

Definition at line 5443 of file TClass.cxx.

Referenced by CallShowMembers(), GetBaseClassOffsetRecurse(), GetClassInfo(), GetClassMethod(), GetClassMethodWithPrototype(), GetListOfBases(), GetMethod(), and GetMethodWithPrototype().

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

void TClass::MakeCustomMenuList ( )

Makes a customizable version of the popup menu list, i.e.

makes a list of TClassMenuItem objects of methods accessible by context menu. The standard (and different) way consists in having just one element in this list, corresponding to the whole standard list. Once the customizable version is done, one can remove or add elements.

Definition at line 4017 of file TClass.cxx.

Referenced by ClassImp().

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

Referenced by TStreamerInfo::BuildCheck(), PostLoadCheck(), TBufferFile::ReadVersion(), TBufferFile::ReadVersionForMemberWise(), and TBufferFile::SkipVersion().

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

Referenced by TEmulatedCollectionProxy::Expand().

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

Referenced by TGedEditor::ActivateEditor(), TGLScenePad::AttemptDirectRenderer(), TTree::BranchOld(), TTree::BronchExec(), THnBase::CloneEmpty(), Cppyy::Construct(), TClonesArray::ConstructedAt(), THttpServer::CreateEngine(), THnBase::CreateHnAny(), TF1::DrawCopy(), TEmulatedCollectionProxy::Expand(), TClonesArray::ExpandCreate(), TClonesArray::ExpandCreateFast(), TH1::ExtendAxis(), TLeafObject::FillBasket(), TMapFile::Get(), TGeoTabManager::GetEditors(), TGeoTransientPanel::GetEditors(), TSelector::GetSelector(), TDocParser::HandleDirective(), TEveProjectionManager::ImportElementsRecurse(), TBranchObject::Init(), TKey::IsFolder(), TH1::LabelsDeflate(), TH1::LabelsInflate(), TSeqCollection::Merge(), TH2::Merge(), TH3::Merge(), TH1::Merge(), TClonesArray::New(), TVirtualCollectionProxy::New(), TTable::New(), TStreamerInfo::New(), TRootSniffer::ProduceExe(), TArray::ReadArray(), TLeafObject::ReadBasket(), TStreamerInfo::ReadBuffer(), TBufferFile::ReadFastArray(), TBranchElement::ReadLeavesCollection(), TKey::ReadObj(), TKey::ReadObjectAny(), TBufferFile::ReadObjectAny(), TKey::ReadObjWithBuffer(), TXMLFile::ReadStreamerElement(), TString::ReadString(), TBranchObject::SetAddress(), TBranchElement::SetAddress(), TBranchObject::SetupAddresses(), TBufferSQL2::SqlReadObjectDirect(), TEveGedEditor::TEveGedEditor(), TEveElement::VizDB_Insert(), and TBufferXML::XmlReadObject().

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

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

Referenced by TVirtualCollectionProxy::NewArray(), TStreamerInfo::ReadBuffer(), and TVirtualArray::SetSize().

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

TClass& TClass::operator= ( const TClass )
privatedelete
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 5571 of file TClass.cxx.

Referenced by TCling::AutoParse(), GetClass(), LoadClassCustom(), LoadClassDefault(), TCling::LoadPCM(), and TCling::RegisterModule().

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

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.

Implements TDictionary.

Definition at line 5652 of file TClass.cxx.

Referenced by AdoptStreamer(), RooWorkspace::CodeRepo::autoImportClass(), TStreamerInfo::Build(), TStreamerInfo::BuildCheck(), BuildEmulatedRealData(), TStreamerInfo::BuildOld(), ClassProperty(), TStreamerInfo::DestructorImpl(), TRootContextMenu::Dialog(), TLeafObject::FillBasket(), TProtoClass::FillTClass(), TListOfDataMembers::FindObject(), TStreamerInfo::ForceWriteInfo(), GetListOfDataMembers(), GetListOfEnums(), TStreamerInfo::GetStreamerElement(), TBranchElement::InitializeOffsets(), TBranchElement::InitInfo(), Cppyy::IsAbstract(), IsForeign(), Cppyy::IsNamespace(), THtml::IsNamespace(), Cppyy::IsPublicData(), IsStartingWithTObject(), Cppyy::IsStaticData(), IsTObject(), TClassDocOutput::ListFunctions(), TListOfEnums::Load(), TListOfDataMembers::Load(), TCling::LoadPCM(), TStreamerInfo::New(), TRootSniffer::ScanObjectMembers(), StreamerDefault(), TProtoClass::TProtoClass(), TBranchElement::Unroll(), and TBufferFile::WriteFastArray().

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

Referenced by TLeafObject::ReadBasket().

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

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

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

Referenced by TROOT::InitInterpreter().

void TClass::RegisterStreamerInfo ( TVirtualStreamerInfo info)

Register the StreamerInfo in the given slot, change the State of the TClass as appropriate.

Definition at line 6807 of file TClass.cxx.

Referenced by TStreamerInfo::BuildCheck().

void TClass::RemoveClass ( TClass cl)
static

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

Definition at line 476 of file TClass.cxx.

Referenced by Clone(), ForceReload(), Init(), TROOT::RemoveClass(), and ~TClass().

void TClass::RemoveClassDeclId ( TDictionary::DeclId_t  id)
static
void TClass::RemoveStreamerInfo ( Int_t  slot)

Remove and delete the StreamerInfo in the given slot.

Update the slot accordingly.

Definition at line 6831 of file TClass.cxx.

Referenced by TStreamerInfo::BuildCheck().

void TClass::ReplaceWith ( TClass newcl) const

Definition at line 3865 of file TClass.cxx.

Referenced by ForceReload(), and Init().

void TClass::ResetCaches ( )

To clean out all caches.

Definition at line 3951 of file TClass.cxx.

Referenced by ResetClassInfo(), and TCling::UpdateClassInfoWithDecl().

void TClass::ResetClassInfo ( Long_t  tagnum)

Make sure that the current ClassInfo is up to date.

Definition at line 3908 of file TClass.cxx.

void TClass::ResetClassInfo ( )

Make sure that the current ClassInfo is up to date.

Definition at line 3916 of file TClass.cxx.

void TClass::ResetInstanceCount ( )
inline

Definition at line 484 of file TClass.h.

Referenced by Init().

void TClass::ResetMenuList ( )

Resets the menu list to it's standard value.

Definition at line 3977 of file TClass.cxx.

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

void TClass::SetClassSize ( Int_t  sizof)
inlineprivate

Definition at line 268 of file TClass.h.

Referenced by Clone(), and ROOT::TGenericClassInfo::GetClass().

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

Referenced by PostLoadCheck(), and ROOT::ResetClassVersion().

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

Referenced by ROOT::TGenericClassInfo::GetClass().

void TClass::SetContextMenuTitle ( const char *  title)

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

Definition at line 5808 of file TClass.cxx.

void TClass::SetConvStreamerFunc ( ClassConvStreamerFunc_t  strm)

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

Definition at line 6475 of file TClass.cxx.

Referenced by ROOT::TGenericClassInfo::GetClass(), and ROOT::TGenericClassInfo::SetConvStreamerFunc().

void TClass::SetCurrentStreamerInfo ( TVirtualStreamerInfo info)

Set pointer to current TVirtualStreamerInfo.

Definition at line 5317 of file TClass.cxx.

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

Definition at line 492 of file TClass.h.

Referenced by ROOT::TGenericClassInfo::SetDeclFile().

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

Install a new wrapper around 'delete'.

Definition at line 6531 of file TClass.cxx.

Referenced by Clone(), ROOT::TGenericClassInfo::GetClass(), and ROOT::TGenericClassInfo::SetDelete().

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

Install a new wrapper around 'delete []'.

Definition at line 6539 of file TClass.cxx.

Referenced by Clone(), ROOT::TGenericClassInfo::GetClass(), and ROOT::TGenericClassInfo::SetDeleteArray().

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

Install a new wrapper around the destructor.

Definition at line 6547 of file TClass.cxx.

Referenced by Clone(), ROOT::TGenericClassInfo::GetClass(), and ROOT::TGenericClassInfo::SetDestructor().

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

Referenced by Clone(), ROOT::TGenericClassInfo::GetClass(), and ROOT::TGenericClassInfo::SetDirectoryAutoAdd().

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

'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

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

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

Definition at line 497 of file TClass.h.

void TClass::SetLastReadInfo ( TVirtualStreamerInfo info)
inline

Definition at line 398 of file TClass.h.

void TClass::SetMemberStreamer ( const char *  name,
MemberStreamerFunc_t  strm 
)

Install a new member streamer (p will be copied).

Definition at line 6274 of file TClass.cxx.

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

Install a new wrapper around 'Merge'.

Definition at line 6499 of file TClass.cxx.

Referenced by ROOT::TGenericClassInfo::GetClass(), and ROOT::TGenericClassInfo::SetMerge().

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

Install a new wrapper around 'new'.

Definition at line 6515 of file TClass.cxx.

Referenced by Clone(), ROOT::TGenericClassInfo::GetClass(), and ROOT::TGenericClassInfo::SetNew().

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

Install a new wrapper around 'new []'.

Definition at line 6523 of file TClass.cxx.

Referenced by Clone(), ROOT::TGenericClassInfo::GetClass(), and ROOT::TGenericClassInfo::SetNewArray().

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

Install a new wrapper around 'ResetAfterMerge'.

Definition at line 6507 of file TClass.cxx.

Referenced by ROOT::TGenericClassInfo::GetClass(), and ROOT::TGenericClassInfo::SetResetAfterMerge().

void TClass::SetStreamerFunc ( ClassStreamerFunc_t  strm)

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

Definition at line 6452 of file TClass.cxx.

Referenced by ROOT::TGenericClassInfo::GetClass(), and ROOT::TGenericClassInfo::SetStreamerFunc().

void TClass::SetStreamerImpl ( )
private

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

Definition at line 5754 of file TClass.cxx.

Referenced by TProtoClass::FillTClass(), and Property().

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

void TClass::SetUnloaded ( )

Call this method to indicate that the shared library containing this class's code has been removed (unloaded) from the process's memory.

Definition at line 5848 of file TClass.cxx.

Referenced by ROOT::RemoveClass().

Int_t TClass::Size ( ) const
void TClass::Store ( TBuffer b) const

Store class description on I/O buffer.

Definition at line 5474 of file TClass.cxx.

void TClass::Streamer ( void obj,
TBuffer b,
const TClass onfile_class = 0 
) const
inline
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 6403 of file TClass.cxx.

Referenced by Property(), and SetStreamerImpl().

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

Referenced by AdoptStreamer(), Property(), and SetStreamerImpl().

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

Referenced by Property(), SetStreamerFunc(), and SetStreamerImpl().

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

Referenced by Property(), and SetStreamerImpl().

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

Case of TObjects.

Definition at line 6330 of file TClass.cxx.

Referenced by Property(), and SetStreamerImpl().

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

Referenced by SetStreamerImpl().

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

Referenced by CalculateStreamerOffset().

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

Referenced by TStreamerBase::WriteBuffer().

Friends And Related Function Documentation

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

Definition at line 85 of file TClass.h.

friend class TCling
friend

Definition at line 83 of file TClass.h.

friend class TProtoClass
friend

Definition at line 86 of file TClass.h.

Member Data Documentation

TViewPubDataMembers* TClass::fAllPubData
private

Definition at line 189 of file TClass.h.

Referenced by GetListOfAllPublicDataMembers(), ResetCaches(), and ~TClass().

TViewPubFunctions* TClass::fAllPubMethod
private

Definition at line 190 of file TClass.h.

Referenced by GetListOfAllPublicMethods(), and ~TClass().

std::atomic<TList*> TClass::fBase
private
std::atomic<Bool_t> TClass::fCanLoadClassInfo
mutableprivate
Int_t TClass::fCanSplit
private
std::atomic<UInt_t> TClass::fCheckSum
mutableprivate
ClassInfo_t* TClass::fClassInfo
private
TList* TClass::fClassMenuList
mutableprivate

Definition at line 191 of file TClass.h.

Referenced by GetMenuList(), MakeCustomMenuList(), ResetMenuList(), and ~TClass().

Long_t TClass::fClassProperty
mutableprivate

Property.

Definition at line 227 of file TClass.h.

Referenced by ClassProperty(), TProtoClass::FillTClass(), Init(), and Property().

Version_t TClass::fClassVersion
private
TVirtualCollectionProxy* TClass::fCollectionProxy
private
TString TClass::fContextMenuTitle
private

Definition at line 203 of file TClass.h.

Referenced by GetContextMenuTitle(), and SetContextMenuTitle().

ConvSIMap_t TClass::fConversionStreamerInfo
mutableprivate

Definition at line 180 of file TClass.h.

Referenced by FindConversionStreamerInfo(), GetConversionStreamerInfo(), ls(), TClass(), and ~TClass().

ClassConvStreamerFunc_t TClass::fConvStreamerFunc
private
std::atomic<TVirtualStreamerInfo*> TClass::fCurrentInfo
mutableprivate

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

Definition at line 238 of file TClass.h.

Referenced by DetermineCurrentStreamerInfo(), GetStreamerInfo(), HasDefaultConstructor(), SetClassVersion(), and SetCurrentStreamerInfo().

TListOfDataMembers* TClass::fData
private
Short_t TClass::fDeclFileLine
private

Definition at line 195 of file TClass.h.

Referenced by GetDeclFileLine(), Init(), SetUnloaded(), TClass(), and ~TClass().

const char* TClass::fDeclFileName
private

Definition at line 193 of file TClass.h.

Referenced by GetDeclFileName(), Init(), and SetUnloaded().

ROOT::DelFunc_t TClass::fDelete
private

Definition at line 217 of file TClass.h.

Referenced by Clone(), Destructor(), GetDelete(), and SetDelete().

ROOT::DelArrFunc_t TClass::fDeleteArray
private

Definition at line 218 of file TClass.h.

Referenced by Clone(), DeleteArray(), GetDeleteArray(), and SetDeleteArray().

ROOT::DesFunc_t TClass::fDestructor
private

Definition at line 219 of file TClass.h.

Referenced by Clone(), Destructor(), GetDestructor(), and SetDestructor().

ROOT::DirAutoAdd_t TClass::fDirAutoAdd
private

Definition at line 220 of file TClass.h.

Referenced by Clone(), GetDirectoryAutoAdd(), and SetDirectoryAutoAdd().

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

Definition at line 186 of file TClass.h.

Referenced by GetFunctionTemplate(), GetListOfFunctionTemplates(), and ~TClass().

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

Definition at line 285 of file TClass.h.

Referenced by Init().

THashTable * TClass::fgClassTypedefHash = 0
staticprivate

Definition at line 316 of file TClass.h.

Referenced by Init(), and ~TClass().

IsAGlobalFunc_t TClass::fGlobalIsA
private

pointer to the class's IsA proxy.

Definition at line 210 of file TClass.h.

Referenced by GetActualClass(), and SetGlobalIsA().

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

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

Definition at line 230 of file TClass.h.

Referenced by GetListOfBases(), GetListOfDataMembers(), Init(), and TCling::UpdateClassInfoWithDecl().

Short_t TClass::fImplFileLine
private

Definition at line 196 of file TClass.h.

Referenced by AddImplFile(), GetImplFileLine(), Init(), and SetUnloaded().

const char* TClass::fImplFileName
private

Definition at line 194 of file TClass.h.

Referenced by AddImplFile(), GetImplFileName(), Init(), and SetUnloaded().

UInt_t TClass::fInstanceCount
private

Definition at line 197 of file TClass.h.

Referenced by GetInstanceCount().

TVirtualIsAProxy* TClass::fIsA
private

Definition at line 209 of file TClass.h.

Referenced by GetActualClass(), GetIsAProxy(), Init(), SetUnloaded(), and ~TClass().

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

Definition at line 211 of file TClass.h.

Referenced by ~TClass().

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

Indicates whether the ClassInfo is supposed to be available.

Definition at line 232 of file TClass.h.

Referenced by Browse(), CalculateStreamerOffset(), Dump(), GetActualClass(), StreamerTObject(), and ~TClass().

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

cached current streamer info.

Definition at line 239 of file TClass.h.

Referenced by FindStreamerInfo(), GetLastReadInfo(), and GetStreamerInfo().

ROOT::MergeFunc_t TClass::fMerge
private

saved info to call a IsA member function

Definition at line 213 of file TClass.h.

Referenced by GetMerge(), and SetMerge().

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

Definition at line 187 of file TClass.h.

Referenced by GetListOfMethods(), GetMethodList(), ResetCaches(), SetUnloaded(), and ~TClass().

ROOT::NewFunc_t TClass::fNew
private

Definition at line 215 of file TClass.h.

Referenced by Clone(), GetNew(), HasDefaultConstructor(), New(), and SetNew().

ROOT::NewArrFunc_t TClass::fNewArray
private

Definition at line 216 of file TClass.h.

Referenced by Clone(), GetNewArray(), NewArray(), and SetNewArray().

TClass::TDeclNameRegistry TClass::fNoInfoOrEmuOrFwdDeclNameRegistry
staticprivate
Long_t TClass::fOffsetStreamer
mutableprivate

Indicates whether GetClassVersion has been called.

Definition at line 235 of file TClass.h.

Referenced by Browse(), CalculateStreamerOffset(), Dump(), GetActualClass(), StreamerTObject(), StreamerTObjectInitialized(), and TProtoClass::TProtoClass().

UInt_t TClass::fOnHeap
private

Definition at line 198 of file TClass.h.

Referenced by GetHeapInstanceCount().

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

Definition at line 175 of file TClass.h.

Referenced by GetPersistentRef(), Init(), and ~TClass().

std::atomic<Long_t> TClass::fProperty
mutableprivate
TList* TClass::fRealData
private
TVirtualRefProxy* TClass::fRefProxy
private

cached streamer info used in the last read.

Definition at line 240 of file TClass.h.

Referenced by AdoptReferenceProxy(), CanSplit(), Clone(), GetReferenceProxy(), and ~TClass().

ROOT::ResetAfterMergeFunc_t TClass::fResetAfterMerge
private

Definition at line 214 of file TClass.h.

Referenced by GetResetAfterMerge(), and SetResetAfterMerge().

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

Pointer to reference proxy if this class represents a reference.

Definition at line 241 of file TClass.h.

Referenced by AdoptSchemaRules(), GetSchemaRules(), Init(), SetCollectionProxy(), and ~TClass().

TString TClass::fSharedLibs
private

Definition at line 207 of file TClass.h.

Referenced by GetSharedLibs().

ShowMembersFunc_t TClass::fShowMembers
private

Definition at line 205 of file TClass.h.

Referenced by CallShowMembers(), Clone(), and GetShowMembersWrapper().

Int_t TClass::fSizeof
private

Definition at line 223 of file TClass.h.

Referenced by Clone(), TProtoClass::FillTClass(), Init(), and Size().

EState TClass::fState
private
TClassStreamer* TClass::fStreamer
private

Definition at line 206 of file TClass.h.

Referenced by AdoptStreamer(), Clone(), GetStreamer(), Init(), StreamerExternal(), and ~TClass().

ClassStreamerFunc_t TClass::fStreamerFunc
private
std::atomic<StreamerImpl_t> TClass::fStreamerImpl
mutableprivate
TObjArray* TClass::fStreamerInfo
mutableprivate
Int_t TClass::fStreamerType
private
const type_info* TClass::fTypeInfo
private

Definition at line 204 of file TClass.h.

Referenced by Clone(), GetTypeInfo(), Init(), and SetUnloaded().

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

saved remember if fOffsetStreamer has been set.

Definition at line 233 of file TClass.h.

Referenced by ROOT::ResetClassVersion().


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