Clase gps_clock
Reloj para la hora del Sistema de posicionamiento global (GPS).
Sintaxis
class gps_clock; // C++20
Comentarios
Este reloj mide la hora desde el domingo 6 de enero de 1980 a las 00:00:00 UTC.
Este reloj no tiene en cuenta los segundos intercalares. Cada vez que se agrega un segundo intercalar a la hora UTC, UTC se retrasa otro segundo respecto a la hora GPS.
La hora GPS está retrasada respecto al ahora TAI en 19 segundos porque se agregaron 10 segundos a la hora TAI en 1972 para tener en cuenta los segundos intercalares que se habían acumulado en ese momento, y se agregaron otros 9 segundos intercalares más a la hora TAI entre 1970 y 1980.
Miembros
Nombre | Descripción |
---|---|
from_utc |
Estática. Convierte utc_time en gps_time . |
now |
Estática. Devuelve la hora actual del GPS. |
to_utc |
Estática. Convierte gps_time en utc_time . |
No miembros
Nombre | Descripción |
---|---|
from_stream |
Analiza un gps_time desde la secuencia especificada con el formato indicado. |
operator<< |
Genera un elemento gps_time en la secuencia especificada. |
Alias de tipo de conveniencia
Nombre | Descripción |
---|---|
gps_clock::duration |
En la implementación de Microsoft es un sinónimo de duration<long long, ratio<1, 10'000'000> . Representa una duración de tiempo medida en unidades de 100 nanosegundos. |
gps_clock::period |
En la implementación de Microsoft es un sinónimo de ratio<1, 10'000'000> . Representa el tiempo en fracciones de segundo (100 nanosegundos) entre cada ciclo de reloj del intervalo. |
gps_clock::rep |
Un sinónimo del tipo (long long ) usado para representar las unidades integrales de este reloj gps_clock::duration . |
gps_clock::time_point |
Sinónimo de time_point<gps_clock> . Se usa para representar un time_point para este reloj. |
Relacionados
Nombre | Descripción |
---|---|
gps_time |
Sinónimo de template <class Duration> using gps_time = time_point<gps_clock, Duration> . Se usa para representar un time_point para un gps_clock . Especifique Duration . Definido en std::chrono |
gps_seconds |
Un sinónimo de using gps_seconds = gps_time<seconds>; Un recuento de segundos, representado por un time_point que está asociado con un gps_clock . Definido en std::chrono |
Constantes públicas
Nombre | Descripción |
---|---|
gps_clock::is_steady (constante) |
Indica si el tipo de reloj es constante. Su valor es false . |
Requisitos
Encabezado: <chrono>
(desde C++20)
Espacio de nombres: std::chrono
Opción del compilador: /std:c++latest
from_utc
Método estático que convierte un utc_time
en un gps_time
.
template<class Duration>
static gps_time<common_type_t<Duration, seconds>>
from_utc(const utc_time<Duration>& t) noexcept;
Parámetros
t
Objeto utc_time
que se va a convertir.
Valor devuelto
Un gps_time
valor establecido en el mismo momento dado que .utc_time
t
Se calcula como gps_time<common_type_t<Duration, seconds>>{t.time_since_epoch()} - 315964809s
, donde 315964809s == sys_days{1980y/January/Sunday[1]} - sys_days{1970y/January/1} + 9s
es el número de segundos entre la época utc_clock
y la época gps_clock
.
to_utc
Método estático que convierte un gps_time
en un utc_time
.
template<class Duration>
static utc_time<common_type_t<Duration, seconds>>
to_utc(const gps_time<Duration>& t) noexcept;
Parámetros
t
Objeto gps_time
que se va a convertir.
Valor devuelto
Un valor utc_time
establecido en el mismo punto en el tiempo que gps_time
. Se calcula como gps_time<common_type_t<Duration, seconds>>{t.time_since_epoch()} + 315964809s
, donde 315964809s == sys_days{1980y/January/Sunday[1]} - sys_days{1970y/January/1} + 9s
es el número de segundos entre las épocas de utc_clock
y gps_clock
.
is_steady
Valor estático que especifica si el tipo del reloj es constante. En la implementación de Microsoft, is_steady_constant
siempre es false
. Dado que el gps_clock
no es estable, no se puede usar de forma fiable este reloj para tomar el tiempo antes de un evento, el tiempo después de un evento y restarlos para obtener la duración del evento, porque el reloj podría ajustarse durante ese tiempo.
static const bool is_steady = system_clock::is_steady; // system_clock::is_steady equals false
now
Método estático que devuelve la hora actual del GPS.
static time_point now() noexcept;
Valor devuelto
Un objeto time_point que representa la hora actual. El punto de tiempo devuelto es efectivamente from_utc(utc_clock::now())
.
Consulte también
<chrono>
file_clock class
high_resolution_clock
Estructura local_t
Estructura steady_clock
Estructura system_clock
Clase tai_clock
Referencia de archivos de encabezado