std::chrono::clock_cast(3)

NAME
std::chrono::clock_cast - std::chrono::clock_cast

Synopsis
   Defined in header <chrono>
   template <class Dest, class Source, class Duration> (since C++20)
   auto clock_cast(const std::chrono::time_point<Source, Duration>& t);
   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 expressions 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.
   1) std::chrono::clock_time_conversion<Dest, std::chrono::system_clock>{}(
   std::chrono::clock_time_conversion<std::chrono::system_clock, Source>{}(t))
   2) std::chrono::clock_time_conversion<Dest, std::chrono::utc_clock>{}(
   std::chrono::clock_time_conversion<std::chrono::utc_clock, Source>{}(t))
     * Otherwise, if at least one of the following two expressions are well-formed,
       then
              * If both expressions 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.
   1) std::chrono::clock_time_conversion<Dest, std::chrono::utc_clock>{}(
   std::chrono::clock_time_conversion<std::chrono::utc_clock,
   std::chrono::system_clock>{}(
   std::chrono::clock_time_conversion<std::chrono::system_clock, Source>{}(t)))
   2) std::chrono::clock_time_conversion<Dest, std::chrono::system_clock>{}(
   std::chrono::clock_time_conversion<std::chrono::system_clock,
   std::chrono::utc_clock>{}(
   std::chrono::clock_time_conversion<std::chrono::utc_clock, Source>{}(t)))
     * Otherwise, this function does not participate in overload resolution.

Return value
   The result of the conversion, determined as described above.

Example
    This section is incomplete
    Reason: no example

See also
   clock_time_conversion traits class defining how to convert time points of one clock
   (C++20) to another
                        (class template)