template<class SourceClock>
struct clock_time_conversion<system_clock, SourceClock> {
template<class Duration>
auto operator()(const time_point<SourceClock, Duration>& t) const
-> decltype(SourceClock::to_sys(t));
};
template<class Duration>
auto operator()(const time_point<SourceClock, Duration>& t) const
-> decltype(SourceClock::to_sys(t));
Remarks:
This function does not participate in overload resolution unless
SourceClock::to_sys(t) is well-formed
. If
SourceClock::to_sys(t)
does not return
sys_time<Duration>,
where
Duration is a valid
chrono::duration specialization,
the program is ill-formed
.Returns: SourceClock::to_sys(t).
template<class DestClock>
struct clock_time_conversion<DestClock, system_clock> {
template<class Duration>
auto operator()(const sys_time<Duration>& t) const
-> decltype(DestClock::from_sys(t));
};
template<class Duration>
auto operator()(const sys_time<Duration>& t) const
-> decltype(DestClock::from_sys(t));
Remarks:
This function does not participate in overload resolution unless
DestClock::from_sys(t) is well-formed
. If
DestClock::from_sys(t) does not return
time_point<DestClock, Duration>,
where
Duration is a valid
chrono::duration specialization,
the program is ill-formed
.Returns: DestClock::from_sys(t).