| std::chrono::operator<<(std::chrono::duration)(3) | C++ Standard Libary | std::chrono::operator<<(std::chrono::duration)(3) | 
NAME¶
std::chrono::operator<<(std::chrono::duration) - std::chrono::operator<<(std::chrono::duration)
Synopsis¶
 Defined in header <chrono>
  
   template<
  
   class CharT,
  
   class Traits,
  
   class Rep, (since C++20)
  
   class Period
  
   > std::basic_ostream<CharT, Traits>&
  
   operator<<( std::basic_ostream<CharT, Traits>& os,
  
   const std::chrono::duration<Rep, Period>& d );
  
   Inserts a textual representation of d into os.
  
   Behaves as if it was implemented as
  
   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();
  
   In other words, the stream flags, locale, and precision are determined by the
  
   stream, but any padding are determined using the entire output string.
  
   The units_suffix is determined based on Period::type according to the
    following
  
   table.
  
   Period::type Suffix
  
   std::atto as
  
   std::femto fs
  
   std::pico ps
  
   std::nano ns
  
   std::micro µs (U+00B5) or us, it is implementation-defined which one
    is
  
   used
  
   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
  
   None of the above, and [num]s
  
   Period::type::den == 1
  
   None of the above [num/den]s
  
   For the last two rows of the table, num and den in the suffix are
    Period::type::num
  
   and Period::type::den formatted as a decimal number with no leading zeroes,
  
   respectively.
Return value¶
A reference to the stream, i.e., os.
Example¶
This example shows the output of std::chrono::operator<< when given a duration:
// Run this code
  
   #include <chrono>
  
   #include <iostream>
  
   using namespace std::chrono_literals;
  
   int main()
  
   {
  
   constexpr auto duration = 123ms;
  
   std::cout << duration << '\n';
  
   }
Output:¶
123ms
See also¶
 format stores formatted representation of the
  
   (C++20) arguments in a new string
  
   (function template)
  
   std::formatter<std::chrono::duration> formatting support for duration
  
   (C++20) (class template specialization)
  
   operator<< performs stream input and output on strings
  
   operator>> (function template)
  
   to_string converts an integral or floating-point value
  
   (C++11) to string
  
   (function)
  
   to_wstring converts an integral or floating-point value
  
   (C++11) to wstring
  
   (function)
| 2024.06.10 | http://cppreference.com |