Namespaces
Variants

std::chrono:: operator<< (std::chrono::duration)

From cppreference.net
Definido en el encabezado <chrono>
template <

class CharT,
class Traits,
class Rep,
class Period
> std:: basic_ostream < CharT, Traits > &
operator << ( std:: basic_ostream < CharT, Traits > & os,

const std:: chrono :: duration < Rep, Period > & d ) ;
(desde C++20)

Inserta una representación textual de d en os .

Se comporta como si estuviera implementado como

std::basic_ostringstream<CharT, Traits> s;
s.flags(os.flags());
s.imbue(os.getloc());
s.precision(os.precision());
s << d.count() << units_suffix; // ver abajo
return os << s.str();

En otras palabras, los indicadores de flujo, la configuración regional y la precisión son determinados por el flujo, pero cualquier relleno se determina utilizando toda la cadena de salida.

El units_suffix se determina basándose en Period::type de acuerdo con la siguiente tabla.

Period::type Sufijo
std::atto as
std::femto fs
std::pico ps
std::nano ns
std::micro µs (U+00B5) o us , está definido por la implementación cuál se utiliza
std::milli ms
std::centi cs
std::deci ds
std::ratio<1> s
std::deca das
std::hecto hs
std::kilo ks
std::mega Ms
std::giga Gs
std::tera Ts
std::peta Ps
std::exa Es
std::ratio<60> min
std::ratio<3600> h
std::ratio<86400> d
Ninguno de los anteriores, y Period :: type :: den == 1 [ num ]s
Ninguno de los anteriores [ num / den ]s

Para las últimas dos filas de la tabla, num y den en el sufijo son Period::type::num y Period::type::den formateados como un número decimal sin ceros a la izquierda, respectivamente.

Valor de retorno

Una referencia al flujo, es decir, os .

Ejemplo

Este ejemplo muestra la salida de std::chrono::operator<< cuando se le proporciona una duración:

#include <chrono>
#include <iostream>
using namespace std::chrono_literals;
int main()
{
    constexpr auto duration = 123ms;
    std::cout << duration << '\n';
}

Salida:

123ms

Véase también

(C++20)
almacena la representación formateada de los argumentos en una nueva cadena
(plantilla de función)
soporte de formato para duration
(especialización de plantilla de clase)
realiza entrada y salida de flujo en cadenas
(plantilla de función)
(C++11)
convierte un valor entero o de punto flotante a string
(función)
(C++11)
convierte un valor entero o de punto flotante a wstring
(función)