std::chrono::operator<< (std::chrono::duration)
<chrono>
class CharT,
class Traits,
class Rep,
class Period
> std::basic_ostream <CharT, Traits>&
operator<<( std::basic_ostream <CharT, Traits>& os,
Inserts a textual representation of d into os.
Behaves as if it was implemented as
std::basic_ostringstream <CharT, Traits> s; s.flags(os.flags()); s.imbue(os.getloc()); s.precision(os.precision()); s << d.count() << units_suffix; // see below return os << s.str();
In other words, the stream flags, locale, and precision are determined by the stream, but any padding are determined using the entire output string.
The units_suffix
is determined based on Period::type
according to the following table.
Period::type
Suffix
as
fs
ps
ns
ms
cs
ds
das
hs
ks
Ms
Gs
Ts
Ps
Es
min
[num]s
[num/den]s
For the last two rows of the table, num
and den
in the suffix are Period::type::num
and Period::type::den
formatted as a decimal number with no leading zeroes, respectively.
[edit] Return value
A reference to the stream, i.e., os.
[edit] Example
This example shows the output of std::chrono::operator<<
when given a duration:
#include <chrono> #include <iostream> using namespace std::chrono_literals; int main() { constexpr auto duration = 123ms; std::cout << duration << '\n'; }
Output:
123ms