Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
struct
Trait qui spécifie comment convertir un time_point type d’horloge en un autre, tout en conservant le point équivalent dans le temps.
Syntaxe
// 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>;
Paramètres de modèle
Clock
Type d’horloge à convertir de/vers.
Dest
Type d’horloge à convertir.
Source
Type d’horloge à partir duquel effectuer la conversion.
Les caractéristiques fournissent les conversions suivantes :
1) Struct vide défini uniquement afin qu’il puisse être spécialisé.
2-4) Conversions d’identité. Retourne la même horloge que celle que vous passez.
5-6) Conversion entre sys_time et utc_time appels utc_clock::to_sys ou utc_clock::from_sys selon la direction de la conversion.
7-8) Conversion entre sys_time et l’horloge spécifiée, lorsque l’horloge spécifiée prend en charge to_sys et from_sys, entraîne un appel vers Clock::to_sys ou Clock::from_sys, selon la direction de la conversion.
9-10) Conversion entre utc_time l’horloge spécifiée, lorsque l’horloge spécifiée prend en charge from_utc et to_sys, génère un appel vers Clock::to_utc ou Clock::from_utc, selon la direction de la conversion.
Membres
| Nom | Descriptif |
|---|---|
operator () |
Convertit une time_point horloge en une autre. |
Notes
Vous n’utiliserez généralement pas cette caractéristique directement dans votre code. Elle est utilisée par la clock_cast fonction de conversion.
Spécifications
En-tête<chrono> :
Espace de noms : std::chrono
Option du compilateur :/std:c++latest
operator()
Convertit un time_point type d’horloge en un autre tout en conservant le point équivalent dans le temps.
Syntaxe
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;
Paramètres
t
time_point à convertir.
Valeur retournée
1-3) Conversions d’identité. Aucune conversion. Retourne t sans aucune modification.
4) Renvoie utc_clock::to_sys(t).
5) Renvoie utc_clock::from_sys(t).
Guides de déduction
Les guides de déduction suivants sont fournis pour 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) Participe à la résolution de surcharge uniquement quand il Clock prend en charge from_sys() et retourne time_point<Clock, Duration>.
2) Participe à la résolution de surcharge uniquement lorsque Clock prend en charge to_sys() et retourne sys_time<Duration>.
3) Participe à la résolution de surcharge uniquement quand il Clock prend en charge from_utc() et retourne time_point<Clock, Duration>.
4) Participe à la résolution de surcharge uniquement quand il Clock prend en charge to_utc() et retourne utc_time<Duration>.
Exemple : 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
Voir aussi
<chrono>
clock_cast
Informations de référence sur les fichiers d’en-tête