Skip to content

Latest commit

 

History

History
127 lines (106 loc) · 3.36 KB

File metadata and controls

127 lines (106 loc) · 3.36 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 month& m); // (1) C++20
}

概要

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

戻り値

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

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

備考

  • このフォーマットでは、ロケール規定の月の短縮名が出力される。デフォルトのCロケールでは、以下のように出力される:
月の定数 出力される月名 (Cロケール)
January Jan
February Feb
March Mar
April Apr
May May
June Jun
July Jul
August Aug
Sptember Sep
October Oct
November Nov
December Dec

#include <iostream>
#include <chrono>

namespace chrono = std::chrono;

int main()
{
  chrono::month ar[] = {
    chrono::January,
    chrono::February,
    chrono::March,
    chrono::April,
    chrono::May,
    chrono::June,
    chrono::July,
    chrono::August,
    chrono::September,
    chrono::October,
    chrono::November,
    chrono::December
  };

  for (chrono::month m : ar) {
    std::cout << m << std::endl;
  }
}
  • chrono::January[link /reference/chrono/month_constants.md]
  • chrono::February[link /reference/chrono/month_constants.md]
  • chrono::March[link /reference/chrono/month_constants.md]
  • chrono::April[link /reference/chrono/month_constants.md]
  • chrono::May[link /reference/chrono/month_constants.md]
  • chrono::June[link /reference/chrono/month_constants.md]
  • chrono::July[link /reference/chrono/month_constants.md]
  • chrono::August[link /reference/chrono/month_constants.md]
  • chrono::September[link /reference/chrono/month_constants.md]
  • chrono::October[link /reference/chrono/month_constants.md]
  • chrono::November[link /reference/chrono/month_constants.md]
  • chrono::December[link /reference/chrono/month_constants.md]

出力

Jan
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec

バージョン

言語

  • C++20

処理系

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

関連項目

参照