Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Classe
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