xo-umbrella2/xo-simulator/include/xo/simulator/TimeSlip.hpp
Roland Conybeare 587cbb4b01 git subrepo clone (merge) git@github.com:Rconybea/xo-simulator.git xo-simulator
subrepo:
  subdir:   "xo-simulator"
  merged:   "ef159a59"
upstream:
  origin:   "git@github.com:Rconybea/xo-simulator.git"
  branch:   "main"
  commit:   "ef159a59"
git-subrepo:
  version:  "0.4.9"
  origin:   "???"
  commit:   "???"
2026-06-06 22:26:12 -04:00

39 lines
944 B
C++

/* file TimeSlip.hpp
*
* author: Roland Conybeare, Sep 2022
*/
#pragma once
//#include "time/Time.hpp"
namespace xo {
namespace sim {
/* helper class for a throttled simulation,
* where we want simulated time to evolve at a constant rate,
* relative to real elapsed time.
*
* A TimeSlip instance pins
* simulation-time coordinates to realtime coordinates
*/
class TimeSlip {
public:
using utc_nanos = xo::time::utc_nanos;
public:
TimeSlip(utc_nanos sim_tm, utc_nanos real_tm)
: sim_tm_{sim_tm}, real_tm_{real_tm} {}
utc_nanos sim_tm() const { return sim_tm_; }
utc_nanos real_tm() const { return real_tm_; }
private:
utc_nanos sim_tm_;
utc_nanos real_tm_;
}; /*TimeSlip*/
} /*namespace sim*/
} /*namespace xo*/
/* end TimeSlip.hpp */