std::chrono::operator<< (std::chrono::duration)
Определено в заголовочном файле <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.
Работает так, как если бы была реализована следующим образом
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();
Другими словами, флаги потока, локаль и точность определяются потоком, но любое дополнение определяется с использованием всей выходной строки.
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 |
Для двух последних строк таблицы num и den в суффиксе являются Period::type::num и Period::type::den, отформатированными как десятичное число без ведущих нулей, соответственно.
Возвращаемое значение
Ссылка на поток, то есть 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) | сохраняет отформатированное представление аргументов в новой строке (шаблон функции) |
|
(C++20) | поддержка форматирования для duration (специализация шаблона класса) |
| выполняет ввод и вывод строк в поток (шаблон функции) |
|
|
(C++11) | преобразует целочисленное значение или значение с плавающей точкой в string (функция) |
|
(C++11) | преобразует целочисленное значение или значение с плавающей точкой в wstring (функция) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/chrono/duration/operator_ltlt