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

履歴 編集

function
<chrono>

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

namespace std::chrono {
  constexpr weekday operator+(const weekday& x, const days& y) noexcept; // (1) C++20
  constexpr weekday operator+(const days& x, const weekday& y) noexcept; // (2) C++20
}

概要

weekdayの加算を行う。

  • (1) : weekdayに日単位の時間間隔を加算する
  • (2) : 日単位の時間間隔にweekdayを加算する

戻り値

  • (1) :

ユークリッド除法 (Euclidean division) による除算関数modulo(a, b)、およびweekdayオブジェクトxがコンストラクタで設定された曜日を表す値wdを持っているとして、

return weekday{modulo(static_cast<long long>(x.wd) + y.count(), 7)};

  • (2) :

return y + x;

例外

投げない

#include <cassert>
#include <chrono>

namespace chrono = std::chrono;

int main()
{
  assert(chrono::Saturday + chrono::days{3} == chrono::Tuesday);
  assert(chrono::days{3} + chrono::Saturday == chrono::Tuesday);
}

出力

バージョン

言語

  • C++20

処理系

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