52 (*this)(iteration, simulation);
64 virtual explicit operator std::string()
const = 0;
virtual void operator()(size_t iteration, Simulation &simulation)=0
Called on every nth iteration. This function should perform the desired action.
virtual void logSummary(int depth) const =0
Summary of the interceptor.
virtual ~SimulationInterceptor()=default
Destroy the Simulation Interceptor object.
virtual void onSimulationEnd(size_t iteration, Simulation &simulation)=0
Called after the simulation loop ends.
virtual void onSimulationStart(Simulation &simulation)=0
Called before the simulation loop starts.
void notify(size_t iteration, Simulation &simulation)
This function is called by the simulation loop on every iteration. Whenever the iteration is a multip...
size_t every_nth_iteration
Class to run a simulation.