TClass


class description - source file - inheritance tree

class TClass : public TDictionary

    private:
TMethod* GetClassMethod(Long_t faddr) public:
TClass TClass() TClass TClass(const char* name, Version_t cversion, const char* dfil = 0, const char* ifil = 0, Int_t dl = 0, Int_t il = 0) TClass TClass(TClass&) virtual void ~TClass() void AddInstance(Bool_t heap = kFALSE) virtual void Browse(TBrowser* b) void BuildRealData() static TClass* Class() virtual Int_t Compare(TObject* obj) void Destructor(void* obj, Bool_t dtorOnly = kFALSE) virtual void Draw(Option_t* option) void* DynamicCast(const TClass* base, void* obj) char* EscapeChars(char* text) void FillStreamerInfoList(TList* list) TClass* GetBaseClass(const char* classname) TClass* GetBaseClass(const TClass* base) Int_t GetBaseClassOffset(const TClass* base) TClass* GetBaseDataMember(const char* datamember) G__ClassInfo* GetClassInfo() const Version_t GetClassVersion() const TDataMember* GetDataMember(const char* datamember) Short_t GetDeclFileLine() const const char* GetDeclFileName() const UInt_t GetHeapInstanceCount() Short_t GetImplFileLine() const const char* GetImplFileName() const UInt_t GetInstanceCount() TList* GetListOfAllPublicDataMembers() TList* GetListOfAllPublicMethods() TList* GetListOfBases() TList* GetListOfDataMembers() TList* GetListOfMethods() TList* GetListOfRealData() void GetMenuItems(TList* listitems) TMethod* GetMethod(const char* method, const char* params) TMethod* GetMethodAny(const char* method) TMethod* GetMethodWithPrototype(const char* method, const char* proto) virtual const char* GetName() const Int_t GetNdata() Int_t GetNmethods() const char* GetStreamerInfo() const virtual const char* GetTitle() const virtual ULong_t Hash() virtual Bool_t InheritsFrom(const char* cl) const virtual Bool_t InheritsFrom(const TClass* cl) const virtual TClass* IsA() const static Bool_t IsCallingNew() virtual Bool_t IsFolder() const static TClass* Load(TBuffer& b) void* New(Bool_t defConstructor = kTRUE) void PrintStreamerInfoList(TList* list) virtual Long_t Property() const void ResetInstanceCount() void SetStreamerInfo(const char* info) virtual void ShowMembers(TMemberInspector& insp, char* parent) Int_t Size() const void Store(TBuffer& b) const virtual void Streamer(TBuffer& b)

Data Members

private:
TString fName name of class TString fStreamerInfo Streamer description of attributes names/types TList* fRealData linked list for persistent members including base classes TList* fBase linked list for base classes TList* fData linked list for data members TList* fMethod linked list for methods TList* fAllPubData all public data members (including from base classes) TList* fAllPubMethod all public methods (including from base classes) const char* fDeclFileName name of class declaration file const char* fImplFileName name of class implementation file Short_t fDeclFileLine line of class declaration Short_t fImplFileLine line of class implementation UInt_t fInstanceCount number of instances of this class UInt_t fOnHeap number of instances on heap Version_t fClassVersion Class version Identifier G__ClassInfo* fClassInfo pointer to CINT class info class static Bool_t fgCallingNew True when TClass:New is executing static Int_t fgClassCount provides unique id for a each class public:
static const enum TObject:: kClassSaved

Class Description

                                                                      
  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.        
                                                                      


TClass() : TDictionary()
 Default ctor.

TClass(const char *name, Version_t cversion, const char *dfil, const char *ifil, Int_t dl, Int_t il) : TDictionary()
 Create a TClass object. This object contains the full dictionary
 of a class. It has list to baseclasses, datamembers and methods.

~TClass()
 TClass dtor. Deletes all list that might have been created.

void Browse(TBrowser *b)
 This method is called by a browser to get the class information.

void BuildRealData()
 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.

Int_t Compare(TObject *obj)
 Compare to other object. Returns 0<, 0 or >0 depending on
 whether "this" is lexicographically less than, equal to, or
 greater than obj.

void Draw(Option_t *option)
 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

char* EscapeChars(char *text)
 Introduce an escape character (@) in front of a special chars.
 You need to use the result immediately before it is being overwritten.

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.

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.

Int_t GetBaseClassOffset(const TClass *cl)
 Return data member offset to the base class "cl".
 Returns -1 in case "cl" is not a base class.
 Takes care of multiple inheritance.

TClass* GetBaseDataMember(const char *datamember)
 Return pointer to (base) class that contains datamember.

TDataMember* GetDataMember(const char *datamember)
 Return pointer to datamember object with name "datamember".

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

TList* GetListOfDataMembers()
 Return list containing the TDataMembers of a class.

TList* GetListOfMethods()
 Return list containing the TMethods of a class.

TList* GetListOfAllPublicMethods()
 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.

TList* GetListOfAllPublicDataMembers()
 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().

void GetMenuItems(TList *list)
 Returns list of methods accessible by context menu.

TMethod* GetMethodAny(const char *method)
 Return pointer to method without looking at parameters.
 Does not look in (possible) base classes.

TMethod* GetMethod(const char *method, const char *params)
 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.

TMethod* GetMethodWithPrototype(const char *method, const char *proto)
 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.

TMethod* GetClassMethod(Long_t faddr)
 Look for a method in this class that has the interface function
 address faddr.

const char* GetTitle() const
 Return the description of the class.

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

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

Bool_t InheritsFrom(const char *classname) const
 Return kTRUE if this class inherits from a class with name "classname".

Bool_t InheritsFrom(const TClass *cl) const
 Return kTRUE if this class inherits from class cl.

void* DynamicCast(const TClass *cl, void *obj)
 Cast obj of type "this" to baseclass cl. If this is not a
 baseclass of cl return 0, else the pointer to the cl part of this.

void* New(Bool_t defConstructor)
 Return a pointer to a newly allocated object of this class.
 The class must have a default constructor.

void Destructor(void *obj, Bool_t dtorOnly)
 Explicitely call destructor for object.

Int_t Size() const
 Return size of object of this class.

Long_t Property() const
 Get property description word. For meaning of bits see EProperty.

TClass* Load(TBuffer &b)
 Load class description from I/O buffer and return class object.

void Store(TBuffer &b) const
 Store class description on I/O buffer.

const char* GetStreamerInfo()
 Returns a string describing the names/types of object attributes
 as written by the Streamer function.
 The default function is valid only for Streamer functions
 automatically generated by rootcint.
 This function must be overriden in case of a user-written Streamer.

void SetStreamerInfo(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 responsability
 to implement a StreamerInfo function (override TObject::StreamerInfo).
 The user must call IsA()->SetStreamerInfo(info) from this function.

void FillStreamerInfoList(TList *list)
 Fill a TList with all attributes names and types corresponding
 to this class, base classes, used classes, etc. The TList will contain
 a list of TNamed objects with attributeName and attributeType.
 Class names are recursively analyzed to end-up with basic types only.
 Other types are resolved to known basic types. The TList will own
 the TNamed objects in it.

void PrintStreamerInfoList(TList *list)
 Print streamerInfo items in the list.
 If the list pointer is 0, print StreamerInfo for this class.

Bool_t IsCallingNew()
static function returning the CallingNew flag passed to TClass::New
as argument.
This function cannot be inline (problems with NT linker)



Inline Functions


                 void AddInstance(Bool_t heap = kFALSE)
            Version_t GetClassVersion() const
          const char* GetDeclFileName() const
              Short_t GetDeclFileLine() const
        G__ClassInfo* GetClassInfo() const
               TList* GetListOfRealData()
          const char* GetName() const
          const char* GetImplFileName() const
              Short_t GetImplFileLine() const
               UInt_t GetInstanceCount()
               UInt_t GetHeapInstanceCount()
              ULong_t Hash()
               Bool_t IsFolder() const
                 void ResetInstanceCount()
              TClass* Class()
              TClass* IsA() const
                 void ShowMembers(TMemberInspector& insp, char* parent)
                 void Streamer(TBuffer& b)
               TClass TClass(TClass&)


Author: Rene Brun 07/01/95
Last update: root/meta:$Name: $:$Id: TClass.cxx,v 1.8 2000/09/13 10:37:02 rdm Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *


ROOT page - Class index - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.