*** empty log message ***

This commit is contained in:
victor 2000-02-21 18:21:58 +00:00
commit b109ef46b2

View file

@ -26,7 +26,7 @@
#define eoGeneration_h #define eoGeneration_h
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
#include <strstream>
#include <eoAlgo.h> // eoPop #include <eoAlgo.h> // eoPop
#include <eoEvalFunc.h> #include <eoEvalFunc.h>
#include <eoPopOps.h> // eoSelect, eoTranform, eoMerge #include <eoPopOps.h> // eoSelect, eoTranform, eoMerge
@ -56,15 +56,19 @@ template<class Chrom> class eoGeneration: public eoAlgo<Chrom>
/// Apply one generation of evolution to the population. /// Apply one generation of evolution to the population.
virtual void operator()(eoPop<Chrom>& pop) { virtual void operator()(eoPop<Chrom>& pop) {
eoPop<Chrom> breeders; eoPop<Chrom> breeders;
select(pop, breeders); try {
transform(breeders); select(pop, breeders);
eoPop<Chrom>::iterator i; transform(breeders);
// Can't use foreach here since foreach takes the eoPop<Chrom>::iterator i;
// parameter by reference // Can't use foreach here since foreach takes the
for ( i = breeders.begin(); i != breeders.end(); i++) // parameter by reference
evaluator(*i); for ( i = breeders.begin(); i != breeders.end(); i++)
replace(breeders, pop); evaluator(*i);
replace(breeders, pop);
} catch ( exception& e ) {
throw runtime_error( e.what() );
}
} }
/// Class name. /// Class name.