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

履歴 編集

function
<chrono>

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

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>("{:%b}"), m) :
      format(os.getloc(), STATICALLY-WIDEN<charT>("{} is not a valid month"),
             static_cast<unsigned int>(m)));
    

備考

  • このフォーマットでは、ロケール規定の月の短縮名が出力される。デフォルトの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;
  }
}

出力

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時点で実装なし)

関連項目

  • local_time_format() (フォーマットの詳細)