| #pragma once |
| |
| #include <chrono> |
| |
| namespace managedStore |
| { |
| |
| inline std::chrono::steady_clock::time_point clockNow() |
| { |
| return std::chrono::steady_clock::now(); |
| } |
| |
| inline std::chrono::steady_clock::duration |
| clockSince(const std::chrono::steady_clock::time_point& tp, |
| const std::chrono::steady_clock::time_point& now = clockNow()) |
| { |
| return (now - tp); |
| } |
| |
| inline int64_t clockSinceMilliseconds( |
| const std::chrono::steady_clock::time_point& tp, |
| const std::chrono::steady_clock::time_point& now = clockNow()) |
| { |
| auto since = |
| std::chrono::duration_cast<std::chrono::milliseconds>(now - tp); |
| return since.count(); |
| } |
| |
| inline int64_t clockSecondsSince( |
| const std::chrono::steady_clock::time_point& tp, |
| const std::chrono::steady_clock::time_point& now = clockNow()) |
| { |
| auto since = std::chrono::duration_cast<std::chrono::seconds>(now - tp); |
| return since.count(); |
| } |
| |
| inline int64_t |
| clockMillisecondsEpoch(const std::chrono::steady_clock::time_point& tp) |
| { |
| auto since = std::chrono::duration_cast<std::chrono::milliseconds>( |
| tp.time_since_epoch()); |
| return since.count(); |
| } |
| |
| inline int64_t |
| clockSecondsEpoch(const std::chrono::steady_clock::time_point& tp) |
| { |
| auto since = |
| std::chrono::duration_cast<std::chrono::seconds>(tp.time_since_epoch()); |
| return since.count(); |
| } |
| |
| inline int64_t |
| clockDurationMilliseconds(const std::chrono::steady_clock::duration& dt) |
| { |
| auto since = std::chrono::duration_cast<std::chrono::milliseconds>(dt); |
| return since.count(); |
| } |
| |
| }; // namespace managedStore |