feat(EO): allow overriding fitness accessors

May be useful for debugging, by tracing when fitness assignement occurs.
This commit is contained in:
Johann Dreo 2023-02-10 09:47:58 +01:00
commit 399b222661

View file

@ -72,7 +72,7 @@ public:
virtual ~EO() {}; virtual ~EO() {};
/// Return fitness value. /// Return fitness value.
const Fitness& fitness() const { virtual const Fitness& fitness() const {
if (invalid()) if (invalid())
throw eoInvalidFitnessError("Cannot retrieve unevaluated fitness"); throw eoInvalidFitnessError("Cannot retrieve unevaluated fitness");
return repFitness; return repFitness;
@ -86,12 +86,12 @@ public:
} }
// Set fitness as invalid. // Set fitness as invalid.
void invalidate() { invalidFitness = true; repFitness = Fitness(); } virtual void invalidate() { invalidFitness = true; repFitness = Fitness(); }
/** Set fitness. At the same time, validates it. /** Set fitness. At the same time, validates it.
* @param _fitness New fitness value. * @param _fitness New fitness value.
*/ */
void fitness(const Fitness& _fitness) virtual void fitness(const Fitness& _fitness)
{ {
repFitness = _fitness; repFitness = _fitness;
invalidFitness = false; invalidFitness = false;