ROOT logo
ROOT » CORE » CONT » TClassTable

class TClassTable: public TObject


This class registers for all classes their name, id and dictionary
function in a hash table. Classes are automatically added by the
ctor of a special init class when a global of this init class is
initialized when the program starts (see the ClassImp macro).


Function Members (Methods)

public:
TClassTable(const TClassTable&)
virtual~TClassTable()
voidTObject::AbstractMethod(const char* method) const
static voidAdd(const char* cname, Version_t id, const type_info& info, VoidFuncPtr_t dict, Int_t pragmabits)
virtual voidTObject::AppendPad(Option_t* option = "")
static char*At(int index)
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
intClasses()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
static VoidFuncPtr_tGetDict(const char* cname)
static VoidFuncPtr_tGetDict(const type_info& info)
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
static Version_tGetID(const char* cname)
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
static Int_tGetPragmaBits(const char* name)
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
static voidInit()
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
static char*Next()
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
TClassTable&operator=(const TClassTable&)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidPrint(Option_t* option = "") const
static voidPrintTable()
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
static voidRemove(const char* cname)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(ostream& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
static voidTerminate()
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
private:
TClassTable()
static TClassRec*FindElement(const char* cname, Bool_t insert = kFALSE)
static TClassRec*FindElementImpl(const char* cname, Bool_t insert)
static voidSortTable()

Data Members

public:
enum { kNoStreamer
kNoInputOperator
kAutoStreamer
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
private:
static intfgCursor
static ROOT::TMapTypeToClassRec*fgIdMap
static intfgSize
static Bool_tfgSorted
static TClassRec**fgSortedTable
static TClassRec**fgTable
static intfgTally

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TClassTable()
 TClassTable is a singleton (i.e. only one can exist per application).
~TClassTable()
 TClassTable singleton is deleted in Terminate().
void Print(Option_t* option = "") const
 Print the class table. Before printing the table is sorted
 alphabetically. Only classes specified in option are listed.
 The default is to list all classes.
 Standard wilcarding notation supported.
char * At(int index)
 Returns class at index from sorted class table. Don't use this iterator
 while modifying the class table. The class table can be modified
 when making calls like TClass::GetClass(), etc.
 Returns 0 if index points beyond last class name.
int Classes()
{ return fgTally; }
void Init()
{ fgCursor = 0; SortTable(); }
void Add(const char* cname, Version_t id, const type_info& info, VoidFuncPtr_t dict, Int_t pragmabits)
 Add a class to the class table (this is a static function).
void Remove(const char* cname)
 Remove a class from the class table. This happens when a shared library
 is unloaded (i.e. the dtor's of the global init objects are called).
TClassRec * FindElementImpl(const char* cname, Bool_t insert)
 Find a class by name in the class table (using hash of name). Returns
 0 if the class is not in the table. Unless arguments insert is true in
 which case a new entry is created and returned.
TClassRec * FindElement(const char* cname, Bool_t insert = kFALSE)
 Find a class by name in the class table (using hash of name). Returns
 0 if the class is not in the table. Unless arguments insert is true in
 which case a new entry is created and returned.
Version_t GetID(const char* cname)
 Returns the ID of a class.
Int_t GetPragmaBits(const char* name)
 Returns the pragma bits as specified in the LinkDef.h file.
VoidFuncPtr_t GetDict(const char* cname)
 Given the class name returns the Dictionary() function of a class
 (uses hash of name).
VoidFuncPtr_t GetDict(const type_info& info)
 Given the type_info returns the Dictionary() function of a class
 (uses hash of type_info::name()).
char * Next()
 Returns next class from sorted class table. Don't use this iterator
 while modifying the class table. The class table can be modified
 when making calls like TClass::GetClass(), etc.
void PrintTable()
 Print the class table. Before printing the table is sorted
 alphabetically.
void SortTable()
 Sort the class table by ascending class ID's.
void Terminate()
 Deletes the class table (this static class function calls the dtor).
TClassTable()