    

 ## On this page

  

 

 # File sim\_runner.h

 Last update: 22.04.2026 

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

**Location**: `core/service/sim_runner/sim_runner.h`

## Classes

- [simulation\_framework::core::SimRunner](classsimulation__framework_1_1core_1_1SimRunner.md#classsimulation__framework_1_1core_1_1SimRunner)

## Namespaces

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

## Includes

- core/export/simfwk\_core\_export.h
- [core/lifecycle/i\_simulation\_instance/i\_simulation\_instance.h](i__simulation__instance_8h.md#i__simulation__instance_8h)
- [core/service/sim\_runner/i\_sim\_runner.h](i__sim__runner_8h.md#i__sim__runner_8h)
- 

## Source

```cpp


#ifndef SIMFWK_CORE_SERVICE_SIMRUNNER_SIMRUNNER_H
#define SIMFWK_CORE_SERVICE_SIMRUNNER_SIMRUNNER_H

#include "core/export/simfwk_core_export.h"
#include "core/lifecycle/i_simulation_instance/i_simulation_instance.h"
#include "core/service/sim_runner/i_sim_runner.h"
#include <memory>

namespace simulation_framework
{
namespace core
{

class SimRunnerImpl;

class SIMFWK_CORE_API SimRunner final : public ISimRunner
{
  public:
    ~SimRunner();

    explicit SimRunner(std::unique_ptr<lifecycle::ISimulationInstance> sim_instance);

    StateFeedback Run() override;

    StateFeedback Pause() override;

    StateFeedback Resume() override;

    StateFeedback StepN(int n) override;

    StateFeedback Stop() override;

    StateFeedback Terminate() override;

    SimState GetSimulationState() const override;

    uint64_t GetExecutedStepCount() const override;

    void RunOverSimulation() override;

  private:
    std::unique_ptr<SimRunnerImpl> impl_;
};

}  // namespace core
}  // namespace simulation_framework

#endif  // SIMFWK_CORE_SERVICE_SIMRUNNER_SIMRUNNER_H

```