36 #ifndef _FITNESSFUNCTION_HPP_
37 #define _FITNESSFUNCTION_HPP_
40 #include "QuantitativeTrait.hpp"
41 #include "shared_ptr.hpp"
57 virtual DataVectorPtr calculate_fitnesses(
const TraitValueMap& trait_values,
58 size_t generation_index,
59 size_t population_index)
const = 0;
64 virtual std::string class_name()
const;
65 virtual Parameters parameters()
const;
66 virtual void configure(
const Parameters& parameters,
const Registry& registry);
74 typedef shared_ptr<FitnessFunction> FitnessFunctionPtr;
75 typedef std::vector<FitnessFunctionPtr> FitnessFunctionPtrs;
78 #endif // _FITNESSFUNCTION_HPP_