.TH "sc::ClassDesc" 3 "Fri Dec 2 2022" "Version 2.3.1" "MPQC" \" -*- nroff -*- .ad l .nh .SH NAME sc::ClassDesc \- This class is used to contain information about classes\&. .SH SYNOPSIS .br .PP .PP \fC#include \fP .PP Inherits \fBsc::Identity\fP\&. .SS "Public Member Functions" .in +1c .ti -1c .RI "\fBClassDesc\fP (const std::type_info &, const char *, int=1, const char *p=0, \fBDescribedClass\fP *(*ctor)()=0, \fBDescribedClass\fP *(*keyvalctor)(const \fBRef\fP< \fBKeyVal\fP > &)=0, \fBDescribedClass\fP *(*stateinctor)(\fBStateIn\fP &)=0)" .br .ti -1c .RI "const \fBParentClasses\fP & \fBparents\fP () const" .br .ti -1c .RI "const char * \fBname\fP () const" .br .RI "Returns the name of the class\&. " .ti -1c .RI "int \fBversion\fP () const" .br .RI "Returns the version number of the class\&. " .ti -1c .RI "\fBDescribedClass\fP * \fBcreate_described_class\fP () const" .br .RI "This member has been replaced by \fBcreate()\fP\&. " .ti -1c .RI "virtual \fBDescribedClass\fP * \fBcreate\fP () const" .br .RI "Create an instance of \fBDescribedClass\fP with exact type equal to the class to which this class descriptor belongs\&. " .ti -1c .RI "virtual \fBDescribedClass\fP * \fBcreate\fP (const \fBRef\fP< \fBKeyVal\fP > &) const" .br .RI "Create an instance of \fBDescribedClass\fP with exact type equal to the class to which this class descriptor belongs\&. " .ti -1c .RI "virtual \fBDescribedClass\fP * \fBcreate\fP (\fBStateIn\fP &) const" .br .RI "Create an instance of \fBDescribedClass\fP with exact type equal to the class to which this class descriptor belongs\&. " .in -1c .SS "Static Public Member Functions" .in +1c .ti -1c .RI "static std::map< std::string, \fBClassDescP\fP > & \fBall\fP ()" .br .ti -1c .RI "static void \fBlist_all_classes\fP ()" .br .RI "Writes a list of all of the classes to \fBExEnv::out0()\fP\&. " .ti -1c .RI "static \fBClassDesc\fP * \fBname_to_class_desc\fP (const char *)" .br .RI "Given the name of the class, return a pointer to the class descriptor\&. " .ti -1c .RI "static \fBClassDesc\fP * \fBclass_desc\fP (const std::type_info &)" .br .RI "Given a type_info object return a pointer to the \fBClassDesc\fP\&. " .ti -1c .RI "static int \fBload_class\fP (const char *classname)" .br .RI "Attempt to dynamically load the shared object file for classname\&. " .in -1c .SS "Friends" .in +1c .ti -1c .RI "class \fBParentClasses\fP" .br .in -1c .SH "Detailed Description" .PP This class is used to contain information about classes\&. Each \fBDescribedClass\fP type has a static \fBClassDesc\fP member\&. This member has lists of the parents, children and virtual parents for each class\&. The \fBClassDesc\fP 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 \fBClassDesc\fP members for each class are called and are completed before main is entered\&. See \fBclass\fP for more information\&. .SH "Member Function Documentation" .PP .SS "virtual \fBDescribedClass\fP * sc::ClassDesc::create () const\fC [virtual]\fP" .PP Create an instance of \fBDescribedClass\fP 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 \fBClassDesc\fP when it was created, then 0 will be returned\&. .SS "virtual \fBDescribedClass\fP * sc::ClassDesc::create (const \fBRef\fP< \fBKeyVal\fP > &) const\fC [virtual]\fP" .PP Create an instance of \fBDescribedClass\fP with exact type equal to the class to which this class descriptor belongs\&. The \fBKeyVal\fP& constructor is used\&. If this constructor doesn't exist or a static function that calls it with new wasn't passed to this \fBClassDesc\fP, then 0 will be returned\&. .SS "virtual \fBDescribedClass\fP * sc::ClassDesc::create (\fBStateIn\fP &) const\fC [virtual]\fP" .PP Create an instance of \fBDescribedClass\fP with exact type equal to the class to which this class descriptor belongs\&. The \fBStateIn\fP& constructor is used\&. If this constructor doesn't exist or a static function that calls it with new wasn't passed to this \fBClassDesc\fP, then 0 will be returned\&. .SH "Author" .PP Generated automatically by Doxygen for MPQC from the source code\&.