std::chrono::operator<<(std::chrono::duration)(3) | C++ Standard Libary | std::chrono::operator<<(std::chrono::duration)(3) |
NAME¶
std::chrono::operator<<(std::chrono::duration) - std::chrono::operator<<(std::chrono::duration)
Synopsis¶
Defined in header <chrono>
template<
class CharT,
class Traits,
class Rep, (since C++20)
class Period
> std::basic_ostream<CharT, Traits>&
operator<<( std::basic_ostream<CharT, Traits>& os,
const std::chrono::duration<Rep, Period>& d );
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
std::atto as
std::femto fs
std::pico ps
std::nano ns
std::micro µs (U+00B5) or us, it is implementation-defined which one
is
used
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
None of the above, and [num]s
Period::type::den == 1
None of the above [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.
Return value¶
A reference to the stream, i.e., os.
Example¶
This example shows the output of std::chrono::operator<< when given a duration:
// Run this code
#include <chrono>
#include <iostream>
using namespace std::chrono_literals;
int main()
{
constexpr auto duration = 123ms;
std::cout << duration << '\n';
}
Output:¶
123ms
See also¶
format stores formatted representation of the
(C++20) arguments in a new string
(function template)
std::formatter<std::chrono::duration> formatting support for duration
(C++20) (class template specialization)
operator<< performs stream input and output on strings
operator>> (function template)
to_string converts an integral or floating-point value
(C++11) to string
(function)
to_wstring converts an integral or floating-point value
(C++11) to wstring
(function)
2024.06.10 | http://cppreference.com |