最終更新日時(UTC):
が更新

履歴 編集

function
<chrono>

std::chrono::operator<<(C++20)

namespace std::chrono {
  template <class charT, class traits, class Duration>
  std::basic_ostream<charT, traits>&
    operator<<(std::basic_ostream<charT, traits>& os, const hh_mm_ss<Duration>& hms); // (1) C++20
}

概要

hh_mm_ssオブジェクトを出力ストリームに出力する。

戻り値

便宜上のリテラルキャストSTATICALLY-WIDENを導入する。STATICALLY-WIDEN<charT>("...")は、charTcharである場合は"..."charTwchar_tである場合はL"..."を意味する。

  • (1) : 以下と等価:
    return os << format(os.getloc(),
                        STATICALLY-WIDEN<charT>("{:L%T}"),
                        hms);
    

備考

  • このクラスのオブジェクトを文字列フォーマットする場合、負数には先頭に- (マイナス) がつく

#include <iostream>
#include <chrono>

using std::chrono::last;
using namespace std::chrono_literals;

int main()
{
  std::cout << chrono::hh_mm_ss{15h + 30min + 20s} << std::endl;
  std::cout << chrono::hh_mm_ss{-(15h + 30min + 20s)} << std::endl;
  std::cout << chrono::hh_mm_ss{15h + 30min + 20s + 123ms} << std::endl;
}

出力

15:30:20
-15:30:20
15:30:20.123

バージョン

言語

  • C++20

処理系

  • Clang: (10.0時点で実装なし)
  • GCC: (10.1時点で実装なし)
  • Visual C++: (2019 Update 3時点で実装なし)

関連項目

参照