This repository has been archived on 2026-03-28. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
eodev/eo/tutorial/Templates/continue.tmpl
2011-05-05 17:15:10 +02:00

64 lines
1.8 KiB
C++

/** -*- mode: c++; c-indent-level: 4; c++-member-init-indent: 8; comment-column: 35; -*-
The above line is usefulin Emacs-like editors
*/
/*
Template for continuator in EO, i.e. stopping conditions for EO algorithms
==========================================================================
*/
#ifndef _eoMyStructContinue_h
#define _eoMyStructContinue_h
// include the base definition of eoContinue
#include <eoContinue.h>
/**
* Always write a comment in this format before class definition
* if you want the class to be documented by Doxygen
*
* ATTENTION, class EOT *must* derive from EO, as operator() will
* be called with an eoPop<EOT>
*/
template< class EOT>
class eoMyStructContinue: public eoContinue<EOT> {
public:
/**
* Ctor - no requirement
*/
// START eventually add or modify the anyVariable argument
eoMyStructContinue()
// eoMyStructBinCrossover( 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
}
/** Returns false when you want to stop
*
* @param _pop an eoPop
*/
virtual bool operator() ( const eoPop<EOT>& _pop )
{
bool stopCondition ; // to store the stopping condition
// START Code of computation of stopping condition
// stopCondition = blablabla
// END Code of computation of stopping condition
if (stopCondition) // the algo will stop upon return FALSE
{
cout << "STOP in eoMyStructContinue \n";
return false;
}
return true; // == do not stop
}
private:
// START Private data of an eoMyStructContinue object
// varType anyVariable; // for example ...
// END Private data of an eoMyStructContinue object
};
#endif