1#ifndef EVALUATORS_COMBINING_EVALUATOR_H
2#define EVALUATORS_COMBINING_EVALUATOR_H
4#include "downward/evaluator.h"
11namespace combining_evaluator {
16class CombiningEvaluator :
public Evaluator {
17 std::vector<std::shared_ptr<Evaluator>> subevaluators;
18 bool all_dead_ends_are_reliable;
21 virtual int combine_values(
const std::vector<int>& values) = 0;
25 const std::vector<std::shared_ptr<Evaluator>>& evals,
26 const std::string& description,
27 utils::Verbosity verbosity);
42 virtual bool dead_ends_are_reliable()
const override;
43 virtual EvaluationResult
44 compute_result(EvaluationContext& eval_context)
override;
47 get_path_dependent_evaluators(std::set<Evaluator*>& evals)
override;