Provided by: libsc-doc_2.3.1-21_all bug

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

   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.

   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 (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.

Author

       Generated automatically by Doxygen for MPQC from the source code.