std::chrono::clock_time_conversion
Defined in header <chrono>
|
||
template
<
class Dest, class Source >
struct clock_time_conversion { } ; |
(since C++20) | |
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:
template
<
class Clock >
struct clock_time_conversion<Clock, Clock> ; |
(1) | (since C++20) |
template
<>
struct clock_time_conversion< std::chrono::system_clock, std::chrono::system_clock > ; |
(2) | (since C++20) |
template
<>
struct clock_time_conversion< std::chrono::utc_clock, std::chrono::utc_clock > ; |
(3) | (since C++20) |
template
<>
struct clock_time_conversion< std::chrono::system_clock, std::chrono::utc_clock > ; |
(4) | (since C++20) |
template
<>
struct clock_time_conversion< std::chrono::utc_clock, std::chrono::system_clock > ; |
(5) | (since C++20) |
template
<
class Clock >
struct clock_time_conversion<Clock, std::chrono::system_clock > ; |
(6) | (since C++20) |
template
<
class Clock >
struct clock_time_conversion< std::chrono::system_clock, Clock> ; |
(7) | (since C++20) |
template
<
class Clock >
struct clock_time_conversion<Clock, std::chrono::utc_clock > ; |
(8) | (since C++20) |
template
<
class Clock >
struct clock_time_conversion< std::chrono::utc_clock, Clock> ; |
(9) | (since C++20) |
operator()
returns a copy of the argument.operator()
calls std::chrono::utc_clock::to_sys and std::chrono::utc_clock::from_sys
Clock
supports from_sys
and to_sys
: operator()
calls Clock::to_sys and Clock::from_sys
Clock
supports from_utc
and to_utc
: operator()
calls Clock::to_utc and Clock::from_utc
Member functions
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()
template
<
class Duration >
std::chrono::time_point
<Clock, Duration>
|
(1) | (member of specialization (1)) |
template
<
class Duration >
std::chrono::sys_time<Duration> |
(2) | (member of specialization (2)) |
template
<
class Duration >
std::chrono::utc_time<Duration> |
(3) | (member of specialization (3)) |
template
<
class Duration >
std::chrono::sys_time<Duration> |
(4) | (member of specialization (4)) |
template
<
class Duration >
std::chrono::utc_time<Duration> |
(5) | (member of specialization (5)) |
template
<
class Duration >
auto operator(
)
(
const
std::chrono::sys_time
<Duration>
& t )
const
|
(6) | (member of specialization (6)) |
template
<
class Duration >
auto operator(
)
(
const
std::chrono::time_point
<SourceClock, Duration>
& t )
const
|
(7) | (member of specialization (7)) |
template
<
class Duration >
auto operator(
)
(
const
std::chrono::utc_time
<Duration>
& t )
const
|
(8) | (member of specialization (8)) |
template
<
class Duration >
auto operator(
)
(
const
std::chrono::time_point
<Clock, Duration>
& t )
const
|
(9) | (member of specialization (9)) |
Converts the argument std::chrono::time_point to the destination clock.
t
unchanged.Duration
is some valid specialization of std::chrono::duration
Duration
is some valid specialization of std::chrono::duration
Duration
is some valid specialization of std::chrono::duration
Duration
is some valid specialization of std::chrono::duration
Parameters
t | - | time point to convert |
Return value
The result of the conversion as described above:
See also
(C++20)
|
convert time points of one clock to another (function template) |