std::chrono:: operator<< (std::chrono::year)
|
Определено в заголовочном файле
<chrono>
|
||
|
template
<
class
CharT,
class
Traits
>
std::
basic_ostream
<
CharT, Traits
>
&
|
(начиная с C++20) | |
Формирует std:: basic_string < CharT > s , состоящую из значения года, хранящегося в y , отформатированного как десятичное число, дополненного слева 0 до четырёх цифр, если результат иначе был бы меньше четырёх цифр. Затем, если ! y. ok ( ) , добавляет " is not a valid year" к отформатированной строке. Вставляет эту строку в os .
Эквивалентно
return
os
<<
(
y.
ok
(
)
?
std::
format
(
STATICALLY_WIDEN
<
CharT
>
(
"{:%Y}"
)
, y
)
:
std::
format
(
STATICALLY_WIDEN
<
CharT
>
(
"{:%Y} is not a valid year"
)
, y
)
)
;
где
STATICALLY_WIDEN
<
CharT
>
(
"..."
)
это
"..."
если
CharT
это
char
, и
L
"..."
если
CharT
это
wchar_t
.
Возвращаемое значение
os
Пример
#include <chrono> #include <iostream> int main() { constexpr std::chrono::year y1{2020}, y2{-020}, y3{98304}; std::cout << y1 << '\n' << y2 << '\n' << y3 << '\n'; }
Возможный вывод:
2020 -0016 -32768 is not a valid year
Смотрите также
|
(C++20)
|
сохраняет форматированное представление аргументов в новой строке
(шаблон функции) |
поддержка форматирования для
year
(специализация шаблона класса) |