/** -*- 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 /** * 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 */ template< class EOT> class eoMyStructContinue: public eoContinue { 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& _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