3 #include <geneial/namespaces.h>
5 #include <geneial/utility/mixins/Buildable.h>
6 #include <geneial/core/population/Population.h>
8 geneial_private_namespace(geneial)
10 geneial_private_namespace(operation)
12 geneial_private_namespace(choosing)
14 using ::geneial::population::Population;
15 using ::geneial::utility::Buildable;
17 geneial_export_namespace
20 template<
typename FITNESS_TYPE>
21 class BaseChoosingOperation :
public Buildable<BaseChoosingOperation<FITNESS_TYPE>>
24 BaseChoosingOperation()
29 virtual ~BaseChoosingOperation()
33 virtual typename Population<FITNESS_TYPE>::chromosome_container doChoose(
34 const typename Population<FITNESS_TYPE>::chromosome_container &chromosomeInputSet)
const = 0;
36 class Builder : Buildable<BaseChoosingOperation<FITNESS_TYPE>>::Builder