GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
std::chrono::clock_time_conversion(3) C++ Standard Libary std::chrono::clock_time_conversion(3)

std::chrono::clock_time_conversion - 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 an 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, (2) (since C++20)
std::chrono::system_clock>;
template<> struct clock_time_conversion<std::chrono::utc_clock, (3) (since C++20)
std::chrono::utc_clock>;
template<> struct clock_time_conversion<std::chrono::system_clock, (4) (since C++20)
std::chrono::utc_clock>;
template<> struct clock_time_conversion<std::chrono::utc_clock, (5) (since C++20)
std::chrono::system_clock>;
template<class Clock> struct clock_time_conversion<Clock, (6) (since C++20)
std::chrono::system_clock>;
template<class Clock> struct (7) (since C++20)
clock_time_conversion<std::chrono::system_clock, Clock>;
template<class Clock> struct clock_time_conversion<Clock, (8) (since C++20)
std::chrono::utc_clock>;
template<class Clock> struct (9) (since C++20)
clock_time_conversion<std::chrono::utc_clock, Clock>;


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()


template <class Duration>


std::chrono::time_point<Clock, Duration> (1) (member of
specialization (1))
operator()(const std::chrono::time_point<Clock, Duration>&
t) const;
template <class Duration>


std::chrono::sys_time<Duration> (2) (member of
specialization (2))
operator()(const std::chrono::sys_time<Duration> & t)
const;
template <class Duration>
(member of
std::chrono::utc_time<Duration> (3) specialization (3))


operator()(const std::chrono::utc_time<Duration>& t) const;
template <class Duration>
(member of
std::chrono::sys_time<Duration> (4) specialization (4))


operator()(const std::chrono::utc_time<Duration>& t) const;
template <class Duration>
(member of
std::chrono::utc_time<Duration> (5) specialization (5))


operator()(const std::chrono::sys_time<Duration>& t) const;
template <class Duration>


auto operator()(const std::chrono::sys_time<Duration>& t) (6) (member of
const specialization (6))


-> decltype(Clock::from_sys(t));
template <class Duration>


auto operator()(const std::chrono::time_point<SourceClock, (7) (member of
Duration>& t) const specialization (7))


-> decltype(Clock::to_sys(t));
template <class Duration>


auto operator()(const std::chrono::utc_time<Duration>& t) (8) (member of
const specialization (8))


-> decltype(Clock::from_utc(t));
template <class Duration>


auto operator()(const std::chrono::time_point<Clock, (9) (member of
Duration>& t) const specialization (9))


-> decltype(Clock::to_utc(t));


Converts the argument std::chrono::time_point to the destination clock.


1-3) Identity conversion. Returns t unchanged.
4) Returns std::chrono::utc_clock::to_sys(t).
5) Returns std::chrono::utc_clock::from_sys(t).
6) 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.


t - time point to convert


The result of the conversion as described above:


1-3) t.
4) std::chrono::utc_clock::to_sys(t).
5) std::chrono::utc_clock::from_sys(t).
6) Clock::from_sys(t).
7) Clock::to_sys(t).
8) Clock::from_utc(t).
9) Clock::to_utc(t).


clock_cast convert time points of one clock to another
(C++20) (function template)

2022.07.31 http://cppreference.com

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.