1 #if !defined(_MOVE_RUNNER_OBSERVER_HH_)
2 #define _MOVE_RUNNER_OBSERVER_HH_
11 template <
class Input,
class State,
class Move,
typename CFtype =
int>
21 return Event::START | Event::NEW_BEST;
23 mutable std::chrono::high_resolution_clock::time_point
start;
27 template <
class Input,
class State,
class Move,
typename CFtype>
31 template <
class Input,
class State,
class Move,
typename CFtype>
37 start = std::chrono::high_resolution_clock::now();
40 os <<
"--New Best " << current_state_cost <<
" [" << em.
cost.total <<
"] (" << std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::high_resolution_clock::now() - start).count() / 1000.0 <<
"s)" <<
" " << status_string << std::endl;
41 start = std::chrono::high_resolution_clock::now();
CostStructure< CFtype > cost
unsigned int events() const
void operator()(Event event, CostStructure< CFtype > current_state_cost, const EvaluatedMove< Move, CFtype > &em, const std::string &status_string) const
LocalSearchObserver(std::ostream &os=std::cout)
std::chrono::high_resolution_clock::time_point start
EasyLocal::Core::LocalSearch< Input, State, Move, CFtype >::Event Event