143#define R__USE_STD_MAP 
  145#if defined R__USE_STD_MAP 
  149      typedef std::map<std::string, TClassRec*> 
IdMap_t;
 
  171         if (iter != 
fMap.end()) cl = iter->second;
 
 
  178         Info(
"TMapTypeToClassRec::Print", 
"printing the typeinfo map in TClassTable");
 
  180            printf(
"Key: %40s 0x%zx\n", iter->first.c_str(), (
size_t)iter->second);
 
 
  187#ifdef R__COMPLETE_MEM_TERMINATION 
  212      void Remove(
const char *key) {
 
  221         Info(
"TMapTypeToClassRec::Print", 
"printing the typeinfo map in TClassTable");
 
 
  239      auto p = 
reinterpret_cast<const unsigned char*
>( 
name );
 
 
  345   Printf(
"\nDefined classes");
 
  346   Printf(
"class                                 version  bits  initialized");
 
  347   Printf(
"================================================================");
 
  357         Printf(
"%-35s %6d %7d       Yes", 
r->fName, 
r->fId, 
r->fBits);
 
  359         Printf(
"%-35s %6d %7d       No",  
r->fName, 
r->fId, 
r->fBits);
 
  361   Printf(
"----------------------------------------------------------------");
 
  362   Printf(
"Listed Classes: %4d  Total classes: %4d   initialized: %4d",
nl, 
n, 
ninit);
 
  363   Printf(
"================================================================\n");
 
 
  402      ::Fatal(
"TClassTable::Add()", 
"Failed to deduce type for '%s'", 
info.name());
 
  413   if (
r->fName && 
r->fInfo) {
 
  423         ::Warning(
"TClassTable::Add", 
"class %s already in TClassTable", 
cname);
 
 
  475      if (
r->fProto) 
delete r->fProto;
 
  492         ::Warning(
"TClassTable::Add(TProtoClass*)",
"Called for existing class without a prior call add the dictionary function.");
 
 
  523                    "Second registration of %s with a different normalized name (old: '%s', new: '%s')\n",
 
 
  552         if (
a->fNext.get() == 
alt) {
 
  553            a->fNext.swap( 
alt->fNext );
 
  555       alt->fNext.release();
 
 
  704      ::Info(
"GetDict", 
"searches for %s at 0x%zx", 
info.name(), (
size_t)&
info);
 
 
  835   Printf(
"\nDefined classes");
 
  836   Printf(
"class                                 version  bits  initialized");
 
  837   Printf(
"================================================================");
 
  839   for (
UInt_t i = 0; i < last; i++) {
 
  844      if (
gROOT->GetListOfClasses()->FindObject(
r->fName)) {
 
  846         Printf(
"%-35s %6d %7d       Yes", 
r->fName, 
r->fId, 
r->fBits);
 
  848         Printf(
"%-35s %6d %7d       No",  
r->fName, 
r->fId, 
r->fBits);
 
  850   Printf(
"----------------------------------------------------------------");
 
  851   Printf(
"Total classes: %4d   initialized: %4d", 
n, 
ninit);
 
  852   Printf(
"================================================================\n");
 
 
  898                    const std::type_info& 
info,
 
  903      auto r = std::unique_ptr<TClassRec>(
new TClassRec(
nullptr));
 
 
  963         if (
cname!=(
void*)-1)
 
  964            Error(
"ResetClassVersion",
"Version number of %s can not be changed after first usage!",
 
  968            Error(
"SetClassVersion",
"The class version (for %s) must be positive (value %d is ignored)",cl->
GetName(),
newid);
 
  970         if (
cname==(
void*)-1) {
 
 
  997         oldcl->SetUnloaded();
 
 
 1024         reg->SetTitle(file);
 
 1026         reg = 
new TNamed((
const char*)classname, file);
 
 
size_t size(const MatrixT &matrix)
retrieve the size of a square matrix
 
TClass *(* DictFuncPtr_t)()
 
static std::mutex & GetClassTableMutex()
 
TClassTable * gClassTable
 
static int ClassComp(const void *a, const void *b)
 
R__EXTERN TClassTable * gClassTable
 
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
 
void Info(const char *location, const char *msgfmt,...)
Use this function for informational messages.
 
void Error(const char *location, const char *msgfmt,...)
Use this function in case an error occurred.
 
winID h TVirtualViewer3D TVirtualGLPainter p
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void data
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t r
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t index
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize id
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char cname
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void reg
 
R__EXTERN TInterpreter * gCling
 
void Printf(const char *fmt,...)
Formats a string in a circular formatting buffer and prints the string.
 
char * StrDup(const char *str)
Duplicate the string str.
 
TClassAlt(const char *alternate, const char *normName, TClassAlt *next)
 
std::unique_ptr< TClassAlt > fNext
 
TClassRec(TClassRec *next)
 
const std::type_info * fInfo
 
IdMap_t::size_type size_type
 
IdMap_t::mapped_type mapped_type
 
void Add(const key_type &key, mapped_type &obj)
 
IdMap_t::key_type key_type
 
std::map< std::string, TClassRec * > IdMap_t
 
IdMap_t::const_iterator const_iterator
 
void Remove(const key_type &key)
 
mapped_type Find(const key_type &key) const
 
IdMap_t::size_type size_type
 
IdMap_t::mapped_type mapped_type
 
IdMap_t::const_iterator const_iterator
 
IdMap_t::key_type key_type
 
const std::string & GetNormalizedName() const
 
std::string fNormalizedName
 
NormalizeThenLock(const NormalizeThenLock &)=delete
 
NormalizeThenLock(const char *cname)
 
NormalizeThenLock(NormalizeThenLock &&)=delete
 
NormalizeThenLock()=delete
 
NormalizeThenLock & operator=(const NormalizeThenLock &)=delete
 
NormalizeThenLock & operator=(NormalizeThenLock &&)=delete
 
This class registers for all classes their name, id and dictionary function in a hash table.
 
static void PrintTable()
Print the class table.
 
static Int_t GetPragmaBits(const char *name)
Returns the pragma bits as specified in the LinkDef.h file.
 
static DictFuncPtr_t GetDict(const char *cname)
Given the class name returns the Dictionary() function of a class (uses hash of name).
 
static Version_t GetID(const char *cname)
Returns the ID of a class.
 
ROOT::TMapTypeToClassRec IdMap_t
 
static void SortTable()
Sort the class table by ascending class ID's.
 
static TProtoClass * GetProtoNorm(const char *cname)
Given the class normalized name returns the TClassProto object for the class.
 
static DictFuncPtr_t GetDictNorm(const char *cname)
Given the normalized class name returns the Dictionary() function of a class (uses hash of name).
 
static ROOT::TClassAlt ** fgAlternate
 
void Print(Option_t *option="") const override
Print the class table.
 
static void Terminate()
Deletes the class table (this static class function calls the dtor).
 
static TProtoClass * GetProto(const char *cname)
Given the class name returns the TClassProto object for the class.
 
static std::atomic< UInt_t > fgTally
 
TClassTable()
TClassTable is a singleton (i.e. only one can exist per application).
 
static char * Next()
Returns next class from sorted class table.
 
static char * At(UInt_t index)
Returns class at index from sorted class table.
 
static Bool_t Check(const char *cname, std::string &normname)
 
static void Remove(const char *cname)
Remove a class from the class table.
 
static ROOT::TClassRec ** fgSortedTable
 
static ROOT::TClassRec ** fgTable
 
static Bool_t CheckClassTableInit()
Return true fs the table exist.
 
static void Add(const char *cname, Version_t id, const std::type_info &info, DictFuncPtr_t dict, Int_t pragmabits)
Add a class to the class table (this is a static function).
 
~TClassTable()
TClassTable singleton is deleted in Terminate().
 
static void RemoveAlternate(ROOT::TClassAlt *alt)
 
static ROOT::TClassRec * FindElement(const char *cname, Bool_t insert)
Find a class by name in the class table (using hash of name).
 
static ROOT::TClassAlt * AddAlternate(const char *normname, const char *alternate)
 
TClass instances represent classes, structs and namespaces in the ROOT type system.
 
void SetClassVersion(Version_t version)
Private function.
 
std::atomic< Bool_t > fVersionUsed
saved remember if fOffsetStreamer has been set.
 
static TClass * GetClass(const char *name, Bool_t load=kTRUE, Bool_t silent=kFALSE)
Static method returning pointer to TClass of the specified class name.
 
virtual bool UseRWLock(Bool_t enable=true)
Set this collection to use a RW lock upon access, making it thread safe.
 
virtual void SetOwner(Bool_t enable=kTRUE)
Set whether this collection is the owner (enable==true) of its content.
 
virtual void RegisterTClassUpdate(TClass *oldcl, DictFuncPtr_t dict)=0
 
TObject * FindObject(const char *name) const override
Find an object in this list using its name.
 
void Add(TObject *obj) override
 
TMap implements an associative array of (key,value) pairs using a THashTable for efficient retrieval ...
 
The TNamed class is the base class for all named ROOT classes.
 
const char * GetName() const override
Returns name of object.
 
Collectable string class.
 
Mother of all ROOT objects.
 
virtual void Warning(const char *method, const char *msgfmt,...) const
Issue warning message.
 
virtual void Fatal(const char *method, const char *msgfmt,...) const
Issue fatal error message.
 
virtual void Info(const char *method, const char *msgfmt,...) const
Issue info message.
 
Class used by TMap to store (key,value) pairs.
 
Persistent version of a TClass.
 
static Bool_t Initialized()
Return kTRUE if the TROOT object has been initialized.
 
Regular expression class.
 
const char * Data() const
 
TString & Remove(Ssiz_t pos)
 
Ssiz_t Index(const char *pat, Ssiz_t i=0, ECaseCompare cmp=kExact) const
 
R__EXTERN TROOT * gROOTLocal
 
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...
 
std::vector< std::pair< const char *, const char * > > & GetDelayedAddClassAlternate()
 
ROOT::TClassAlt * AddClassAlternate(const char *normName, const char *alternate)
Global function called by GenerateInitInstance.
 
std::vector< std::unique_ptr< TClassRec > > & GetDelayedAddClass()
 
void RemoveClass(const char *cname, TClass *cl)
Global function called by the dtor of a class's init class (see the ClassImp macro).
 
void AddClass(const char *cname, Version_t id, const std::type_info &info, DictFuncPtr_t dict, Int_t pragmabits)
Global function called by the ctor of a class's init class (see the ClassImp macro).
 
TNamed * RegisterClassTemplate(const char *name, const char *file, Int_t line)
Global function to register the implementation file and line of a class template (i....
 
static UInt_t ClassTableHash(const char *name, UInt_t size)
 
void ResetClassVersion(TClass *, const char *, Short_t)
Global function to update the version number.
 
void RemoveClassAlternate(ROOT::TClassAlt *)
 
bool IsStdClass(const char *type)
return true if the class belongs to the std namespace
 
void GetNormalizedName(std::string &norm_name, std::string_view name)
Return the normalized name.