13#if !defined(ULTRA_EVALUATOR_H)
14#define ULTRA_EVALUATOR_H
21#include "utility/log.h"
22#include "utility/misc.h"
43template<
class F,
class I = closure_arg_t<F>>
48template<Evaluator E>
using evaluator_individual_t = closure_arg_t<E>;
49template<Evaluator E>
using evaluator_fitness_t = closure_return_t<E>;
51enum class test_evaluator_type {realistic, fixed, random, age};
82 explicit test_evaluator(test_evaluator_type = test_evaluator_type::random);
84 void delay(std::chrono::milliseconds)
noexcept;
86 [[nodiscard]]
double operator()(
const I &)
const;
89 const test_evaluator_type et_;
91 std::chrono::milliseconds delay_ {0};
double operator()(const I &) const
Definition evaluator.h:50
test_evaluator(test_evaluator_type=test_evaluator_type::random)
Definition evaluator.h:27
void delay(std::chrono::milliseconds) noexcept
Definition evaluator.h:139
Definition evaluator.h:44
Definition individual.h:93