home | help
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::sys-
     tem_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::sys-
     tem_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  resolu-
     tion.

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

http://cppreference.com 	   2024.06.10	      std::chrono::clock_cast(3)

home | help