名前空間
変種
操作

std::chrono::clock_cast

提供: cppreference.com
< cpp‎ | chrono
 
 
 
日付と時間のユーティリティ
(C++11)
(C++11)
clock_cast
(C++20)

時計
(C++20)
                                                  
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
カレンダー
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
タイムゾーン
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
C スタイルの日付と時間
 
ヘッダ <chrono> で定義
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)))
  • そうでなければ、この関数はオーバーロード解決に参加しません。

[編集] 戻り値

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

[編集]

[編集] 関連項目

ある時計の時点を別の時計に変換する方法を定義する特性クラス
(クラステンプレート) [edit]