#ifndef _eoAmeliorationContinue_h #define _eoAmeliorationContinue_h #include #include #include #include #include #include template< class EOT> class eoAmeliorationContinue: public eoContinue { public: eoAmeliorationContinue(moeoDMLSArchive & _arch, unsigned int _maxGen) : arch(_arch), maxGen(_maxGen), counter(0){} // _pop must be an archive virtual bool operator() (const eoPop & _pop) { if(arch.modified()) counter=0; else counter++; return (counter < maxGen); } virtual std::string className(void) const { return "eoAmeliorationContinue"; } private: moeoDMLSArchive & arch; unsigned int maxGen; unsigned int counter; }; #endif