Espacios de nombres
Variantes
Acciones

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

De cppreference.com
< cpp‎ | chrono‎ | year
 
 
Biblioteca de servicios
 
 
 
Definido en el archivo de encabezado <chrono>
template< class CharT, class Traits >

std::basic_ostream<CharT, Traits>&

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

Forma una cadena std::basic_string<CharT> s que consiste en el valor del año almacenado en y formateado como un número decimal, rellenado a la izquierda con 0 a cuatro dígitos si el resultado sería menor a cuatro dígitos. Luego, si !y.ok(), se agrega " no es un año válido" a la cadena formateada. Se inserta esa cadena en os.

Equivalente a

return os << (y.ok() ?
    std::format(STATICALLY_WIDEN<CharT>("{:%Y}"), y) :
    std::format(STATICALLY_WIDEN<CharT>("{:%Y} no es un año válido"), y));

donde STATICALLY_WIDEN<CharT>("...") es "..." si CharT es char, y L"..." si CharT es wchar_t.

[editar] Valor de retorno

os.

[editar] Ejemplo

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

Posible salida:

2020
-0016
-32768 no es un año válido

[editar] Véase también

(C++20)
Almacena una representación formateada de los argumentos en una cadena nueva.
(plantilla de función)