27 [[nodiscard]]
virtual Tick now() const noexcept = 0;
59 [[nodiscard]]
Tick now() const noexcept override;
Abstract clock interface for simulation time.
virtual void tick()=0
Advances the simulation clock by one tick.
virtual Tick now() const noexcept=0
Returns the current simulation tick.
virtual ~IClock()=default
virtual void reset()=0
Resets the clock to tick 0.
SimulationClock(const SimulationClock &)=delete
void reset() override
Resets the clock to tick 0.
void tick() override
Advances the simulation clock by one tick.
Tick now() const noexcept override
Returns the current simulation tick.
SimulationClock(SimulationClock &&) noexcept
SimulationClock()
Constructs a new simulation clock initialized to tick 0.
SimulationClock & operator=(const SimulationClock &)=delete
~SimulationClock() override
std::unique_ptr< Impl > impl_
std::uint64_t Tick
Simulation clock tick counter.
Common type aliases, sentinel constants, and forward declarations used throughout the Contur 2 kernel...