- chrono[meta header]
- std::chrono[meta namespace]
- function[meta id-type]
- cpp20[meta cpp]
namespace std::chrono {
constexpr weekday operator-(const weekday& x, const days& y) noexcept; // (1) C++20
constexpr days operator-(const weekday& x, const weekday& y) noexcept; // (2) C++20
}
weekday
の減算を行う。
- (1) :
weekday
から日単位の時間間隔を引いた曜日を求める - (2) : 曜日間の差を日単位で求める
- (1) :
return x + -y;
- (2) :
x.
ok()
== true
かつy.
ok()
== true
である場合、範囲[days{0}, days{11}]
に収まるようx
とy
の曜日の差を日単位として求めて返す。そうでなければ、未規定の値が返る
投げない
#include <cassert>
#include <chrono>
namespace chrono = std::chrono;
int main()
{
assert(chrono::Tuesday - chrono::days{3} == chrono::Saturday);
assert(chrono::Tuesday - chrono::Saturday == chrono::days{3});
}
- chrono::Saturday[link /reference/chrono/weekday_constants.md]
- chrono::Tuesday[link /reference/chrono/weekday_constants.md]
- C++20
- Clang: 8.0
- GCC: (9.2時点で実装なし)
- Visual C++: (2019 Update 3時点で実装なし)