RTC Toolkit 6.0.0-pre2
Loading...
Searching...
No Matches
fakeClock.hpp
Go to the documentation of this file.
1
12
13#ifndef RTCTK_COMPONENTFRAMEWORK_TEST_FAKECLOCK_HPP
14#define RTCTK_COMPONENTFRAMEWORK_TEST_FAKECLOCK_HPP
15
16#include <chrono>
17
19
20class FakeClock {
21public:
22 using duration = std::chrono::microseconds;
23 using rep = duration::rep;
24 using period = duration::period;
25 using time_point = std::chrono::time_point<FakeClock, duration>;
26
27 // Implementing interface from std::chrono which uses a different coding convention.
28 // NOLINTNEXTLINE(readability-identifier-naming)
29 static time_point now() noexcept {
30 return m_now_us;
31 }
32
33 static void Advance(duration d) noexcept {
34 m_now_us += d;
35 }
36
37 static void Reset() noexcept {
38 m_now_us -= (m_now_us - time_point());
39 }
40
41 FakeClock() = delete;
42 ~FakeClock() = delete;
43 FakeClock(const FakeClock&) = delete;
44
45private:
46 static time_point m_now_us;
47};
48
49} // namespace rtctk::componentFramework::test
50
51#endif // RTCTK_COMPONENTFRAMEWORK_TEST_FAKECLOCK_HPP
duration::rep rep
Definition fakeClock.hpp:23
std::chrono::microseconds duration
Definition fakeClock.hpp:22
static void Reset() noexcept
Definition fakeClock.hpp:37
std::chrono::time_point< FakeClock, duration > time_point
Definition fakeClock.hpp:25
static time_point now() noexcept
Definition fakeClock.hpp:29
duration::period period
Definition fakeClock.hpp:24
static void Advance(duration d) noexcept
Definition fakeClock.hpp:33
Definition fakeClock.cpp:15