Namensräume
Varianten
Aktionen

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

Von cppreference.com
< cpp‎ | chrono‎ | duration
 
 
 
 
Definiert in 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 Textdarstellung von d in os ein.

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

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

Mit anderen Worten, die Stream-Flags, Locale und Genauigkeit werden durch den Stream bestimmt, aber jede Auffüllung wird unter Verwendung der gesamten Ausgabestrings bestimmt.

Das 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 implementierungsabhängig, 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 Optionen, und Period::type::den == 1 [num]s
Keine der obigen Optionen [num/den]s

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

[bearbeiten] Rückgabewert

Eine Referenz auf den Stream, d.h. os.

[bearbeiten] Beispiel

Dieses Beispiel zeigt die Ausgabe von std::chrono::operator<<, wenn eine Dauer übergeben wird

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

Ausgabe

123ms

[bearbeiten] Siehe auch

(C++20)
speichert die formatierte Darstellung der Argumente in einem neuen String
(Funktionstemplate) [bearbeiten]
Formatierungsunterstützung für duration
(Klassentemplate-Spezialisierung) [edit]
führt Stream-Ein- und -Ausgabe auf Strings durch
(function template) [edit]
(C++11)
konvertiert einen ganzzahligen oder Gleitkommawert in einen string
(function) [edit]
konvertiert einen ganzzahligen oder Gleitkommawert in einen wstring
(function) [edit]