|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Time point I/O | ||||
Defined in header <chrono> | ||
class tai_clock; | (since C++20) | |
The clockstd::chrono::tai_clock is aClock that representsInternational Atomic Time (TAI). It measures time since 00:00:00, 1 January 1958, and is offset 10 seconds ahead of UTC at that date (i.e., its epoch, 1958-01-01 00:00:00 TAI, is 1957-12-31 23:59:50 UTC).
Leap seconds are not inserted into TAI. Thus, every time a leap second is inserted into UTC, UTC falls another second behind TAI. As of December 2017, UTC is 37 seconds behind TAI, reflecting the 10-second initial offset and the 27 leap seconds inserted between 1958 and 2017. Thus, 2018-01-01 00:00:00 UTC is equivalent to 2018-01-01 00:00:37 TAI.
tai_clock meets theClock requirements. It does not meet theTrivialClock requirements unless the implementation can guarantee thatnow() does not throw an exception.
Contents |
Defined in namespace std::chrono | ||
template<class Duration> using tai_time=std::chrono::time_point<std::chrono::tai_clock, Duration>; | (since C++20) | |
using tai_seconds= tai_time<std::chrono::seconds>; | (since C++20) | |
performs stream output on atai_time(function template)[edit] | |
parses atai_time from a stream according to the provided format(function template)[edit] | |
formatting support fortai_time(class template specialization)[edit] |
| Member type | Definition |
rep | signed arithmetic type representing the number of ticks in the clock's duration |
period | astd::ratio type representing the tick period of the clock, in seconds |
duration | std::chrono::duration<rep, period>, capable of representing negative durations |
time_point | std::chrono::time_point<std::chrono::tai_clock> |
constexpr bool is_steady [static] | true if the time between ticks is always constant, i.e. calls tonow() return values that increase monotonically even in case of some external clock adjustment, otherwisefalse (public static member constant) |
[static] | returns astd::chrono::time_point representing the current point in time (public static member function)[edit] |
[static] | convertstai_time toutc_time(public static member function)[edit] |
[static] | convertsutc_time totai_time(public static member function)[edit] |