- Tumbleweed 2024.07.05-1.3
 - Leap-16.0
 - Leap-15.6
 
| std::chrono::clock_cast(3) | C++ Standard Libary | 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 >
  
   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 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)
Category:¶
* Todo no example
| 2024.06.10 | http://cppreference.com |