Skip to content

Latest commit

 

History

History
70 lines (50 loc) · 1.24 KB

op_plus.md

File metadata and controls

70 lines (50 loc) · 1.24 KB

operator+

  • chrono[meta header]
  • std::chrono[meta namespace]
  • function[meta id-type]
  • cpp20[meta cpp]
namespace std::chrono {
  constexpr day operator+(const day& x, const days& y) noexcept; // (1) C++20
  constexpr day operator+(const days& x, const day& y) noexcept; // (2) C++20
}

概要

dayの加算を行う。

  • (1) : dayに時間間隔を加算する
  • (2) : 時間間隔にdayを加算する

戻り値

  • (1) :
return day{static_cast<unsigned int>(x) + y.count()};
  • y.count()[link /reference/chrono/duration/count.md]
  • (2) :
return y + x;

例外

投げない

備考

  • monthweekdayと違い、[1, 31]の範囲では循環しない

#include <cassert>
#include <chrono>

namespace chrono = std::chrono;

int main()
{
  assert(chrono::day{1} + chrono::days{2} == chrono::day{3});
  assert(chrono::days{2} + chrono::day{1} == chrono::day{3});
}

出力

バージョン

言語

  • C++20

処理系

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