Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ein Merkmal, das angibt, wie eine time_point Art von Uhr in eine andere konvertiert wird, während der äquivalente Punkt in der Zeit beibehalten wird.
Syntax
// C++20
1) template<class Dest, class Source> struct clock_time_conversion {};
2) template<class Clock> struct clock_time_conversion<Clock, Clock>;
3) template<> struct clock_time_conversion<system_clock, system_clock>;
4) template<> struct clock_time_conversion<utc_clock, utc_clock>;
5) template<> struct clock_time_conversion<system_clock, utc_clock>;
6) template<> struct clock_time_conversion<utc_clock, system_clock>;
7) template<class Clock> struct clock_time_conversion<Clock, system_clock>;
8) template<class Clock> struct clock_time_conversion<system_clock, Clock>;
9) template<class Clock> struct clock_time_conversion<Clock, utc_clock>;
10) template<class Clock> struct clock_time_conversion<utc_clock, Clock>;
Vorlagenparameter
Clock
Ein Uhrtyp, der von/in konvertiert werden soll.
Dest
Der Uhrtyp, in den konvertiert werden soll.
Source
Der Uhrtyp, aus dem konvertiert werden soll.
Die Merkmale stellen die folgenden Konvertierungen bereit:
1) Eine leere Struktur, die nur so definiert ist, dass sie spezialisiert werden kann.
2-4) Identitätskonvertierungen. Gibt die gleiche Uhr zurück, die Sie übergeben.
5-6) Konvertierung zwischen sys_time und utc_time Anrufen utc_clock::to_sys oder utc_clock::from_sys abhängig von der Richtung der Konvertierung.
7-8) Konvertierung zwischen sys_time und der angegebenen Uhr, wenn die angegebene Uhr unterstützt to_sys und from_sys, führt zu einem Aufruf Clock::to_sys oder Clock::from_sys, abhängig von der Richtung der Konvertierung.
9-10) Konvertierung zwischen utc_time und der angegebenen Uhr, wenn die angegebene Uhr unterstützt from_utc und to_sys, führt zu einem Aufruf Clock::to_utc oder Clock::from_utc, abhängig von der Richtung der Konvertierung.
Mitglieder
| Name | Beschreibung |
|---|---|
operator () |
Wandelt eine Uhr in eine time_point andere um. |
Hinweise
In der Regel verwenden Sie diese Eigenschaft nicht direkt in Ihrem Code. Sie wird von der clock_cast Konvertierungsfunktion verwendet.
Anforderungen
Header<chrono>:
Namespace:std::chrono
Compileroption:/std:c++latest
operator()
Wandelt einen Von einem time_point Takttyp in einen anderen um, während der äquivalente Zeitpunkt beibehalten wird.
Syntax
1)
template <class Duration>
time_point<Clock, Duration> operator()(const time_point<Clock, Duration>& t) const;
2)
template <class Duration>
sys_time<Duration> operator()(const sys_time<Duration> & t) const;
3)
template <class Duration>
utc_time<Duration> operator()(const utc_time<Duration>& t) const;
4)
template <class Duration>
sys_time<Duration> operator()(const utc_time<Duration>& t) const;
5)
template <class Duration>
utc_time<Duration> operator()(const sys_time<Duration>& t) const;
Parameter
t
Die zu konvertierende time_point.
Rückgabewert
1-3) Identitätskonvertierungen. Keine Konvertierung. Gibt ohne Änderungen zurück t .
4) Gibt zurück utc_clock::to_sys(t).
5) Gibt zurück utc_clock::from_sys(t).
Abzugslinien
Die folgenden Abzugslinien sind für template <class Duration> operator():
1)
template <class Duration> auto operator()(const sys_time<Duration>& t) const
-> decltype(Clock::from_sys(t));
2)
template <class Duration> auto operator()(const time_point<SourceClock, Duration>& t) const
-> decltype(Clock::to_sys(t));
3)
template <class Duration> auto operator()(const utc_time<Duration>& t) const
-> decltype(Clock::from_utc(t));
4)
template <class Duration> auto operator()(const time_point<Clock, Duration>& t) const
-> decltype(Clock::to_utc(t));
1) Nimmt nur bei Clock Unterstützung from_sys() und Rückgabe time_point<Clock, Duration>an der Überladungsauflösung teil.
2) Nimmt nur bei Clock Unterstützung to_sys() und Rückgabe sys_time<Duration>an der Überladungsauflösung teil.
3) Nimmt nur bei Clock Unterstützung from_utc() und Rückgabe time_point<Clock, Duration>an der Überladungsauflösung teil.
4) Nimmt nur bei Clock Unterstützung to_utc() und Rückgabe utc_time<Duration>an der Überladungsauflösung teil.
Beispiel: clock_time_conversion
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
auto sd = sys_days{ 2021y / July / 26 };
auto time = clock_time_conversion<utc_clock, system_clock>{}(sd);
std::cout << time << "\n";
return 0;
}
2021-07-26 00:00:00