    

 ## On this page

  

 

 # i\_evaluator

 Last update: 16.07.2025 

<a name="l00001"></a> 1 

<a name="l00003"></a> 3 

<a name="l00004"></a> 4 \#pragma once

<a name="l00005"></a> 5 

<a name="l00006"></a> 6 \#include "core/kpi/i\_kpi/i\_kpi.h"

<a name="l00007"></a> 7 

<a name="l00008"></a> 8 namespace [simulation\_framework](namespacesimulation__framework.xhtml)

<a name="l00009"></a> 9 {

<a name="l00010"></a> 10 namespace [core](namespacecore.xhtml)

<a name="l00011"></a> 11 {

<a name="l00012"></a> 12 namespace evaluator

<a name="l00013"></a> 13 {

<a name="l00014"></a> 14 

<a name="l00016"></a> 16 

<a name="l00019"></a> 19 template &lt;typename T&gt;

<a name="l00020"></a>[ 20](classsimulation__framework_1_1core_1_1evaluator_1_1IEvaluator.xhtml) class [IEvaluator](classsimulation__framework_1_1core_1_1evaluator_1_1IEvaluator.xhtml)

<a name="l00021"></a> 21 {

<a name="l00022"></a> 22 public:

<a name="l00023"></a> 23 virtual ~[IEvaluator](classsimulation__framework_1_1core_1_1evaluator_1_1IEvaluator.xhtml)() = default;

<a name="l00024"></a> 24 

<a name="l00028"></a> 28 virtual void [Init](classsimulation__framework_1_1core_1_1evaluator_1_1IEvaluator.xhtml#aa81af246c9cf88d00c9b07453fee6ae2)() = 0;

<a name="l00029"></a> 29 

<a name="l00033"></a> 33 virtual void [Reset](classsimulation__framework_1_1core_1_1evaluator_1_1IEvaluator.xhtml#a072a25b43d319d2f7b9dc6c50076b432)() = 0;

<a name="l00034"></a> 34 

<a name="l00038"></a> 38 virtual void [Evaluate](classsimulation__framework_1_1core_1_1evaluator_1_1IEvaluator.xhtml#ab083ec7f04182794f04d9bb5a3c0b133)() = 0;

<a name="l00039"></a> 39 

<a name="l00040"></a> 40 // /\*\*

<a name="l00041"></a> 41 // \* Add one KPI into this evaluator

<a name="l00042"></a> 42 // \* @param kpi iKpi interface

<a name="l00043"></a> 43 // \*/

<a name="l00044"></a> 44 virtual void AddKpi(std::unique_ptr&lt;[kpi::IKpi&lt;T&gt;](classsimulation__framework_1_1core_1_1kpi_1_1IKpi.xhtml)&gt; [kpi](namespacekpi.xhtml)) = 0;

<a name="l00045"></a> 45 

<a name="l00050"></a> 50 virtual core::kpi::KpiMessage [GetKpiMessage](classsimulation__framework_1_1core_1_1evaluator_1_1IEvaluator.xhtml#a4ab336b9b848abd1324b4c779b8e4ed6)() const = 0;

<a name="l00051"></a> 51 

<a name="l00056"></a> 56 virtual void [SetInput](classsimulation__framework_1_1core_1_1evaluator_1_1IEvaluator.xhtml#aec46af76fd3c4388b18ef093baaebe28)(const T&amp; input) = 0;

<a name="l00057"></a> 57 };

<a name="l00058"></a> 58 

<a name="l00059"></a> 59 } // namespace evaluator

<a name="l00060"></a> 60 } // namespace core

<a name="l00061"></a> 61 } // namespace simulation\_framework