Skip to content

Latest commit

 

History

History
107 lines (86 loc) · 2.88 KB

op_ostream.md

File metadata and controls

107 lines (86 loc) · 2.88 KB

operator<<

  • chrono[meta header]
  • std::chrono[meta namespace]
  • function[meta id-type]
  • cpp20[meta cpp]
namespace std::chrono {
  template <class charT, class traits>
  std::basic_ostream<charT, traits>&
    operator<<(std::basic_ostream<charT, traits>& os, const weekday& wd); // (1) C++20
}

概要

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

戻り値

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

  • (1) : 以下と等価:
    return os << (m.ok() ?
      format(os.getloc(), STATICALLY-WIDEN<charT>("{:L%a}"), m) :
      format(os.getloc(), STATICALLY-WIDEN<charT>("{} is not a valid weekday"),
             static_cast<unsigned int>(m)));
    • format[link /reference/format/format.md]
    • os.getloc()[link /reference/ios/ios_base/getloc.md]

備考

  • このフォーマットでは、ロケール規定の曜日の短縮名が出力される。デフォルトのCロケールでは、以下のように出力される:
曜日の定数 出力される曜日名 (Cロケール)
Sunday Sun
Monday Mon
Tuesday Tue
Wednesday Wed
Thursday Thu
Friday Fri
Saturday Sat

#include <iostream>
#include <chrono>

namespace chrono = std::chrono;

int main()
{
  chrono::weekday ar[] = {
    chrono::Sunday,
    chrono::Monday,
    chrono::Tuesday,
    chrono::Wednesday,
    chrono::Thursday,
    chrono::Friday,
    chrono::Saturday
  };

  for (chrono::weekday wd : ar) {
    std::cout << wd << std::endl;
  }
}
  • chrono::Sunday[link /reference/chrono/weekday_constants.md]
  • chrono::Monday[link /reference/chrono/weekday_constants.md]
  • chrono::Tuesday[link /reference/chrono/weekday_constants.md]
  • chrono::Wednesday[link /reference/chrono/weekday_constants.md]
  • chrono::Thursday[link /reference/chrono/weekday_constants.md]
  • chrono::Friday[link /reference/chrono/weekday_constants.md]
  • chrono::Saturday[link /reference/chrono/weekday_constants.md]

出力

Sun
Mon
Tue
Wed
Thu
Fri
Sat

バージョン

言語

  • C++20

処理系

関連項目

参照