File i_clock.h
Last update: 09.03.2026Location: core/time/i_clock/i_clock.h
Classes
Namespaces
Includes
Included by
- clock.h
- i_activity_factory.h
- i_simulation_completion_checker.h
- kpi_definition.h
- simulation_completion_checker.h
- simulation_instance.h
Source
#pragma once
#include "core/time/i_clock/timestamp.h"
#include <chrono>
#include <memory>
namespace simulation_framework
{
namespace core
{
namespace time
{
template <class duration>
using timepoint = std::chrono::time_point<std::chrono::system_clock duration>;
using milliseconds = std::chrono::milliseconds;
class IClock
{
public:
virtual ~IClock() = default;
virtual void SetNow(const milliseconds& ms) = 0;
virtual void SetNow(const Timestamp& timestamp) = 0;
virtual milliseconds GetNow() const = 0;
virtual Timestamp GetNowAsTimestamp() const = 0;
virtual void IncrementBy(const milliseconds& ms) = 0;
};
} // namespace time
} // namespace core
} // namespace simulation_framework
[static]: https://img.shields.io/badge/-static-lightgrey (static)</std::chrono::system_clock>