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

# eoOneMaxMutation.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 useful in Emacs-like editors
*/
/*
Template for simple mutation operators
======================================
*/
#ifndef eoOneMaxMutation_H
#define eoOneMaxMutation_H
#include <eoOp.h>
/**
* Always write a comment in this format before class definition
* if you want the class to be documented by Doxygen
*
* THere is NO ASSUMPTION on the class GenoypeT.
* In particular, it does not need to derive from EO
*/
`

`template<class GenotypeT> class eoOneMaxMutation: public eoMonOp<GenotypeT> { public: /** * Ctor - no requirement */`

`// START eventually add or modify the anyVariable argument eoOneMaxMutation() // eoOneMaxMutation( 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`

`} /// The class name. Used to display statistics string className() const { return "eoOneMaxMutation"; } /** * modifies the parent * @param _genotype The parent genotype (will be modified) */ bool operator()(GenotypeT & _genotype) { bool isModified;`

`// START code for mutation of the _genotype object /** Requirement * if (_genotype has been modified) * isModified = true; * else * isModified = false; */ return isModified; // END code for mutation of the _genotype object`

`} private:`

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

`}; #endif`

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

Last modified: Wed May 1 07:18:00 2002