/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*- The above line is usefulin Emacs-like editors */ /* Template for evaluator in EO, a functor that computes the fitness of an EO ========================================================================== */ #ifndef _eoMyStructEvalFunc_h #define _eoMyStructEvalFunc_h // include whatever general include you need #include #include // include the base definition of eoEvalFunc #include "eoEvalFunc.h" /** Always write a comment in this format before class definition if you want the class to be documented by Doxygen */ template class eoMyStructEvalFunc : public eoEvalFunc { public: /// Ctor - no requirement // START eventually add or modify the anyVariable argument eoMyStructEvalFunc() // eoMyStructEvalFunc( varType _anyVariable) : anyVariable(_anyVariable) // END eventually add or modify the anyVariable argument { // START Code of Ctor of an eoMyStructEvalFunc object // END Code of Ctor of an eoMyStructEvalFunc object } /** Actually compute the fitness * * @param EOT & _eo the EO object to evaluate * it should stay templatized to be usable * with any fitness type */ void operator()(EOT & _eo) { // test for invalid to avoid recomputing fitness of unmodified individuals if (_eo.invalid()) { double fit; // to hold fitness value // START Code of computation of fitness of the eoMyStruct object // fit = blablabla // END Code of computation of fitness of the eoMyStruct object _eo.fitness(fit); } } private: // START Private data of an eoMyStructEvalFunc object // varType anyVariable; // for example ... // END Private data of an eoMyStructEvalFunc object }; #endif