contur2
Loading...
Searching...
No Matches
contur::IClock Class Referenceabstract

Abstract clock interface for simulation time. More...

#include <clock.h>

Inheritance diagram for contur::IClock:

Public Member Functions

virtual ~IClock ()=default
virtual Tick now () const noexcept=0
 Returns the current simulation tick.
virtual void tick ()=0
 Advances the simulation clock by one tick.
virtual void reset ()=0
 Resets the clock to tick 0.

Detailed Description

Abstract clock interface for simulation time.

All subsystems reference time through this interface, allowing deterministic testing with mock clocks.

Definition at line 20 of file clock.h.

Constructor & Destructor Documentation

◆ ~IClock()

virtual contur::IClock::~IClock ( )
virtualdefault

Member Function Documentation

◆ now()

virtual Tick contur::IClock::now ( ) const
nodiscardpure virtualnoexcept

Returns the current simulation tick.

Returns
Monotonically increasing simulation tick value.

Implemented in contur::SimulationClock.

◆ reset()

virtual void contur::IClock::reset ( )
pure virtual

Resets the clock to tick 0.

Postcondition
now() returns 0.

Implemented in contur::SimulationClock.

◆ tick()

virtual void contur::IClock::tick ( )
pure virtual

Advances the simulation clock by one tick.

Postcondition
A subsequent call to now() returns the previous value plus one.

Implemented in contur::SimulationClock.


The documentation for this class was generated from the following file: