Skip to content

Latest commit

 

History

History
66 lines (48 loc) · 1.71 KB

File metadata and controls

66 lines (48 loc) · 1.71 KB

operator-

  • chrono[meta header]
  • std::chrono[meta namespace]
  • function[meta id-type]
  • cpp20[meta cpp]
namespace std::chrono {
  constexpr year_month operator-(const year_month& ym, const months& dm) noexcept; // (1) C++20
  constexpr year_month operator-(const year_month& ym, const years& dy) noexcept;  // (2) C++20
}

概要

year_monthの減算を行う。

  • (1) : year_monthから月の時間間隔を減算する
  • (2) : year_monthから年の時間間隔を減算する

テンプレートパラメータ制約

  • (1) : monthsパラメータに指定した引数がyearsに変換可能である場合、yearsへの暗黙変換は、monthsへの暗黙変換よりも劣る

戻り値

  • (1) : return ym + (-dm);
  • (2) : return ym + (-dy);

例外

投げない

#include <cassert>
#include <chrono>

namespace chrono = std::chrono;
using namespace std::chrono_literals;

int main()
{
  assert(2020y/3 - chrono::months{1} == 2020y/2);
  assert(2020y/3 - chrono::years{1} == 2019y/3);
}
  • 2020y[link /reference/chrono/year/op_y.md]
  • 2019y[link /reference/chrono/year/op_y.md]

出力

バージョン

言語

  • C++20

処理系

  • Clang: 8.0 [mark verified]
  • GCC: 11.1 [mark verified]
  • Visual C++: 2019 Update 3 [mark noimpl]

参照