std::chrono::gps_clock
提供: cppreference.com
ヘッダ <chrono> で定義
|
||
class gps_clock; |
(C++20以上) | |
時計 std::chrono::gps_clock
は全地球測位システム (GPS) 時刻を表す Clock です。 協定世界時1980年1月6日0時0分0秒からの経過時間を計測します。
閏秒は GPS には挿入されません。 そのため、 UTC に閏秒が挿入されるたびに、 UTC は GPS から1秒ずつ遅れていきます。 2017年12月の時点では、 UTC は GPS から18秒遅れています。 1980年から2017年までの間に18回の閏秒挿入が行われたことが反映されています。 そのため、 2018-01-01 00:00:00 UTC は 2018-01-01 00:00:18 GPS と同等です。 GPS は TAI から常に19秒遅れています。
gps_clock
は Clock の要件を満たします。 now() が例外を投げないことを実装が保証できなければ、 TrivialClock の要件は満たしません。
目次 |
time_point ファミリー
名前空間 std::chrono で定義 |
||
template<class Duration> using gps_time = std::chrono::time_point<std::chrono::gps_clock, Duration>; |
(C++20以上) | |
using gps_seconds = gps_time<std::chrono::seconds>; |
(C++20以上) | |
gps_time のストリーム出力を行います (関数テンプレート) | |
指定された書式に従って gps_time をストリームからパースします (関数テンプレート) | |
提供された書式に従って gps_time を書式化する std::formatter の特殊化 (クラステンプレートの特殊化) |
[編集] メンバ型
メンバ型 | 定義 |
rep
|
時計の時間の刻みの数を表す符号付き算術型 |
period
|
時計の刻みの間隔を秒で表す std::ratio 型 |
duration
|
std::chrono::duration<rep, period>、負の時間を表すこともできます |
time_point
|
std::chrono::time_point<std::chrono::gps_clock> |
[編集] メンバ定数
constexpr bool is_steady [静的] |
刻みの間隔が常に一定、つまり外部の何らかの時計が調整された場合でも now() の呼び出しが常に単調に増加する値を返す場合は true、そうでなければ false (パブリック静的メンバ定数) |
[編集] メンバ関数
[静的] |
時の現在点を表す std::chrono::time_point を返します (パブリック静的メンバ関数) |
[静的] |
gps_time を utc_time に変換します (パブリック静的メンバ関数) |
[静的] |
utc_time を gps_time に変換します (パブリック静的メンバ関数) |