std::chrono:: operator<< (std::chrono::duration)
|
ヘッダーで定義
<chrono>
|
||
|
template
<
class
CharT,
|
(C++20以降) | |
d のテキスト表現を os に挿入します。
以下のように実装されているかのように動作します
std::basic_ostringstream<CharT, Traits> s; s.flags(os.flags()); s.imbue(os.getloc()); s.precision(os.precision()); s << d.count() << units_suffix; // 下記参照 return os << s.str();
言い換えれば、ストリームフラグ、ロケール、および精度はストリームによって決定されますが、パディングは出力文字列全体を使用して決定されます。
units_suffix
は以下の表に基づき
Period::type
に応じて決定されます。
Period::type
|
接尾辞 |
| std::atto |
as
|
| std::femto |
fs
|
| std::pico |
ps
|
| std::nano |
ns
|
| std::micro |
µs
(U+00B5)
または
us
、どちらが使用されるかは実装定義
|
| 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
|
テーブルの最後の2行において、
num
および
den
のサフィックスは、それぞれ
Period::type::num
および
Period::type::den
を先行ゼロなしの10進数でフォーマットしたものです。
戻り値
ストリームへの参照、すなわち os を返します。
例
この例は、期間が与えられたときの
std::chrono::operator<<
の出力を示しています:
#include <chrono> #include <iostream> using namespace std::chrono_literals; int main() { constexpr auto duration = 123ms; std::cout << duration << '\n'; }
出力:
123ms
関連項目
|
(C++20)
|
引数のフォーマットされた表現を新しい文字列に格納する
(関数テンプレート) |
duration
のフォーマットサポート
(クラステンプレートの特殊化) |
|
|
文字列に対するストリーム入出力を実行する
(関数テンプレート) |
|
|
(C++11)
|
整数値または浮動小数点値を
string
に変換する
(関数) |
|
(C++11)
|
整数値または浮動小数点値を
wstring
に変換する
(関数) |