Classe gps_clock
Um relógio para a hora GPS (Sistema de Posicionamento Global).
Sintaxe
class gps_clock; // C++20
Comentários
Esse relógio faz a medição da hora desde domingo, 6 de janeiro de 1980 00:00:00 UTC.
O relógio não contabiliza segundos intercalares. Sempre que um segundo bissexto é adicionado à hora UTC, o UTC fica mais um segundo atrás da hora GPS.
A hora de GPS fica atrasada 19 segundos em relação à hora TAI porque 10 segundos foram adicionados à hora TAI em 1972 para contabilizar os segundos bissextos acumulados até aquele ponto, e mais 9 segundos bissextos foram adicionados à hora TAI entre 1970 e 1980.
Membros
Nome | Descrição |
---|---|
from_utc |
Estático. Converte uma utc_time em uma gps_time . |
now |
Estático. Retorna a hora GPS atual. |
to_utc |
Estático. Converte uma gps_time em uma utc_time . |
Não membros
Nome | Descrição |
---|---|
from_stream |
Analise um gps_time do fluxo fornecido usando o formato especificado. |
operator<< |
Gerar um gps_time para o fluxo fornecido. |
Aliases de tipo de conveniência
Nome | Descrição |
---|---|
gps_clock::duration |
Na implementação da Microsoft, isso é sinônimo de duration<long long, ratio<1, 10'000'000> . Representa uma duração de tempo, conforme medido em unidades de 100 nanossegundos. |
gps_clock::period |
Na implementação da Microsoft, isso é sinônimo de ratio<1, 10'000'000> . Representa o tempo em frações de um segundo (100 nanossegundos) entre cada tique de relógio na duração. |
gps_clock::rep |
Um sinônimo do tipo (long long ) usado para representar as unidades integrais no relógio gps_clock::duration . |
gps_clock::time_point |
Um sinônimo de time_point<gps_clock> . Usado para representar um time_point para esse relógio. |
Relacionado
Nome | Descrição |
---|---|
gps_time |
Um sinônimo de template <class Duration> using gps_time = time_point<gps_clock, Duration> . Usado para representar um time_point para um gps_clock . Você pode especificar o Duration . Definido em std::chrono |
gps_seconds |
Um sinônimo para using gps_seconds = gps_time<seconds>; Uma contagem de segundos, representada por um time_point associado a um gps_clock . Definido em std::chrono |
Constantes públicas
Nome | Descrição |
---|---|
gps_clock::is_steady constante |
Indica se o tipo de relógio é estável. Seu valor é false . |
Requisitos
Cabeçalho: <chrono>
(desde C++20)
Namespace: std::chrono
Opção do compilador: /std:c++latest
from_utc
Método estático que converte um utc_time
em um gps_time
.
template<class Duration>
static gps_time<common_type_t<Duration, seconds>>
from_utc(const utc_time<Duration>& t) noexcept;
Parâmetros
t
O utc_time
a ser convertido.
Valor retornado
A gps_time
para o mesmo ponto no tempo que o utc_time
t
. É computado como gps_time<common_type_t<Duration, seconds>>{t.time_since_epoch()} - 315964809s
onde 315964809s == sys_days{1980y/January/Sunday[1]} - sys_days{1970y/January/1} + 9s
. Que é o número de segundos entre a época utc_clock
e a época gps_clock
.
to_utc
Método estático que converte um gps_time
em um utc_time
.
template<class Duration>
static utc_time<common_type_t<Duration, seconds>>
to_utc(const gps_time<Duration>& t) noexcept;
Parâmetros
t
O gps_time
a ser convertido.
Valor de retorno
Um conjunto utc_time
para o mesmo ponto no tempo que o gps_time
. É computado como gps_time<common_type_t<Duration, seconds>>{t.time_since_epoch()} + 315964809s
onde 315964809s == sys_days{1980y/January/Sunday[1]} - sys_days{1970y/January/1} + 9s
. Esse é o número de segundos entre as épocas do utc_clock
e do gps_clock
.
is_steady
Valor estático que especifica se o tipo de relógio é estável. Na implementação da Microsoft, is_steady_constant
é sempre false
. Como o gps_clock
não é estável, não é possível usar esse relógio de maneira confiável para mediar o tempo antes de um evento, o tempo após um evento e subtraí-los para obter a duração do evento porque o relógio pode ser ajustado durante esse tempo.
static const bool is_steady = system_clock::is_steady; // system_clock::is_steady equals false
now
Método estático que retorna a hora GPS atual.
static time_point now() noexcept;
Valor de retorno
Um objeto time_point que representa a hora atual. O ponto de tempo retornado é efetivamente from_utc(utc_clock::now())
.
Confira também
<chrono>
file_clock class
high_resolution_clock
Structlocal_t
Structsteady_clock
Structsystem_clock
tai_clock
classe
Referência de Arquivos de Cabeçalho