template< class Dest, class Source >
struct clock_time_conversion {};
std::chrono::clock_time_conversion
is a trait that specifies how to convert a std::chrono::time_point of the Source
clock to that of the Dest
clock. It does so by providing a const-callable operator()
that accepts an argument of type std::chrono::time_point<Source, Duration> and returns a std::chrono::time_point<Dest, OtherDuration> that represents an equivalent point in time. The duration of the returned time point is computed from the source duration in a manner that varies for each specialization. clock_time_conversion
is normally only used indirectly, via std::chrono::clock_cast.
A program may specialize clock_time_conversion
if at least one of the template parameters is a user-defined clock type.
The primary template is an empty struct. The standard defines the following specializations:
1-3) Identity conversion: operator()
returns a copy of the argument.
4,5) Conversions between std::chrono::sys_time and std::chrono::utc_time: operator()
calls std::chrono::utc_clock::to_sys and std::chrono::utc_clock::from_sys, respectively.
6,7) Conversions to and from std::chrono::sys_time when Clock
supports from_sys
and to_sys
: operator()
calls Clock::to_sys and Clock::from_sys, respectively.
8,9) Conversions to and from std::chrono::utc_time when Clock
supports from_utc
and to_utc
: operator()
calls Clock::to_utc and Clock::from_utc, respectively.
Each specialization has an implicitly-declared default constructor, copy constructor, move constructor, copy assignment operator, move assignment operator, and destructor.
std::chrono::clock_time_conversion::operator()Converts the argument std::chrono::time_point to the destination clock.
1-3) Identity conversion. Returns t
unchanged.
Returns
Clock::from_sys(t). This overload participates in overload resolution only if the expression
Clock::from_sys(t)is well-formed. The program is ill-formed if
Clock::from_sys(t)does not return
std::chrono::time_point<Clock, Duration>where
Duration
is some valid specialization of
std::chrono::duration.
7)Returns
Clock::to_sys(t). This overload participates in overload resolution only if the expression
Clock::to_sys(t)is well-formed. The program is ill-formed if
Clock::to_sys(t)does not return
std::chrono::sys_time<Duration>where
Duration
is some valid specialization of
std::chrono::duration.
8)Returns
Clock::from_utc(t). This overload participates in overload resolution only if the expression
Clock::from_utc(t)is well-formed. The program is ill-formed if
Clock::from_utc(t)does not return
std::chrono::time_point<Clock, Duration>where
Duration
is some valid specialization of
std::chrono::duration.
9)Returns
Clock::to_utc(t). This overload participates in overload resolution only if the expression
Clock::to_utc(t)is well-formed. The program is ill-formed if
Clock::to_utc(t)does not return
std::chrono::utc_time<Duration>where
Duration
is some valid specialization of
std::chrono::duration.
Parameters t - time point to convert Return valueThe result of the conversion as described above:
1-3) t.
6) Clock::from_sys(t).
7) Clock::to_sys(t).
8) Clock::from_utc(t).
9) Clock::to_utc(t).
[edit] See also convert time points of one clock to anotherRetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4