◐ Shell
clean mode source ↗

std::chrono::clock_cast - cppreference.com

提供: cppreference.com

<tbody> </tbody>

template <class Dest, class Source, class Duration> auto clock_cast(const std::chrono::time_point<Source, Duration>& t);

(C++20以上)

時計 Source の時点 t を時計 Dest の同等な時点に変換します。 必要に応じて std::chrono::system_clock および std::chrono::utc_clock を中間結果として使用します。

  • std::chrono::clock_time_conversion<Dest, Source>{}(t) が well-formed であれば、その式の結果を返します。
  • そうでなく、以下の2つの式の少なくとも1つが well-formed である場合、
  • 両方とも well-formed であれば、変換は曖昧であり、プログラムは ill-formed です。
  • そうでなければ、2つの式のどちらか1つだけが well-formed であり、その式の結果が返されます。

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

  • そうでなく、以下の2つの式の少なくとも1つが well-formed である場合、
  • 両方とも well-formed であれば、変換は曖昧であり、プログラムは ill-formed です。
  • そうでなければ、2つの式のどちらか1つだけが well-formed であり、その式の結果が返されます。

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

  • そうでなければ、この関数はオーバーロード解決に参加しません。

戻り値

上で説明した通りに決定された、変換の結果。

関連項目