Skip to main content

AVxcelerate Simulation Framework 2025 R2 SP02

i_clock

Last update: 19.09.2025
1
5
6#pragma once
7
8#include "core/time/i_clock/timestamp.h"
9#include <chrono>
10#include <memory>
11
17{
18namespace core
19{
24namespace time
25{
26
27template <class Duration>
28using timepoint = std::chrono::time_point<std::chrono::system_clock, Duration>;
29using milliseconds = std::chrono::milliseconds;
30
38class IClock
39{
40 public:
43 virtual ~IClock() = default;
44
49 virtual void SetNow(const milliseconds& ms) = 0;
50
55 virtual void SetNow(const Timestamp& timestamp) = 0;
56
61 virtual milliseconds GetNow() const = 0;
62
67 virtual Timestamp GetNowAsTimestamp() const = 0;
68
73 virtual void IncrementBy(const milliseconds& ms) = 0;
74};
75
76} // namespace time
77} // namespace core
78} // namespace simulation_framework
This is the concrete Topic class that can be used for creation of a communication channel with given ...
Definition topic.h:38
Interface for managing and manipulating simulation time.
Definition i_clock.h:39
virtual Timestamp GetNowAsTimestamp() const =0
Gets the current simulation time as a timestamp.
virtual void SetNow(const milliseconds &ms)=0
Sets the current simulation time.
virtual milliseconds GetNow() const =0
Gets the current simulation time in milliseconds.
virtual ~IClock()=default
Virtual destructor.
virtual void IncrementBy(const milliseconds &ms)=0
Increments the simulation time by a specified duration.
virtual void SetNow(const Timestamp &timestamp)=0
Sets the current simulation time using a timestamp.
The namespace for all core functionalities under namespace simulation_framework.
The top namespace for simulation framework.
The namespace for simulation time related implementation under namespace simulation_framework::core.

Connect with Ansys