EvolvingObjects
eoGenOp< EOT > Class Template Reference

The base class for General Operators Subclass this operator is you want to define an operator that falls outside of the eoMonOp, eoBinOp, eoQuadOp classification. More...

#include <eoGenOp.h>

Inheritance diagram for eoGenOp< EOT >:
eoOp< EOT > eoUF< eoPopulator< EOT > &, void > eoFunctorBase unary_function eoBinGenOp< EOT > eoEsGlobalXover< EOT > eoMonGenOp< EOT > eoOpContainer< EOT > eoPropGAGenOp< EOT > eoQuadGenOp< EOT > eoSelBinGenOp< EOT > eoSGAGenOp< EOT >

List of all members.

Public Member Functions

 eoGenOp ()
 Ctor that honors its superclass.
virtual unsigned max_production (void)=0
 Max production is used to reserve space for all elements that are used by the operator, not setting it properly can result in a crash.
virtual std::string className () const =0
void operator() (eoPopulator< EOT > &_pop)
 The pure virtual function that needs to be implemented by the subclass.
virtual void apply (eoPopulator< EOT > &_pop)=0
 the function that will do the work

Detailed Description

template<class EOT>
class eoGenOp< EOT >

The base class for General Operators Subclass this operator is you want to define an operator that falls outside of the eoMonOp, eoBinOp, eoQuadOp classification.

The argument the operator will receive is an eoPopulator, which is a wrapper around the original population, is an instantiation of the next population and has often a selection function embedded in it to select new individuals.

Note that the actual work is performed in the apply function. AND that the apply function is responsible for invalidating the object if necessary

Examples:
t-eoFitnessAssembledEA.cpp, t-eoGA.cpp, t-eoGenOp.cpp, t-eoReal.cpp, and t-eoSSGA.cpp.

Definition at line 60 of file eoGenOp.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Friends