Condividi tramite


Classe gps_clock

Orologio per l'ora gps (Global Positioning System).

Sintassi

class gps_clock; // C++20

Osservazioni:

Questo orologio misura l'ora dalla domenica 6 gennaio 1980 00:00:00 UTC.

Questo orologio non tiene conto dei secondi intercalari. Ogni volta che viene aggiunto un secondo salto all'ora UTC, utc cade un altro secondo dietro l'ora GPS.

Il tempo GPS è dietro il tempo TAI di 19 secondi perché 10 secondi sono stati aggiunti al tai time nel 1972 per tenere conto dei secondi salti accumulati fino a quel punto, e 9 secondi di salto in più sono stati aggiunti al tempo TAI tra il 1970 e il 1980.

Membri

Nome Descrizione
from_utc Statico. Converte utc_time in gps_time.
now Statico. Restituisce l'ora corrente gps.
to_utc Statico. Converte gps_time in utc_time.

Membri non membri

Nome Descrizione
from_stream Analizzare un oggetto gps_time dal flusso specificato usando il formato specificato.
operator<< Restituisce un oggetto gps_time nel flusso specificato.

Alias del tipo di praticità

Nome Descrizione
gps_clock::duration Nell'implementazione di Microsoft, è un sinonimo di duration<long long, ratio<1, 10'000'000>. Rappresenta una durata del tempo, misurata in unità di 100 nanosecondi.
gps_clock::period Nell'implementazione di Microsoft, è un sinonimo di ratio<1, 10'000'000>. Rappresenta l'ora in frazioni di un secondo (100 nanosecondi) tra ogni tick di clock nella durata.
gps_clock::rep Sinonimo del tipo (long long) utilizzato per rappresentare le unità integrali di questo orologio.gps_clock::duration
gps_clock::time_point Sinonimo di time_point<gps_clock>. Utilizzato per rappresentare un oggetto time_point per questo orologio.

Imparentato

Nome Descrizione
gps_time Sinonimo di template <class Duration> using gps_time = time_point<gps_clock, Duration>. Utilizzato per rappresentare un oggetto time_point per un oggetto gps_clock. Specificare .Duration Definito in std::chrono
gps_seconds Sinonimo di using gps_seconds = gps_time<seconds>; Un conteggio di secondi, rappresentato da un time_point oggetto associato a un oggetto gps_clock. Definito in std::chrono

Costanti pubbliche

Nome Descrizione
gps_clock::is_steady costante Indica se il tipo di orologio è costante. Il valore è false.

Requisiti

Intestazione: <chrono> (da C++20)

Spazio dei nomi: std::chrono

Opzione del compilatore: /std:c++latest

from_utc

Metodo statico che converte un oggetto utc_time in un oggetto gps_time.

template<class Duration>
static gps_time<common_type_t<Duration, seconds>>
from_utc(const utc_time<Duration>& t) noexcept;

Parametri

t
Oggetto utc_time da convertire.

Valore restituito

Oggetto gps_time impostato sullo stesso punto nel tempo dell'oggetto utc_time t. Viene calcolato come gps_time<common_type_t<Duration, seconds>>{t.time_since_epoch()} - 315964809s dove 315964809s == sys_days{1980y/January/Sunday[1]} - sys_days{1970y/January/1} + 9s. Numero di secondi tra il utc_clock periodo e il gps_clock periodo.

to_utc

Metodo statico che converte un oggetto gps_time in un oggetto utc_time.

template<class Duration>
static utc_time<common_type_t<Duration, seconds>>
to_utc(const gps_time<Duration>& t) noexcept;

Parametri

t
Oggetto gps_time da convertire.

Valore restituito

Oggetto utc_time impostato sullo stesso punto nel tempo dell'oggetto gps_time. Viene calcolato come gps_time<common_type_t<Duration, seconds>>{t.time_since_epoch()} + 315964809s dove 315964809s == sys_days{1980y/January/Sunday[1]} - sys_days{1970y/January/1} + 9s. Numero di secondi tra i periodi di utc_clock e .gps_clock

is_steady

Valore statico che specifica se il tipo di clock è costante. Nell'implementazione di Microsoft è is_steady_constant sempre false. Poiché non gps_clock è costante, non è possibile usare questo orologio in modo affidabile per impiegare il tempo prima di un evento, l'ora dopo un evento e sottraerle per ottenere la durata dell'evento perché l'orologio può essere regolato durante tale tempo.

static const bool is_steady = system_clock::is_steady; // system_clock::is_steady equals false

now

Metodo statico che restituisce l'ora GPS corrente.

static time_point now() noexcept;

Valore restituito

Oggetto time_point che rappresenta l'ora corrente. Il punto di tempo restituito è effettivamente from_utc(utc_clock::now()).

Vedi anche

<chrono>
file_clock class
high_resolution_clock
local_t Struct
steady_clock Struct
system_clock Struct
Classe tai_clock
Riferimento file di intestazione