Defined in header <chrono> | ||
---|---|---|
class high_resolution_clock; | (since C++11) |
Class std::chrono::high_resolution_clock
represents the clock with the smallest tick period provided by the implementation. It may be an alias of std::chrono::system_clock
or std::chrono::steady_clock
, or a third, independent clock.
std::chrono::high_resolution_clock
meets the requirements of TrivialClock.
Member type | Definition |
---|---|
rep | arithmetic type representing the number of ticks in the clock's duration |
period | a std::ratio type representing the tick period of the clock, in seconds |
duration | std::chrono::duration<rep, period> |
time_point | std::chrono::time_point<std::chrono::high_resolution_clock> |
constexpr bool is_steady
[static] | true if the time between ticks is always constant, i.e. calls to now() return values that increase monotonically even in case of some external clock adjustment, otherwise false (public static member constant) |
[static] | returns a std::chrono::time_point representing the current value of the clock (public static member function) |
The high_resolution_clock
is not implemented consistently across different standard library implementations, and its use should be avoided. It is often just an alias for std::chrono::steady_clock
or std::chrono::system_clock
, but which one it is depends on the library or configuration. When it is a system_clock
, it is not monotonic (e.g., the time can go backwards). For example, for gcc's libstdc++ it is system_clock
, for MSVC it is steady_clock
, and for clang's libc++ it depends on configuration.
Generally one should just use std::chrono::steady_clock
or std::chrono::system_clock
directly instead of std::chrono::high_resolution_clock
: use steady_clock
for duration measurements, and system_clock
for wall-clock time.
(C++11) | wall clock time from the system-wide realtime clock (class) |
(C++11) | monotonic clock that will never be adjusted (class) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/chrono/high_resolution_clock