std::chrono:: operator<< (std::chrono::year)
|
Defined in header
<chrono>
|
||
|
template
<
class
CharT,
class
Traits
>
std::
basic_ostream
<
CharT, Traits
>
&
|
(since C++20) | |
Forms a std:: basic_string < CharT > s consisting of the year value stored in y formatted as a decimal number, left-padded with 0 to four digits if the result would otherwise be less than four digits. Then, if ! y. ok ( ) , append " is not a valid year" to the formatted string. Inserts that string into os .
Equivalent to
return
os
<<
(
y.
ok
(
)
?
std::
format
(
STATICALLY_WIDEN
<
CharT
>
(
"{:%Y}"
)
, y
)
:
std::
format
(
STATICALLY_WIDEN
<
CharT
>
(
"{:%Y} is not a valid year"
)
, y
)
)
;
where
STATICALLY_WIDEN
<
CharT
>
(
"..."
)
is
"..."
if
CharT
is
char
, and
L
"..."
if
CharT
is
wchar_t
.
Return value
os
Example
#include <chrono> #include <iostream> int main() { constexpr std::chrono::year y1{2020}, y2{-020}, y3{98304}; std::cout << y1 << '\n' << y2 << '\n' << y3 << '\n'; }
Possible output:
2020 -0016 -32768 is not a valid year
See also
|
(C++20)
|
stores formatted representation of the arguments in a new string
(function template) |
formatting support for
year
(class template specialization) |