[time.clock.cast.utc] (original) (raw)
30 Time library [time]
30.7 Clocks [time.clock]
30.7.10 time_point conversions [time.clock.cast]
30.7.10.5 Conversions between utc_clock and other clocks [time.clock.cast.utc]
template<class SourceClock> struct clock_time_conversion<utc_clock, SourceClock> { template<class Duration> auto operator()(const time_point<SourceClock, Duration>& t) const -> decltype(SourceClock::to_utc(t));};
template<class Duration> auto operator()(const time_point<SourceClock, Duration>& t) const -> decltype(SourceClock::to_utc(t));
Constraints: SourceClock::to_utc(t) is well-formed.
Mandates: SourceClock::to_utc(t) returns a utc_time<Duration2>for some type Duration2 ([time.point.general]).
Returns: SourceClock::to_utc(t).
template<class DestClock> struct clock_time_conversion<DestClock, utc_clock> { template<class Duration> auto operator()(const utc_time<Duration>& t) const -> decltype(DestClock::from_utc(t));};
template<class Duration> auto operator()(const utc_time<Duration>& t) const -> decltype(DestClock::from_utc(t));
Constraints: DestClock::from_utc(t) is well-formed.
Mandates: DestClock::from_utc(t) returns a time_point<DestClock, Duration2>for some type Duration2 ([time.point.general]).
Returns: DestClock::from_utc(t).