13#if !defined(ULTRA_EVOLUTION_STATUS_H)
14# error "Don't include this file directly, include the specific .h instead"
17#if !defined(ULTRA_EVOLUTION_STATUS_TCC)
18#define ULTRA_EVOLUTION_STATUS_TCC
20template<Indiv
idual I, Fitness F>
21evolution_status<I, F>::evolution_status(
const unsigned *gen,
22 const global_update_f &f)
23 : update_overall_best_(f), generation_(gen)
33template<Indiv
idual I, Fitness F>
34bool evolution_status<I, F>::update_if_better(
const scored_individual<I, F> &si)
38 const bool update(si > best_);
44 if (update_overall_best_)
45 update_overall_best_(best_);
54template<Indiv
idual I, Fitness F>
55scored_individual<I, F> evolution_status<I, F>::best()
const
60template<Indiv
idual I, Fitness F>
61unsigned evolution_status<I, F>::generation()
const
63 return generation_ ? *generation_ : std::numeric_limits<unsigned>::max();
76template<Indiv
idual I, Fitness F>
77bool evolution_status<I, F>::load(std::istream &in,
const problem &p)
79 scored_individual<I, F> tmp_si;
80 if (!tmp_si.load(in, p))
94template<Indiv
idual I, Fitness F>
95bool evolution_status<I, F>::save(std::ostream &
out)
const