Namensräume
Varianten
Aktionen

std::chrono::operator<<(std::chrono::year)

Von cppreference.com
< cpp‎ | chrono‎ | year
 
 
 
 
Definiert in Header <chrono>
template< class CharT, class Traits >

std::basic_ostream<CharT, Traits>&

    operator<<( std::basic_ostream<CharT, Traits>& os, const std::chrono::year& y );
(seit C++20)

Formt einen std::basic_string<CharT> s, bestehend aus dem Jahrwert, der in y gespeichert ist, formatiert als Dezimalzahl, links mit 0 auf vier Ziffern aufgefüllt, falls das Ergebnis andernfalls weniger als vier Ziffern hätte. Dann, falls !y.ok(), wird " is not a valid year" an den formatierten String angehängt. Fügt diesen String in os ein.

Äquivalent zu

return os << (y.ok() ?
    std::format(STATICALLY_WIDEN<CharT>("{:%Y}"), y) :
    std::format(STATICALLY_WIDEN<CharT>("{:%Y} is not a valid year"), y));

wobei STATICALLY_WIDEN<CharT>("...") "..." ist, wenn CharT char ist, und L"...", wenn CharT wchar_t ist.

[bearbeiten] Rückgabewert

os

[bearbeiten] Beispiel

#include <chrono>
#include <iostream>
 
int main()
{
    constexpr std::chrono::year y1{2020}, y2{-020}, y3{98304};
    std::cout << y1 << '\n'
              << y2 << '\n'
              << y3 << '\n';
}

Mögliche Ausgabe

2020
-0016
-32768 is not a valid year

[bearbeiten] Siehe auch

(C++20)
speichert die formatierte Darstellung der Argumente in einem neuen String
(Funktionstemplate) [bearbeiten]
Formatierungsunterstützung für year
(Klassentemplate-Spezialisierung) [edit]