    

 ## On this page

  

 

 # File i\_simulation\_instance.h

 Last update: 22.04.2026 

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

**Location**: `core/lifecycle/i_simulation_instance/i_simulation_instance.h`

## Classes

- [simulation\_framework::core::lifecycle::ISimulationInstance](classsimulation__framework_1_1core_1_1lifecycle_1_1ISimulationInstance.md#classsimulation__framework_1_1core_1_1lifecycle_1_1ISimulationInstance)

## Namespaces

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

## Includes

- core/export/simfwk\_core\_export.h
- 

## Included by

- [i\_sim\_instance\_creator.h](i__sim__instance__creator_8h.md#i__sim__instance__creator_8h)
- [sim\_runner.h](sim__runner_8h.md#sim__runner_8h)
- [simulation\_instance.h](simulation__instance_8h.md#simulation__instance_8h)

## Source

```cpp


#ifndef SIMFWK_CORE_LIFECYCLE_ISIMULATIONINSTANCE_ISIMULATIONINSTANCE_H
#define SIMFWK_CORE_LIFECYCLE_ISIMULATIONINSTANCE_ISIMULATIONINSTANCE_H

#include "core/export/simfwk_core_export.h"
#include <chrono>

namespace simulation_framework
{
namespace core
{
namespace lifecycle
{


class SIMFWK_CORE_API ISimulationInstance
{
  public:
    virtual ~ISimulationInstance() = default;

    virtual void StepOnce() = 0;

    virtual void Reset() = 0;

    virtual void Init() = 0;

    virtual bool IsSimulationFinished() = 0;

    virtual bool IsPauseRequested() = 0;

    virtual std::chrono::milliseconds GetSimulationDuration() const = 0;

    virtual std::chrono::milliseconds GetSimulationBaseCycleTime() const = 0;
};

}  // namespace lifecycle
}  // namespace core
}  // namespace simulation_framework

#endif  // SIMFWK_CORE_LIFECYCLE_ISIMULATIONINSTANCE_ISIMULATIONINSTANCE_H

```