    

 ## On this page

  

 

 # i\_evaluator

 Last update: 16.07.2025 

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

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

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

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

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

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

<a id="l00012" name="l00012"></a> 12namespace [simulation\_framework](namespacesimulation__framework.xhtml)

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

<a id="l00014" name="l00014"></a> 14namespace [core](namespacecore.xhtml)

<a id="l00015" name="l00015"></a> 15{

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

<a id="l00018" name="l00018"></a> 18 

<a id="l00021" name="l00021"></a> 21template &lt;typename T&gt;

<a id="l00022" name="l00022"></a>[ 22](classsimulation__framework_1_1core_1_1IEvaluator.xhtml)class [IEvaluator](classsimulation__framework_1_1core_1_1IEvaluator.xhtml)

<a id="l00023" name="l00023"></a> 23{

<a id="l00024" name="l00024"></a> 24 public:

<a id="l00025" name="l00025"></a> 25 virtual [~IEvaluator](classsimulation__framework_1_1core_1_1IEvaluator.xhtml)() = default;

<a id="l00026" name="l00026"></a> 26 

<a id="l00030" name="l00030"></a>[ 30](classsimulation__framework_1_1core_1_1IEvaluator.xhtml#ac62458dfff2bf4a0287bc48335bec4ff) virtual void [Init](classsimulation__framework_1_1core_1_1IEvaluator.xhtml#ac62458dfff2bf4a0287bc48335bec4ff)() = 0;

<a id="l00031" name="l00031"></a> 31 

<a id="l00035" name="l00035"></a>[ 35](classsimulation__framework_1_1core_1_1IEvaluator.xhtml#a4f2140b6e5dc9289d084c601c1f28cf2) virtual void [Reset](classsimulation__framework_1_1core_1_1IEvaluator.xhtml#a4f2140b6e5dc9289d084c601c1f28cf2)() = 0;

<a id="l00036" name="l00036"></a> 36 

<a id="l00040" name="l00040"></a>[ 40](classsimulation__framework_1_1core_1_1IEvaluator.xhtml#a251fb9feee11d29b6c4bd5161a7b7089) virtual void [Evaluate](classsimulation__framework_1_1core_1_1IEvaluator.xhtml#a251fb9feee11d29b6c4bd5161a7b7089)() = 0;

<a id="l00041" name="l00041"></a> 41 

<a id="l00042" name="l00042"></a> 42 // /\*\*

<a id="l00043" name="l00043"></a> 43 // \* Add one KPI into this evaluator

<a id="l00044" name="l00044"></a> 44 // \* @param kpi iKpi interface

<a id="l00045" name="l00045"></a> 45 // \*/

<a id="l00046" name="l00046"></a> 46 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 id="l00047" name="l00047"></a> 47 

<a id="l00052" name="l00052"></a>[ 52](classsimulation__framework_1_1core_1_1IEvaluator.xhtml#a81ab03795b81308e647d4f7022a64d4a) virtual core::kpi::KpiMessage [GetKpiMessage](classsimulation__framework_1_1core_1_1IEvaluator.xhtml#a81ab03795b81308e647d4f7022a64d4a)() const = 0;

<a id="l00053" name="l00053"></a> 53 

<a id="l00058" name="l00058"></a>[ 58](classsimulation__framework_1_1core_1_1IEvaluator.xhtml#a17db67a251425e3ecc47d45c03a1b056) virtual void [SetInput](classsimulation__framework_1_1core_1_1IEvaluator.xhtml#a17db67a251425e3ecc47d45c03a1b056)(const [T](classsimulation__framework_1_1core_1_1Topic.xhtml)&amp; [input](classsimulation__framework_1_1core_1_1Topic.xhtml)) = 0;

<a id="l00059" name="l00059"></a> 59};



<a id="l00060" name="l00060"></a> 60 

<a id="l00061" name="l00061"></a> 61} // namespace core

<a id="l00062" name="l00062"></a> 62} // namespace simulation\_framework

[simulation\_framework::core::IEvaluator](classsimulation__framework_1_1core_1_1IEvaluator.xhtml)

class IEvaluator

**Definition** [i\_evaluator.h:23](i__evaluator_8h_source.xhtml#l00022)



[simulation\_framework::core::IEvaluator::SetInput](classsimulation__framework_1_1core_1_1IEvaluator.xhtml#a17db67a251425e3ecc47d45c03a1b056)

virtual void SetInput(const T &amp;input)=0



[simulation\_framework::core::IEvaluator::Evaluate](classsimulation__framework_1_1core_1_1IEvaluator.xhtml#a251fb9feee11d29b6c4bd5161a7b7089)

virtual void Evaluate()=0



[simulation\_framework::core::IEvaluator::Reset](classsimulation__framework_1_1core_1_1IEvaluator.xhtml#a4f2140b6e5dc9289d084c601c1f28cf2)

virtual void Reset()=0



[simulation\_framework::core::IEvaluator::GetKpiMessage](classsimulation__framework_1_1core_1_1IEvaluator.xhtml#a81ab03795b81308e647d4f7022a64d4a)

virtual core::kpi::KpiMessage GetKpiMessage() const =0



[simulation\_framework::core::IEvaluator::Init](classsimulation__framework_1_1core_1_1IEvaluator.xhtml#ac62458dfff2bf4a0287bc48335bec4ff)

virtual void Init()=0



[simulation\_framework::core::Topic](classsimulation__framework_1_1core_1_1Topic.xhtml)

This is the concrete Topic class that can be used for creation of a communication channel with given ...

**Definition** [topic.h:38](topic_8h_source.xhtml#l00037)



[simulation\_framework::core::kpi::IKpi](classsimulation__framework_1_1core_1_1kpi_1_1IKpi.xhtml)

Represents core KPI calculation logic.

**Definition** [i\_kpi.h:39](i__kpi_8h_source.xhtml#l00038)



[core](namespacecore.xhtml)

The namespace for all core functionalities under namespace simulation_framework.



[kpi](namespacekpi.xhtml)

The namespace for kpi definition and corresponding APIs under namespace simulation_framework::evaluat...



[simulation\_framework](namespacesimulation__framework.xhtml)

The top namespace for simulation framework.