eoInit is a base class for making EO's, eoPop now has a constructor

for eoInit's
This commit is contained in:
mac 2000-06-12 20:07:25 +00:00
commit 382557878a
2 changed files with 57 additions and 0 deletions

View file

@ -30,6 +30,7 @@
// EO includes
#include <eoRnd.h>
#include <eoInit.h>
#include <eoPersistent.h>
/** Subpopulation: it is used to move parts of population
@ -90,6 +91,19 @@ class eoPop: public vector<EOT>, public eoObject, public eoPersistent {
}
};
/** Ctor for user-defined chromosomes,
@param _popSize total population size
@param _chromRnd Initialization routine, produces EO's
*/
eoPop( unsigned _popSize, eoInit<EOT> & _chromRnd )
:vector<EOT>()
{
for ( unsigned i = 0; i < _popSize; i++ )
{
push_back( _chromRnd() );
}
};
/** Ctor from an istream; reads the population from a stream,
each element should be in different lines