    

 ## On this page

  

 

 # File i\_evaluator.h

 Last update: 22.04.2026 

![](https://img.shields.io/badge/language-C%2B%2B-blue "C++")

**Location**: `core/kpi/i_evaluator/i_evaluator.h`

## Classes

- [simulation\_framework::core::IEvaluator](classsimulation__framework_1_1core_1_1IEvaluator.md#classsimulation__framework_1_1core_1_1IEvaluator)

## Namespaces

- [simulation\_framework](namespacesimulation__framework.md#namespacesimulation__framework)
- [simulation\_framework::core](namespacesimulation__framework_1_1core.md#namespacesimulation__framework_1_1core)

## Includes

- [core/kpi/i\_kpi/i\_kpi.h](i__kpi_8h.md#i__kpi_8h)

## Included by

- [gt\_base\_evaluator.h](gt__base__evaluator_8h.md#gt__base__evaluator_8h)

## Source

```cpp


#ifndef SIMFWK_CORE_KPI_IEVALUATOR_IEVALUATOR_H
#define SIMFWK_CORE_KPI_IEVALUATOR_IEVALUATOR_H

#include "core/kpi/i_kpi/i_kpi.h"

namespace simulation_framework
{
namespace core
{


template <typename T>
class IEvaluator
{
  public:
    virtual ~IEvaluator() = default;

    virtual void Init() = 0;

    virtual void Reset() = 0;

    virtual void Evaluate() = 0;

    // /**
    //  * Add one KPI into this evaluator
    //  * @param kpi iKpi interface
    //  */
    virtual void AddKpi(std::unique_ptr<kpi::IKpi<T>> kpi) = 0;

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

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

}  // namespace core
}  // namespace simulation_framework

#endif  // SIMFWK_CORE_KPI_IEVALUATOR_IEVALUATOR_H

```