    

 ## On this page

  

 

 # i\_simulation\_completion\_checker

 Last update: 16.07.2025 

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

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

<a id="l00006" name="l00006"></a> 6\#pragma once

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

<a id="l00008" name="l00008"></a> 8\#include "core/time/i\_clock/i\_clock.h"

<a id="l00009" name="l00009"></a> 9 

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

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

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

<a id="l00017" name="l00017"></a> 17{

<a id="l00018" name="l00018"></a> 18namespace [time](namespacetime.xhtml)

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

<a id="l00020" name="l00020"></a> 20 

<a id="l00025" name="l00025"></a>[ 25](classsimulation__framework_1_1core_1_1time_1_1ISimulationCompletionChecker.xhtml)class [ISimulationCompletionChecker](classsimulation__framework_1_1core_1_1time_1_1ISimulationCompletionChecker.xhtml)

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

<a id="l00027" name="l00027"></a> 27 public:

<a id="l00030" name="l00030"></a>[ 30](classsimulation__framework_1_1core_1_1time_1_1ISimulationCompletionChecker.xhtml#a3c2a846e58738327837d794ed4ce6136) virtual bool [IsSimulationFinished](classsimulation__framework_1_1core_1_1time_1_1ISimulationCompletionChecker.xhtml#a3c2a846e58738327837d794ed4ce6136)() const = 0;

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

<a id="l00033" name="l00033"></a>[ 33](classsimulation__framework_1_1core_1_1time_1_1ISimulationCompletionChecker.xhtml#ac4b8c8898ef46c452ef5631a5c4c62ee) virtual [~ISimulationCompletionChecker](classsimulation__framework_1_1core_1_1time_1_1ISimulationCompletionChecker.xhtml#ac4b8c8898ef46c452ef5631a5c4c62ee)() = default;

<a id="l00034" name="l00034"></a> 34 

<a id="l00037" name="l00037"></a>[ 37](classsimulation__framework_1_1core_1_1time_1_1ISimulationCompletionChecker.xhtml#a7c36f8d7309df7770a08208f5157a3a1) virtual std::chrono::milliseconds [GetSimulationDuration](classsimulation__framework_1_1core_1_1time_1_1ISimulationCompletionChecker.xhtml#a7c36f8d7309df7770a08208f5157a3a1)() const = 0;

<a id="l00038" name="l00038"></a> 38};



<a id="l00039" name="l00039"></a> 39 

<a id="l00040" name="l00040"></a> 40} // namespace time

<a id="l00041" name="l00041"></a> 41} // namespace core

<a id="l00042" name="l00042"></a> 42} // namespace simulation\_framework

[simulation\_framework::core::time::ISimulationCompletionChecker](classsimulation__framework_1_1core_1_1time_1_1ISimulationCompletionChecker.xhtml)

Interface for determining simulation completion.

**Definition** [i\_simulation\_completion\_checker.h:26](i__simulation__completion__checker_8h_source.xhtml#l00025)



[simulation\_framework::core::time::ISimulationCompletionChecker::IsSimulationFinished](classsimulation__framework_1_1core_1_1time_1_1ISimulationCompletionChecker.xhtml#a3c2a846e58738327837d794ed4ce6136)

virtual bool IsSimulationFinished() const =0

Checks if the simulation has finished.



[simulation\_framework::core::time::ISimulationCompletionChecker::GetSimulationDuration](classsimulation__framework_1_1core_1_1time_1_1ISimulationCompletionChecker.xhtml#a7c36f8d7309df7770a08208f5157a3a1)

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

Retrieves the total duration of the simulation.



[simulation\_framework::core::time::ISimulationCompletionChecker::~ISimulationCompletionChecker](classsimulation__framework_1_1core_1_1time_1_1ISimulationCompletionChecker.xhtml#ac4b8c8898ef46c452ef5631a5c4c62ee)

virtual ~ISimulationCompletionChecker()=default

Virtual destructor for proper cleanup of derived classes.



[core](namespacecore.xhtml)

The namespace for all core functionalities under namespace simulation_framework.



[simulation\_framework](namespacesimulation__framework.xhtml)

The top namespace for simulation framework.



[time](namespacetime.xhtml)

The namespace for simulation time related implementation under namespace simulation_framework::core.