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:
virtual~TClassTable()
voidTObject::AbstractMethod(const char* method) const
static voidAdd(TProtoClass* protoClass)
static voidAdd(const char* cname, Version_t id, const type_info& info, DictFuncPtr_t dict, Int_t pragmabits)
static voidAddAlternate(const char* normname, const char* alternate)
virtual voidTObject::AppendPad(Option_t* option = "")
static char*At(UInt_t index)
virtual voidTObject::Browse(TBrowser* b)
static Bool_tCheck(const char* cname, string& normname)
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 DictFuncPtr_tGetDict(const char* cname)
static DictFuncPtr_tGetDict(const type_info& info)
static DictFuncPtr_tGetDictNorm(const char* cname)
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)
static TProtoClass*GetProto(const char* cname)
static TProtoClass*GetProtoNorm(const char* cname)
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
voidTObject::operator delete(void* ptr)
voidTObject::operator delete(void* ptr, void* vp)
voidTObject::operator delete[](void* ptr)
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) const
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
TClassTable(const TClassTable&)
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:
static ROOT::TClassRec*FindElement(const char* cname, Bool_t insert = kFALSE)
static ROOT::TClassRec*FindElementImpl(const char* cname, Bool_t insert)
static voidSortTable()
TClassTable()

Data Members

public:
static TClassTable::(anonymous)kAutoStreamer
static TObject::(anonymous)TObject::kBitMask
static TObject::EStatusBitsTObject::kCanDelete
static TObject::EStatusBitsTObject::kCannotPick
static TClassTable::(anonymous)kHasCustomStreamerMember
static TObject::EStatusBitsTObject::kHasUUID
static TClassTable::(anonymous)kHasVersion
static TObject::EStatusBitsTObject::kInvalidObject
static TObject::(anonymous)TObject::kIsOnHeap
static TObject::EStatusBitsTObject::kIsReferenced
static TObject::EStatusBitsTObject::kMustCleanup
static TObject::EStatusBitsTObject::kNoContextMenu
static TClassTable::(anonymous)kNoInputOperator
static TClassTable::(anonymous)kNoStreamer
static TObject::(anonymous)TObject::kNotDeleted
static TObject::EStatusBitsTObject::kObjInCanvas
static TObject::(anonymous)TObject::kOverwrite
static TObject::(anonymous)TObject::kSingleKey
static TObject::(anonymous)TObject::kWriteDelete
static TObject::(anonymous)TObject::kZombie
private:
static ROOT::TClassAlt**fgAlternate
static UInt_tfgCursor
static TClassTable::IdMap_t*fgIdMap
static UInt_tfgSize
static Bool_tfgSorted
static ROOT::TClassRec**fgSortedTable
static ROOT::TClassRec**fgTable
static UInt_tfgTally

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(UInt_t 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, DictFuncPtr_t dict, Int_t pragmabits)
 Add a class to the class table (this is a static function).
 Note that the given cname *must* be already normalized.
void Add(TProtoClass* protoClass)
 Add a class to the class table (this is a static function).
void AddAlternate(const char* normname, const char* alternate)
Bool_t Check(const char* cname, string& normname)
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.
 cname can be any spelling of the class name.  See FindElementImpl if the
 name is already normalized.
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.
DictFuncPtr_t GetDict(const char* cname)
 Given the class name returns the Dictionary() function of a class
 (uses hash of name).
DictFuncPtr_t GetDict(const type_info& info)
 Given the type_info returns the Dictionary() function of a class
 (uses hash of type_info::name()).
DictFuncPtr_t GetDictNorm(const char* cname)
 Given the normalized class name returns the Dictionary() function of a class
 (uses hash of name).
TProtoClass * GetProto(const char* cname)
 Given the class name returns the TClassProto object for the class.
 (uses hash of name).
TProtoClass * GetProtoNorm(const char* cname)
 Given the class normalized name returns the TClassProto object for the class.
 (uses hash of 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()