NAME
sc::ClassDesc -
This class is used to contain information about classes.
SYNOPSIS
#include <class.h>
Inherits sc::Identity.
Public Member Functions
ClassDesc (const std::type_info &, const char *, int=1, const char
*p=0, DescribedClass *(*ctor)()=0, DescribedClass
*(*keyvalctor)(const Ref< KeyVal > &)=0, DescribedClass
*(*stateinctor)(StateIn &)=0)
const ParentClasses & parents () const
const char * name () const
Returns the name of the class.
int version () const
Returns the version number of the class.
DescribedClass * create_described_class () const
This member has been replaced by create().
virtual DescribedClass * create () const
Create an instance of DescribedClass with exact type equal to the
class to which this class descriptor belongs.
virtual DescribedClass * create (const Ref< KeyVal > &) const
Create an instance of DescribedClass with exact type equal to the
class to which this class descriptor belongs.
virtual DescribedClass * create (StateIn &) const
Create an instance of DescribedClass with exact type equal to the
class to which this class descriptor belongs.
Static Public Member Functions
static std::map< std::string, ClassDescP > & all ()
static void list_all_classes ()
Writes a list of all of the classes to ExEnv::out0().
static ClassDesc * name_to_class_desc (const char *)
Given the name of the class, return a pointer to the class
descriptor.
static ClassDesc * class_desc (const std::type_info &)
Given a type_info object return a pointer to the ClassDesc.
static int load_class (const char *classname)
Attempt to dynamically load the shared object file for classname.
Friends
class ParentClasses
Detailed Description
This class is used to contain information about classes.
Each DescribedClass type has a static ClassDesc member. This member has
lists of the parents, children and virtual parents for each class. The
ClassDesc class also has a static member that is a list of all
described classes in the system. These lists are constructed as the
constructors for the static ClassDesc members for each class are called
and are completed before main is entered. See class for more
information.
Member Function Documentation
static ClassDesc* sc::ClassDesc::class_desc (const std::type_info &)
[static]
Given a type_info object return a pointer to the ClassDesc.
virtual DescribedClass* sc::ClassDesc::create (StateIn &) const [virtual]
Create an instance of DescribedClass with exact type equal to the class
to which this class descriptor belongs. The StateIn& constructor is
used. If this constructor doesn’t exist or a static function that calls
it with new wasn’t passed to this ClassDesc, then 0 will be returned.
virtual DescribedClass* sc::ClassDesc::create (const Ref< KeyVal > &) const
[virtual]
Create an instance of DescribedClass with exact type equal to the class
to which this class descriptor belongs. The KeyVal& constructor is
used. If this constructor doesn’t exist or a static function that calls
it with new wasn’t passed to this ClassDesc, then 0 will be returned.
virtual DescribedClass* sc::ClassDesc::create () const [virtual]
Create an instance of DescribedClass with exact type equal to the class
to which this class descriptor belongs. The constructor which takes no
arguments is used. If this constructor doesn’t exist or a static
function that calls it with new wasn’t given to this ClassDesc when it
was created, then 0 will be returned.
static int sc::ClassDesc::load_class (const char * classname) [static]
Attempt to dynamically load the shared object file for classname.
static ClassDesc* sc::ClassDesc::name_to_class_desc (const char *) [static]
Given the name of the class, return a pointer to the class descriptor.
Author
Generated automatically by Doxygen for MPQC from the source code.