std::chrono::clock_cast

From cppreference.com
< cpplrm; | chrono
Date and time utilities
(C++11)
(C++11)
clock_cast
(C++20)

Clocks
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
Calendars
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
Time zones
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
C-style date and time
Defined in header <chrono>
template <class Dest, class Source, class Duration>
auto clock_cast(const std::chrono::time_point<Source, Duration>& t);
(since C++20)

Converts the time point t of a clock Source to an equivalent time point of the clock Dest, using std::chrono::system_clock and/or std::chrono::utc_clock as intermediaries if necessary.

  • If the expression std::chrono::clock_time_conversion<Dest, Source>{}(t) is well-formed, returns the result of that expression.
  • Otherwise, if at least one of the following two expressions are well-formed, then
  • If both expression are well-formed, the conversion is ambiguous, and the program is ill-formed.
  • Otherwise, exactly one of the two expressions is well-formed; the result of that expression is returned.
  • Otherwise, if at least one of the following two expressions are well-formed, then
  • If both expression are well-formed, the conversion is ambiguous, and the program is ill-formed.
  • Otherwise, exactly one of the two expressions is well-formed; the result of that expression is returned.
  • Otherwise, this function does not participate in overload resolution.

Return value

The result of the conversion, determined as described above.

Example

See also

traits class defining how to convert time points of one clock to another
(class template)