std::chrono::clock_time_conversion
| Definiert in Header <chrono> |
||
| template< class Dest, class Source > struct clock_time_conversion {}; |
(seit C++20) | |
std::chrono::clock_time_conversion ist ein Trait, der angibt, wie ein std::chrono::time_point der Source-Uhr in einen 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 darstellt. Die Dauer des zurückgegebenen Zeitpunkts wird aus der Quell-Dauer auf eine Weise berechnet, die sich für jede Spezialisierung unterscheidet. clock_time_conversion wird normalerweise nur indirekt über std::chrono::clock_cast verwendet.
Ein Programm kann clock_time_conversion spezialisieren, wenn mindestens einer der Template-Parameter ein benutzerdefinierter Uhrentyp ist.
Die primäre Template 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) |
operator() gibt eine Kopie des Arguments zurück.operator() ruft entsprechend std::chrono::utc_clock::to_sys und std::chrono::utc_clock::from_sys auf.Clock from_sys und to_sys unterstützt: operator() ruft entsprechend Clock::to_sys und Clock::from_sys auf.Clock from_utc und to_utc unterstützt: operator() ruft entsprechend Clock::to_utc und Clock::from_utc auf.Inhalt |
[bearbeiten] Memberfunktionen
Jede Spezialisierung verfügt über einen implizit deklarierten Standardkonstruktor, Kopierkonstruktor, Move-Konstruktor, Kopierzuweisungsoperator, Move-Zuweisungsoperator und Destruktor.
std::chrono::clock_time_conversion::operator()
| template< class Duration > std::chrono::time_point<Clock, Duration> |
(1) | (Mitglied der Spezialisierung (1)) |
| template< class Duration > std::chrono::sys_time<Duration> |
(2) | (Mitglied der Spezialisierung (2)) |
| template< class Duration > std::chrono::utc_time<Duration> |
(3) | (Mitglied der Spezialisierung (3)) |
| template< class Duration > std::chrono::sys_time<Duration> |
(4) | (Mitglied der Spezialisierung (4)) |
| template< class Duration > std::chrono::utc_time<Duration> |
(5) | (Mitglied der Spezialisierung (5)) |
| template< class Duration > auto operator()( const std::chrono::sys_time<Duration>& t ) const |
(6) | (Mitglied der Spezialisierung (6)) |
| template< class Duration > auto operator()( const std::chrono::time_point<SourceClock, Duration>& t ) const |
(7) | (Mitglied der Spezialisierung (7)) |
| template< class Duration > auto operator()( const std::chrono::utc_time<Duration>& t ) const |
(8) | (Mitglied der Spezialisierung (8)) |
| template< class Duration > auto operator()( const std::chrono::time_point<Clock, Duration>& t ) const |
(9) | (Mitglied der Spezialisierung (9)) |
Konvertiert den Argument-std::chrono::time_point in die Zieluhr.
t unverändert zurück.Duration eine beliebige gültige Spezialisierung von std::chrono::duration ist.Duration eine beliebige gültige Spezialisierung von std::chrono::duration ist.Duration eine beliebige gültige Spezialisierung von std::chrono::duration ist.Duration eine beliebige gültige Spezialisierung von std::chrono::duration ist.Parameter
| t | - | Zu konvertierender Zeitpunkt |
Rückgabewert
Das Ergebnis der Konvertierung wie oben beschrieben
[bearbeiten] Siehe auch
| (C++20) |
wandelt Zeitpunkte einer Uhr in andere um (Funktions-Template) |