3 #include <geneial/core/population/chromosome/BaseChromosome.h>
8 geneial_private_namespace(geneial)
10 geneial_private_namespace(population)
12 geneial_private_namespace(chromosome)
14 geneial_export_namespace
16 template<
typename FITNESS_TYPE>
23 geneial_private_namespace(geneial)
25 using ::geneial::population::chromosome::BaseChromosome;
27 geneial_export_namespace
32 template<
typename FITNESS_TYPE>
33 class FitnessEvaluator :
public std::enable_shared_from_this<FitnessEvaluator<FITNESS_TYPE>>
36 using ptr = std::shared_ptr<FitnessEvaluator<FITNESS_TYPE>>;
38 using const_ptr = std::shared_ptr<const FitnessEvaluator<FITNESS_TYPE>>;
42 return this->shared_from_this();
45 const_ptr getConstPtr()
47 return this->shared_from_this();
55 virtual ~FitnessEvaluator()
59 virtual std::unique_ptr<Fitness<FITNESS_TYPE>> evaluate(
60 const BaseChromosome<FITNESS_TYPE>& chromosome)
const = 0;