Namespaces
Variants

std::chrono:: clock_time_conversion

From cppreference.net
Definiert im Header <chrono>
template < class Dest, class Source >
struct clock_time_conversion { } ;
(seit C++20)

std::chrono::clock_time_conversion ist ein Merkmal (Trait), das festlegt, wie ein std::chrono::time_point der Source -Uhr in einen Zeitpunkt der Dest -Uhr umgewandelt wird. Dies geschieht durch Bereitstellung eines const-aufrufbaren operator() , der ein Argument vom Typ std:: chrono :: time_point < Source, Duration > akzeptiert und einen std:: chrono :: time_point < Dest, OtherDuration > zurückgibt, der einen äquivalenten Zeitpunkt repräsentiert. Die Dauer des zurückgegebenen Zeitpunkts wird aus der Quelldauer auf eine Weise berechnet, die für jede Spezialisierung variiert. clock_time_conversion wird normalerweise nur indirekt über std::chrono::clock_cast verwendet.

Ein Programm kann clock_time_conversion spezialisieren, falls mindestens einer der Template-Parameter ein benutzerdefinierter Clock-Typ ist.

Die primäre Vorlage ist eine leere Struktur. Der Standard definiert die folgenden Spezialisierungen:

template < class Clock >
struct clock_time_conversion < Clock, Clock > ;
(1) (seit C++20)
template <>
struct clock_time_conversion < std:: chrono :: system_clock , std:: chrono :: system_clock > ;
(2) (seit C++20)
template <>
struct clock_time_conversion < std:: chrono :: utc_clock , std:: chrono :: utc_clock > ;
(3) (seit C++20)
template <>
struct clock_time_conversion < std:: chrono :: system_clock , std:: chrono :: utc_clock > ;
(4) (seit C++20)
template <>
struct clock_time_conversion < std:: chrono :: utc_clock , std:: chrono :: system_clock > ;
(5) (seit C++20)
template < class Clock >
struct clock_time_conversion < Clock, std:: chrono :: system_clock > ;
(6) (seit C++20)
template < class Clock >
struct clock_time_conversion < std:: chrono :: system_clock , Clock > ;
(7) (seit C++20)
template < class Clock >
struct clock_time_conversion < Clock, std:: chrono :: utc_clock > ;
(8) (seit C++20)
template < class Clock >
struct clock_time_conversion < std:: chrono :: utc_clock , Clock > ;
(9) (seit C++20)
1-3) Identitätskonvertierung: operator() gibt eine Kopie des Arguments zurück.
4,5) Umwandlungen zwischen std::chrono::sys_time und std::chrono::utc_time : operator() ruft std::chrono::utc_clock::to_sys und std::chrono::utc_clock::from_sys entsprechend auf.
6,7) Umwandlungen zu und von std::chrono::sys_time wenn Clock from_sys und to_sys unterstützt: operator() ruft Clock :: to_sys und Clock :: from_sys entsprechend auf.
8,9) Umwandlungen zu und von std::chrono::utc_time , wenn Clock from_utc und to_utc unterstützt: operator() ruft Clock :: to_utc und Clock :: from_utc entsprechend auf.

Inhaltsverzeichnis

Memberfunktionen

Jede Spezialisierung hat einen implizit deklarierten Standardkonstruktor, Kopierkonstruktor, Verschiebekonstruktor, Kopierzuweisungsoperator, Verschiebezuweisungsoperator und Destruktor.

std::chrono::clock_time_conversion:: operator()

(Anmerkung: Der bereitgestellte HTML-Code enthält keinen übersetzbaren Text, da alle Tags leer sind. Die Struktur bleibt gemäß den Anforderungen unverändert.)
template < class Duration >

std:: chrono :: time_point < Clock, Duration >

Operator ( ) ( const std:: chrono :: time_point < Clock, Duration > & t ) const ;
(1) (Mitglied der Spezialisierung (1) )
template < class Duration >

std:: chrono :: sys_time < Duration >

operator ( ) ( const std:: chrono :: sys_time < Duration > & t ) const ;
(2) (Mitglied der Spezialisierung (2) )
template < class Duration >

std:: chrono :: utc_time < Duration >

Operator ( ) ( const std:: chrono :: utc_time < Duration > & t ) const ;
(3) (Mitglied der Spezialisierung (3) )
template < class Duration >

std:: chrono :: sys_time < Duration >

operator ( ) ( const std:: chrono :: utc_time < Duration > & t ) const ;
(4) (Mitglied der Spezialisierung (4) )
template < class Duration >

std:: chrono :: utc_time < Duration >

operator ( ) ( const std:: chrono :: sys_time < Duration > & t ) const ;
(5) (Mitglied der Spezialisierung (5) )
template < class Duration >

auto operator ( ) ( const std:: chrono :: sys_time < Duration > & t ) const

- > decltype ( Clock :: from_sys ( t ) ) ;
(6) (Mitglied der Spezialisierung (6) )
template < class Duration >

auto operator ( ) ( const std:: chrono :: time_point < SourceClock, Duration > & t ) const

- > decltype ( Clock :: to_sys ( t ) ) ;
(7) (Mitglied der Spezialisierung (7) )
template < class Duration >

auto operator ( ) ( const std:: chrono :: utc_time < Duration > & t ) const

- > decltype ( Clock :: from_utc ( t ) ) ;
(8) (Mitglied der Spezialisierung (8) )
template < class Duration >

auto operator ( ) ( const std:: chrono :: time_point < Clock, Duration > & t ) const

- > decltype ( Clock :: to_utc ( t ) ) ;
(9) (Mitglied der Spezialisierung (9) )

Konvertiert das Argument std::chrono::time_point zur Zieluhr.

1-3) Identitätskonvertierung. Gibt t unverändert zurück.
6) Gibt Clock :: from_sys ( t ) zurück. Diese Überladung nimmt nur dann an der Überladungsauflösung teil, wenn der Ausdruck Clock :: from_sys ( t ) wohlgeformt ist. Das Programm ist fehlerhaft, wenn Clock :: from_sys ( t ) nicht std:: chrono :: time_point < Clock, Duration > zurückgibt, wobei Duration eine gültige Spezialisierung von std::chrono::duration ist.
7) Gibt Clock :: to_sys ( t ) zurück. Diese Überladung nimmt nur dann an der Überladungsauflösung teil, wenn der Ausdruck Clock :: to_sys ( t ) wohlgeformt ist. Das Programm ist fehlerhaft, wenn Clock :: to_sys ( t ) nicht std:: chrono :: sys_time < Duration > zurückgibt, wobei Duration eine gültige Spezialisierung von std::chrono::duration ist.
8) Gibt Clock :: from_utc ( t ) zurück. Diese Überladung nimmt nur dann an der Überladungsauflösung teil, wenn der Ausdruck Clock :: from_utc ( t ) wohlgeformt ist. Das Programm ist fehlerhaft, wenn Clock :: from_utc ( t ) nicht std:: chrono :: time_point < Clock, Duration > zurückgibt, wobei Duration eine gültige Spezialisierung von std::chrono::duration ist.
9) Gibt Clock :: to_utc ( t ) zurück. Diese Überladung nimmt nur dann an der Überladungsauflösung teil, wenn der Ausdruck Clock :: to_utc ( t ) wohlgeformt ist. Das Programm ist fehlerhaft, wenn Clock :: to_utc ( t ) nicht std:: chrono :: utc_time < Duration > zurückgibt, wobei Duration eine gültige Spezialisierung von std::chrono::duration ist.

Parameter

t - Zeitpunkt zur Konvertierung

Rückgabewert

Das Ergebnis der Konvertierung wie oben beschrieben:

1-3) t .
6) Clock :: from_sys ( t ) .
7) Clock :: to_sys ( t ) .
8) Clock :: from_utc ( t ) .
9) Clock :: to_utc ( t ) .

Siehe auch

(C++20)
Konvertiert Zeitpunkte einer Uhr zu einer anderen
(Funktions-Template)