53 #if !defined(LIBEVOCOSM_LANDSCAPE_H)
54 #define LIBEVOCOSM_LANDSCAPE_H
79 template <
class OrganismType>
128 virtual double test(OrganismType & a_organism,
bool a_verbose =
false)
const = 0;
136 virtual double test(vector<OrganismType> & a_population)
const
140 for (
int n = 0; n < (int)a_population.size(); ++n)
142 a_population[n].fitness =
test(a_population[n]);
143 result += a_population[n].fitness;
virtual ~landscape()
Virtual destructor.
Definition: landscape.h:116
landscape(listener< OrganismType > &a_listener)
Constructor.
Definition: landscape.h:88
An abstract interface defining a fitness landscape.
Definition: landscape.h:80
A toolkit and framework for implementing evolutionary algorithms.
Definition: analyzer.h:60
landscape & operator=(const landscape &a_source)
Assignment operator.
Definition: landscape.h:102
Elements shared by all classes in Evocosm.
Definition: evocommon.h:117
An abstract interface defining a listener.
Definition: listener.h:80
virtual double test(vector< OrganismType > &a_population) const
Performs fitness testing.
Definition: landscape.h:136
landscape(const landscape &a_source)
Copy constructor.
Definition: landscape.h:95
virtual double test(OrganismType &a_organism, bool a_verbose=false) const =0
Performs fitness testing.
listener< OrganismType > & m_listener
The listener for landscape events.
Definition: landscape.h:152