Namensräume
Varianten
Aktionen

std::chrono::operator<<(std::chrono::day)

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

std::basic_ostream<CharT, Traits>&

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

Formt einen std::basic_string<CharT> String `s`, der den in `d` gespeicherten Tag-Wert als Dezimalzahl enthält, mit einer führenden Null, falls das Ergebnis andernfalls eine einzelne Dezimalziffer wäre. Wenn dann `!d.ok()`, wird " is not a valid day" an den formatierten String angehängt. Fügt diesen String in `os` ein.

Äquivalent zu

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

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::day d1{31}, d2{7}, d3{42}, d4{};
    std::cout << d1 << '\n'
              << d2 << '\n'
              << d3 << '\n'
              << d4 << '\n';
}

Mögliche Ausgabe

31
07
42 is not a valid day
00 is not a valid day

[bearbeiten] Siehe auch

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