std::chrono::operator<< (std::chrono::duration)
Материал из cppreference.com
<tbody>
</tbody>
| Определено в заголовочном файле <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; // смотрите ниже
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) |
сохраняет форматированное представление аргументов в новой строке (шаблон функции) |
поддержка форматирования для duration (специализация шаблона класса) | |
| выполняет потоковый ввод и вывод для строк (шаблон функции) | |
(C++11) |
преобразует целое значение или значение с плавающей запятой в string (функция) |
(C++11) |
преобразует целое значение или значение с плавающей запятой в wstring (функция) |