Namespaces
Variants

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

From cppreference.net
Definiert im Header <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 ) ;
(seit C++20)

Fügt eine textuelle Darstellung von d in os ein.

Verhält sich so, als wäre es implementiert als

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

Mit anderen Worten, die Stream-Flags, das Locale und die Genauigkeit werden durch den Stream bestimmt, aber jegliches Padding wird unter Verwendung des gesamten Ausgabestrings bestimmt.

Der units_suffix wird basierend auf Period::type gemäß der folgenden Tabelle bestimmt.

Period::type Suffix
std::atto as
std::femto fs
std::pico ps
std::nano ns
std::micro µs (U+00B5) oder us , es ist implementierungsdefiniert, welches verwendet wird
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
Keine der obigen, und Period :: type :: den == 1 [ num ]s
Keine der obigen [ num / den ]s

Für die letzten beiden Zeilen der Tabelle sind num und den im Suffix jeweils Period::type::num und Period::type::den , formatiert als Dezimalzahl ohne führende Nullen.

Rückgabewert

Ein Verweis auf den Stream, d.h., os .

Beispiel

Dieses Beispiel zeigt die Ausgabe von std::chrono::operator<< bei Übergabe einer Duration:

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

Ausgabe:

123ms

Siehe auch

(C++20)
speichert die formatierte Darstellung der Argumente in einer neuen Zeichenkette
(Funktions-Template)
Formatierungsunterstützung für duration
(Klassen-Template-Spezialisierung)
führt Strom-Ein- und Ausgabe auf Zeichenketten durch
(Funktions-Template)
(C++11)
konvertiert einen ganzzahligen oder Gleitkommawert zu string
(Funktion)
(C++11)
konvertiert einen ganzzahligen oder Gleitkommawert zu wstring
(Funktion)