28template <concurrent concurrency>
32 static constexpr bool is_concurrent{concurrency == concurrent::yes};
37 template <concurrent concurrency_>
47 requires (!is_concurrent)
50 requires (!is_concurrent)
54 requires is_concurrent
55 : start_{other.start_}, stop_{other.stop_}, ticks{other.ticks.load()}
58 requires is_concurrent
60 start_ = other.start_;
62 ticks = other.ticks.load();
74 assert(stop_ >= start_);
75 ticks += (stop_ - start_).count();
78 template <concurrent concurrency_>
84 double in_seconds()
const
85 requires is_concurrent
91 double in_seconds()
const
92 requires (!is_concurrent)
100 std::chrono::steady_clock::time_point stop_{};