BoosterSeat  0.1
A C++ library that includes common utilities that are used in other projects.
clock.hpp
Go to the documentation of this file.
1 #ifndef CLOCK_HPP_
2 #define CLOCK_HPP_
3 
4 #include <chrono>
5 
6 namespace bst {
7 namespace clck {
8 
9 namespace units {
10 typedef std::chrono::duration<double, std::ratio<1, 1>> Seconds;
11 typedef std::chrono::duration<double, std::ratio<1, 1000>> Milliseconds;
12 typedef std::chrono::duration<double, std::ratio<1, 1000000>> Microseconds;
13 } // namespace units
14 
15 typedef std::chrono::high_resolution_clock Clock;
16 typedef std::chrono::time_point<Clock> TimePoint;
17 typedef Clock::duration Duration;
18 
19 inline TimePoint now() {
20  return clck::Clock::now();
21 }
22 
23 inline int secondsElapsed(const TimePoint &time_point) {
24  return std::chrono::duration_cast<units::Seconds>(clck::now() - time_point)
25  .count();
26 }
27 
28 inline int millisecondsElapsed(const TimePoint &time_point) {
29  return std::chrono::duration_cast<units::Milliseconds>(now() - time_point)
30  .count();
31 }
32 
33 inline time_t toTimeT(const TimePoint &time_point) {
34  return Clock::to_time_t(time_point);
35 }
36 
37 inline TimePoint fromTimeT(time_t time) {
38  return Clock::from_time_t(time);
39 }
40 
41 } // namespace clck
42 } // namespace bst
43 
44 #endif
std::chrono::duration< double, std::ratio< 1, 1000 > > Milliseconds
Definition: clock.hpp:11
std::chrono::duration< double, std::ratio< 1, 1 > > Seconds
Definition: clock.hpp:10
std::chrono::duration< double, std::ratio< 1, 1000000 > > Microseconds
Definition: clock.hpp:12
int secondsElapsed(const TimePoint &time_point)
Definition: clock.hpp:23
std::chrono::time_point< Clock > TimePoint
Definition: clock.hpp:16
TimePoint fromTimeT(time_t time)
Definition: clock.hpp:37
std::chrono::high_resolution_clock Clock
Definition: clock.hpp:15
TimePoint now()
Definition: clock.hpp:19
int millisecondsElapsed(const TimePoint &time_point)
Definition: clock.hpp:28
Clock::duration Duration
Definition: clock.hpp:17
time_t toTimeT(const TimePoint &time_point)
Definition: clock.hpp:33
Definition: filesystem.cpp:34