9 #ifndef ThePEG_DescriptionList_H 10 #define ThePEG_DescriptionList_H 13 #include "ThePEG/Config/ThePEG.h" 14 #include "ClassDescription.fh" 26 #ifndef THEPEG_DYNAMIC_TYPE_INFO_BUG 36 typedef map<string, ClassDescriptionBase *>
StringMap;
49 #ifndef THEPEG_DYNAMIC_TYPE_INFO_BUG 52 DescriptionMap::const_iterator it =
descriptionMap().find(ti.name());
61 static string className(
const type_info & ti);
66 static int version(
const type_info & ti);
72 static string library(
const type_info & ti);
78 StringMap::const_iterator it =
stringMap().find(name);
static DescriptionMap & descriptionMap()
Return the static set of descriptions mapped to the relevant type_info objects.
ClassDescriptionBase is the base class for all class description classes.
static void printHierarchies(ostream &os)
Print the classes in the list and their base classes to a stream.
static const ClassDescriptionBase * find(const type_info &ti)
Get the description of a class giving its type_info object.
static void Register(ClassDescriptionBase &)
Insert a description in the list.
static string library(const type_info &ti)
Return the dynamic library of the class corresponding to the given type_info object.
static void hookup()
Hookup the base class descriptions in the list.
map< string, ClassDescriptionBase * > StringMap
Map of class descriptions indexed by platform-independent class names.
This is the main namespace within which all identifiers in ThePEG are declared.
static const ClassDescriptionBase * find(const string &name)
Get the description of a class giving its name.
static int version(const type_info &ti)
Return the version of the class corresponding to the given type_info object.
map< const type_info *, ClassDescriptionBase * > DescriptionMap
Map of class descriptions indexed by type_info objects.
The DescriptionList keeps a static list of descriptions of classes included in the current run...
static StringMap & stringMap()
Return the static set of descriptions mapped to the corresponding class names.
static void insert(ClassDescriptionBase &pb)
Insert a class description.
static const DescriptionMap & all()
Return the static set of descriptions mapped to the relevant type_info objects.
static string className(const type_info &ti)
Return the name of the class corresponding to the given type_info object.