    

 ## On this page

  

 

 # i\_sim\_runner

 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 &lt;string&gt;

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

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

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

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

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

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

<a name="l00018"></a>[ 18](structsimulation__framework_1_1core_1_1StateFeedback.xhtml) struct [StateFeedback](structsimulation__framework_1_1core_1_1StateFeedback.xhtml)

<a name="l00019"></a> 19 {

<a name="l00021"></a>[ 21](structsimulation__framework_1_1core_1_1StateFeedback.xhtml#a8d8e5cd79fb548feec4dae9cc75bf024) bool [execute\_status](structsimulation__framework_1_1core_1_1StateFeedback.xhtml#a8d8e5cd79fb548feec4dae9cc75bf024);

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

<a name="l00024"></a>[ 24](structsimulation__framework_1_1core_1_1StateFeedback.xhtml#ac35cce08425ee09c1dd47b6d72f6b4ff) std::string [error\_msg](structsimulation__framework_1_1core_1_1StateFeedback.xhtml#ac35cce08425ee09c1dd47b6d72f6b4ff);

<a name="l00025"></a> 25 };

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

<a name="l00028"></a> 28 enum class SimState

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

<a name="l00030"></a> 30 kInitialized, 

<a name="l00031"></a> 31 kRunning, 

<a name="l00032"></a> 32 kPaused, 

<a name="l00033"></a> 33 kFinished, 

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

<a name="l00035"></a> 35 kError 

<a name="l00036"></a> 36 };

<a name="l00037"></a> 37 

<a name="l00041"></a>[ 41](classsimulation__framework_1_1core_1_1ISimRunner.xhtml) class [ISimRunner](classsimulation__framework_1_1core_1_1ISimRunner.xhtml)

<a name="l00042"></a> 42 {

<a name="l00043"></a> 43 public:

<a name="l00045"></a> 45 virtual [~ISimRunner](classsimulation__framework_1_1core_1_1ISimRunner.xhtml#a28739232c9e3879e863cd5fa158ef709)() = default;

<a name="l00046"></a> 46 

<a name="l00049"></a> 49 virtual [StateFeedback](structsimulation__framework_1_1core_1_1StateFeedback.xhtml) [Run](classsimulation__framework_1_1core_1_1ISimRunner.xhtml#ab7615f9b015b1c52e3af9e21ef2bf6ee)() = 0;

<a name="l00050"></a> 50 

<a name="l00053"></a> 53 virtual [StateFeedback](structsimulation__framework_1_1core_1_1StateFeedback.xhtml) [Pause](classsimulation__framework_1_1core_1_1ISimRunner.xhtml#a7cc05d7d61c4cb7af9eca9fb85bce8d7)() = 0;

<a name="l00054"></a> 54 

<a name="l00057"></a> 57 virtual [StateFeedback](structsimulation__framework_1_1core_1_1StateFeedback.xhtml) [Resume](classsimulation__framework_1_1core_1_1ISimRunner.xhtml#a4b448f77a70ea37643cff04f6d1c7c1c)() = 0;

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

<a name="l00062"></a> 62 virtual [StateFeedback](structsimulation__framework_1_1core_1_1StateFeedback.xhtml) [StepN](classsimulation__framework_1_1core_1_1ISimRunner.xhtml#a11b61afe9fa80c71aae36c16449ac831)(int n) = 0;

<a name="l00063"></a> 63 

<a name="l00066"></a> 66 virtual [StateFeedback](structsimulation__framework_1_1core_1_1StateFeedback.xhtml) [Stop](classsimulation__framework_1_1core_1_1ISimRunner.xhtml#a659d260f4146f46ffe51bc17f93179ac)() = 0;

<a name="l00067"></a> 67 

<a name="l00070"></a> 70 virtual [StateFeedback](structsimulation__framework_1_1core_1_1StateFeedback.xhtml) [Terminate](classsimulation__framework_1_1core_1_1ISimRunner.xhtml#aa5b44639fefef47817aafb6f99719802)() = 0;

<a name="l00071"></a> 71 

<a name="l00074"></a> 74 virtual SimState [GetSimulationState](classsimulation__framework_1_1core_1_1ISimRunner.xhtml#a66d4287f6da13af21331fbfc1c5ff226)() const = 0;

<a name="l00075"></a> 75 

<a name="l00078"></a> 78 virtual uint64_t [GetExecutedStepCount](classsimulation__framework_1_1core_1_1ISimRunner.xhtml#ae60fbe830aef619e8cbd39a092f1f995)() const = 0;

<a name="l00079"></a> 79 

<a name="l00081"></a> 81 virtual void [RunOverSimulation](classsimulation__framework_1_1core_1_1ISimRunner.xhtml#af5cc40c4bdd9360cd2e95e1c2f8e5626)() = 0;

<a name="l00082"></a> 82 };

<a name="l00083"></a> 83 

<a name="l00084"></a> 84 } // namespace core

<a name="l00085"></a> 85 } // namespace simulation\_framework