Ultra 0.9.4
Loading...
Searching...
No Matches
ultra::Evaluator Concept Reference

#include <evaluator.h>

Concept definition

template<class F, class I closure_arg_t<F>>
concept ultra::Evaluator =
Individual<I> && std::invocable<const F &, I>
Definition evaluator.h:44
Definition fitness.h:65
Definition individual.h:93

Detailed Description

Defines the requirements for a fitness evaluator.

An Evaluator is a callable object that:

  • operates on an Individual type;
  • can be invoked on a const instance of the evaluator;
  • returns a value satisfying the Fitness concept.

Requiring const-invocability ensures that evaluators can be safely used through read-only references, which is essential when they are wrapped by utility classes such as evaluator_proxy and invoked concurrently or through logically-const interfaces.