Namespaces
Variants

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

From cppreference.net
Défini dans l'en-tête <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 ) ;
(depuis C++20)

Insère une représentation textuelle de d dans os .

Se comporte comme s'il était implémenté comme

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

En d'autres termes, les indicateurs de flux, la locale et la précision sont déterminés par le flux, mais tout remplissage est déterminé en utilisant la chaîne de sortie entière.

Le units_suffix est déterminé en fonction du Period::type selon le tableau suivant.

Period::type Suffixe
std::atto as
std::femto fs
std::pico ps
std::nano ns
std::micro µs (U+00B5) ou us , c'est défini par l'implémentation lequel est utilisé
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
Aucun des cas ci-dessus, et Period :: type :: den == 1 [ num ]s
Aucun des cas ci-dessus [ num / den ]s

Pour les deux dernières lignes du tableau, num et den dans le suffixe sont respectivement Period::type::num et Period::type::den formatés en nombre décimal sans zéros non significatifs.

Valeur de retour

Une référence au flux, c'est-à-dire, os .

Exemple

Cet exemple montre la sortie de std::chrono::operator<< lorsqu'on lui donne une durée :

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

Sortie :

123ms

Voir aussi

(C++20)
stocke la représentation formatée des arguments dans une nouvelle chaîne
(modèle de fonction)
support de formatage pour duration
(spécialisation de modèle de classe)
effectue l'entrée et la sortie de flux sur les chaînes
(modèle de fonction)
(C++11)
convertit une valeur entière ou à virgule flottante en string
(fonction)
(C++11)
convertit une valeur entière ou à virgule flottante en wstring
(fonction)