名前空間
変種
操作

std::chrono::operator<< (std::chrono::duration)

提供: cppreference.com
< cpp‎ | chrono‎ | duration
 
 
 
日付と時間のユーティリティ
(C++11)
(C++11)
時計
(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 CharT, class Traits, class Rep, class Period>

std::basic_ostream<CharT, Traits>&
    operator<<(std::basic_ostream<CharT, Traits>& os,

               const std::chrono::duration<Rep, Period>& d);
(C++20以上)

d のテキスト表現を os に挿入します。 CharTchar でも wchar_t でもない場合、または Repshort と同じかより高い変換ランクを持つ整数型でも浮動小数点型でもない場合、動作は未定義です。

以下のようなことを行なったかのように動作します。 まず std::to_string(d.count()) (CharTchar の場合) または std::to_wstring(d.count()) (CharTwchar_t の場合) の文字から構成される std::basic_string<CharT, Traits> str を形成します。 そして以下の表に従って Period::type に基づいた接尾辞を str に追加し、 os << str; を用いて str をストリームに出力します。

Period::type 接尾辞
std::atto as
std::femto fs
std::pico ps
std::nano ns
std::micro µs (U+00B5)
std::milli ms
std::centi cs
std::deci ds
std::ratio<1> s
std::deca das
std::hecto hs
std::kilo ks
std::mega Ms
std::giga Gs
std::tera Ts
std::peta Ps
std::exa Es
std::ratio<60> min
std::ratio<3600> h
std::ratio<86400> d
以上のどれでもなく、 Period::type::den == 1 の場合 [num]s
以上のどれでもない場合 [num/den]s

std::micro について、文字 µ (U+00B5)CharT 用のエンコーディングで表現できない場合は、代わりに接尾辞「us」が使用されます。

最後の2行について、接尾辞の num および den は、それぞれ、先頭にゼロを付加しない10進数でフォーマットされた Period::type::num および Period::type::den です。

[編集] 戻り値

ストリームを指す参照、すなわち os

[編集] ノート

d.count()std::to_string/std::to_wstring のルールを用いてフォーマットされます。 特に、 Rep が浮動小数点型の場合は必ず小数点以下6桁でフォーマットされ、 d.count() が小さければ、結果の文字列内の有効桁数がゼロになることもあります。

[編集] 関連項目

(C++20)
指定された書式に従って duration をストリームに出力します
(関数テンプレート) [edit]
文字列のストリーム入出力を行います
(関数テンプレート) [edit]
(C++11)
整数または浮動小数点値を string に変換します
(関数) [edit]
整数または浮動小数点値を wstring に変換します
(関数) [edit]