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