[time.clock.conv] (original) (raw)

clock_time_conversion serves as a trait which can be used to specify how to convert a source time_point of typetime_point<SourceClock, Duration>to a destination time_point of typetime_point<DestClock, Duration>via a specialization:clock_time_conversion<DestClock, SourceClock>.

A specialization of clock_time_conversion<DestClock, SourceClock>shall provide a const-qualified operator()that takes a parameter of type time_point<SourceClock, Duration>and returns a time_point<DestClock, OtherDuration>representing an equivalent point in time.

OtherDuration is a chrono​::​durationwhose specialization is computed from the input Durationin a manner which can vary for each clock_time_conversion specialization.

A program may specialize clock_time_conversionif at least one of the template parameters is a user-defined clock type.