Skip to main content

AVxcelerate Simulation Framework 2026 R1

File i_clock.h

Last update: 09.03.2026

Location: core/time/i_clock/i_clock.h

Classes

Namespaces

Includes

Included by

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&amp; ms) = 0;

    virtual void SetNow(const Timestamp&amp; timestamp) = 0;

    virtual milliseconds GetNow() const = 0;

    virtual Timestamp GetNowAsTimestamp() const = 0;

    virtual void IncrementBy(const milliseconds&amp; ms) = 0;
};

}  // namespace time
}  // namespace core
}  // namespace simulation_framework

[static]: https://img.shields.io/badge/-static-lightgrey (static)</std::chrono::system_clock>

Connect with Ansys