std::chrono::operator<<(std::chrono::day)
Материал из cppreference.com
<tbody>
</tbody>
| Определено в заголовочном файле <chrono>
|
||
template< class CharT, class Traits > std::basic_ostream<CharT, Traits>& operator<<( std::basic_ostream<CharT, Traits>& os, const std::chrono::day& d ); |
(начиная с C++20) | |
Формирует std::basic_string<CharT> s, состоящий из значения дня, хранящегося в d, отформатированного как десятичное число, с начальным нулём, если результат есть, иначе как одна десятичная цифра. Затем, если !d.ok(), добавляет " is not a valid day" к отформатированной строке. Вставляет эту строку в os.
Эквивалентно
return os << (d.ok() ? std::format(STATICALLY_WIDEN<CharT>("{:%d}"), d) : std::format(STATICALLY_WIDEN<CharT>("{:%d} is not a valid day"), d));
где STATICALLY_WIDEN<CharT>("...") равно "...", если CharT это char, и L"...", если CharT это wchar_t.
Возвращаемое значение
os.
Пример
Запустить этот код
#include <chrono>
#include <iostream>
int main()
{
constexpr std::chrono::day d1 {31}, d2 {7}, d3 {42}, d4 {};
std::cout << d1 << '\n'
<< d2 << '\n'
<< d3 << '\n'
<< d4 << '\n';
}
Возможный вывод:
31
07
42 is not a valid day
00 is not a valid day
Смотрите также
(C++20) |
сохраняет форматированное представление аргументов в новой строке (шаблон функции) |
поддержка форматирования для day (специализация шаблона класса) |