36 #ifndef _POPULATIONCONFIGGENERATOR_HPP_
37 #define _POPULATIONCONFIGGENERATOR_HPP_
40 #include "Configurable.hpp"
41 #include "Population.hpp"
42 #include "shared_ptr.hpp"
58 virtual size_t generation_count()
const {
return generation_count_;}
59 virtual size_t population_count()
const {
return population_count_;}
60 virtual unsigned int id_offset_step()
const {
return id_offset_step_;}
61 virtual size_t chromosome_pair_count()
const {
return chromosome_pair_count_;}
62 virtual const std::vector<unsigned int>& chromosome_lengths()
const {
return chromosome_lengths_;}
64 virtual Population::Configs population_configs(
size_t generation_index)
const = 0;
66 unsigned int min_unused_id()
const;
70 virtual std::string class_name()
const;
71 virtual Parameters parameters()
const;
72 virtual void configure(
const Parameters& parameters,
const Registry& registry);
80 size_t generation_count_;
81 size_t population_count_;
82 unsigned int id_offset_step_;
83 size_t chromosome_pair_count_;
84 std::vector<unsigned int> chromosome_lengths_;
88 typedef shared_ptr<PopulationConfigGenerator> PopulationConfigGeneratorPtr;
91 #endif // _POPULATIONCONFIGGENERATOR_HPP_