#include #include #include namespace mbgl { namespace util { // Prefer high resolution timer if it is monotonic template * = nullptr> static T sample() { return std::chrono::duration_cast(std::chrono::high_resolution_clock::now().time_since_epoch()); } template * = nullptr> static T sample() { return std::chrono::duration_cast(std::chrono::steady_clock::now().time_since_epoch()); } std::chrono::duration MonotonicTimer::now() { return sample>(); } } // namespace util } // namespace mbgl