i_evaluator Last update: 16.07.2025 1 3 4 #pragma once 5 6 #include "core/kpi/i_kpi/i_kpi.h" 7 8 namespace simulation_framework 9 { 10 namespace core 11 { 12 namespace evaluator 13 { 14 16 19 template <typename T> 20 class IEvaluator 21 { 22 public: 23 virtual ~IEvaluator() = default; 24 28 virtual void Init() = 0; 29 33 virtual void Reset() = 0; 34 38 virtual void Evaluate() = 0; 39 40 // /** 41 // * Add one KPI into this evaluator 42 // * @param kpi iKpi interface 43 // */ 44 virtual void AddKpi(std::unique_ptr<kpi::IKpi<T>> kpi) = 0; 45 50 virtual core::kpi::KpiMessage GetKpiMessage() const = 0; 51 56 virtual void SetInput(const T& input) = 0; 57 }; 58 59 } // namespace evaluator 60 } // namespace core 61 } // namespace simulation_framework