.TH "eoObject" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*- .ad l .nh .SH NAME eoObject \- eoObject used to be the base class for the whole hierarchy, but this has changed. .PP .SH SYNOPSIS .br .PP \fC#include \fP .PP Inherited by \fBEO< F >\fP, \fBEO< double >\fP, \fBEO< EOT::Fitness >\fP, \fBEO< Fit >\fP, \fBEO< Fitness >\fP, \fBEO< fitness_type >\fP, \fBEO< fitnessT >\fP, \fBEO< FitT >\fP, \fBEO< FType >\fP, \fBEO< phenotype >\fP, \fBEO< PyFitness >\fP, \fBeoDistribution< EOT >\fP, \fBeoFactory< EOClass >\fP, \fBeoFactory< eoOpSelector< eoClass > >\fP, \fBeoFactory< eoSelect< EOT > >\fP, \fBeoFactory< EOT >\fP, \fBeoParser\fP, \fBeoPop< EOT >\fP, \fBeoPop< Dummy >\fP, \fBeoPop< PyEO >\fP, and \fBeoRng\fP. .PP .SS "Public Member Functions" .in +1c .ti -1c .RI "virtual \fB~eoObject\fP ()" .br .RI "\fIVirtual dtor. They are needed in virtual class hierarchies. \fP" .ti -1c .RI "virtual std::string \fBclassName\fP () const =0" .br .RI "\fIReturn the class id. \fP" .in -1c .SH "Detailed Description" .PP eoObject used to be the base class for the whole hierarchy, but this has changed. eoObject is used to define a name (\fBclassName\fP#) that is used when loading or saving the state. .PP Previously, this object also defined a print and read interface, but itīs been moved to \fBeoPrintable\fP and \fBeoPersistent\fP. .PP It is recommended that you only derive from eoObject in concrete classes. Some parts of \fBEO\fP do not implement this yet, but that will change in the future. eoObject, together with \fBeoPersistent\fP and \fBeoPrintable\fP provide a simple persistence framework that is only needed when the classes have state that changes at runtime. .PP \fBSee also:\fP .RS 4 \fBeoPersistent\fP \fBeoPrintable\fP, \fBeoState\fP .RE .PP .PP Definition at line 55 of file eoObject.h. .SH "Member Function Documentation" .PP .SS "virtual std::string eoObject::className () const\fC [pure virtual]\fP" .PP Return the class id. .PP This should be redefined in each class. Only 'leaf' classes can be non-virtual. .PP Maarten: removed the default implementation as this proved to be too error-prone: I found several classes that had a typo in className (like classname), which would print eoObject instead of their own. Having it pure will force the implementor to provide a name. .PP Implemented in \fBEO< F >\fP, \fBeoFactory< EOClass >\fP, \fBeoOpSelMason< eoClass >\fP, \fBeoPop< EOT >\fP, \fBeoEsFull< Fit >\fP, \fBeoEsSimple< Fit >\fP, \fBeoEsStdev< Fit >\fP, \fBeoReal< FitT >\fP, \fBeoBit< FitT >\fP, \fBeoPBILDistrib< EOT >\fP, \fBeoParseTree< FType, Node >\fP, \fBeoString< fitnessT >\fP, \fBeoParser\fP, \fBeoRng\fP, \fBeoOneMax< FitT >\fP, \fBEO< double >\fP, \fBEO< EOT::Fitness >\fP, \fBEO< FitT >\fP, \fBEO< phenotype >\fP, \fBEO< fitnessT >\fP, \fBEO< Fit >\fP, \fBEO< FType >\fP, \fBEO< fitness_type >\fP, \fBEO< Fitness >\fP, \fBEO< PyFitness >\fP, \fBeoFactory< eoOpSelector< eoClass > >\fP, \fBeoFactory< EOT >\fP, \fBeoFactory< eoSelect< EOT > >\fP, \fBeoPop< PyEO >\fP, and \fBeoPop< Dummy >\fP. .SH "Author" .PP Generated automatically by Doxygen for EO from the source code.