Back to Lesson 5 - Tutorial main page - Top-Down page - Bottom-up page - Programming hints - EO documentation

# Templates/eoOneMaxEvalFunc.h

The places where you have to put some code are on pink background.. Only the the character colors have the usual meaning.

`/** -*- 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 _eoOneMaxEvalFunc_h` `#define _eoOneMaxEvalFunc_h` `// include whatever general include you need` `#include <stdexcept>` `#include <fstream>` `// 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 EOT>` `class eoOneMaxEvalFunc : public eoEvalFunc<EOT>` `{` `public:` `/// Ctor - no requirement`

`// START eventually add or modify the anyVariable argument` `eoOneMaxEvalFunc()` `// eoOneMaxEvalFunc( varType _anyVariable) : anyVariable(_anyVariable)` `// END eventually add or modify the anyVariable argument`

`{`

`// START Code of Ctor of an eoOneMaxEvalFunc object` `// END Code of Ctor of an eoOneMaxEvalFunc 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 eoOneMax object` `// fit = blablabla` `// END Code of computation of fitness of the eoOneMax object`

`_eo.fitness(fit);` `}` `}` `private:`

`// START Private data of an eoOneMaxEvalFunc object` `// varType anyVariable; // for example ...` `// END Private data of an eoOneMaxEvalFunc object`

`};` `#endif`

Back to Lesson 5 - Tutorial main page - Top-Down page - Bottom-up page - Programming hints - EO documentation

Last modified: Fri May 3 06:14:25 2002