std::chrono::time_of_day
提供: cppreference.com
ヘッダ <chrono> で定義
|
||
template< class Duration > class time_of_day; // not defined |
(1) | (C++20以上) |
template<> class time_of_day<std::chrono::hours>; |
(2) | (C++20以上) |
template<> class time_of_day<std::chrono::minutes>; |
(3) | (C++20以上) |
template<> class time_of_day<std::chrono::seconds>; |
(4) | (C++20以上) |
template< class Rep, class Period > class time_of_day<std::chrono::duration<Rep, Period>>; |
(5) | (C++20以上) |
クラステンプレート time_of_day
は、真夜中からの時間を表す std::chrono::duration を、 時:分:秒のような時刻に分解します。 分解の精度はテンプレート引数 Duration
によって決定されます。 また、12時間表記と24時間表記のいずれで出力するべきかも追跡します。 これは主にフォーマット用のツールです。
プライマリテンプレート (1) は定義されません。 4つ異なる精度レベルを処理する4つの特殊化が提供されます。
time_of_day
のそれぞれの特殊化は TriviallyCopyable かつ StandardLayoutType です。
部分特殊化 (5) は、 std::chrono::treat_as_floating_point_v<Rep> が false であり、 std::chrono::duration<Rep, Period> が std::chrono::seconds に変換可能でない場合にのみ、存在します。
[編集] メンバ型
メンバ型 | 定義 |
precision
|
Duration
|
[編集] メンバ関数
time_of_day を構築します (パブリックメンバ関数) | |
分解した時間の各部分にアクセスします (パブリックメンバ関数) | |
格納されている std::chrono::duration にアクセスします (パブリックメンバ関数) | |
出力に使用される時間表記を変更します (パブリックメンバ関数) |
[編集] 非メンバ関数
time_of_day をストリームに出力します (関数テンプレート) |