std::chrono::operator+, std::chrono::operator- (std::chrono::weekday)
提供: cppreference.com
<tbody>
</tbody>
constexpr std::chrono::weekday operator+(const std::chrono::weekday& wd, const std::chrono::days& d) noexcept; |
(1) | (C++20以上) |
constexpr std::chrono::weekday operator+(const std::chrono::days& d, const std::chrono::weekday& wd) noexcept; |
(2) | (C++20以上) |
constexpr std::chrono::weekday operator-(const std::chrono::weekday& wd, const std::chrono::days& d) noexcept; |
(3) | (C++20以上) |
constexpr std::chrono::days operator-(const std::chrono::weekday& wd1, const std::chrono::weekday& wd2) noexcept; |
(4) | (C++20以上) |
1-2)
wd に d.count() 日を加算します。 結果の曜日の値は、まず static_cast<long long>(unsigned(wd)) + d.count() が評価され、それを7で割った剰余を取って範囲 [0, 6] 内の整数に縮小します。3)
wd から d.count() 日を減算します。 return wd + -d; と同等です。4)
wd1.ok() と wd2.ok() がどちらも true であれば、 d.count() が範囲 [0, 6] 内かつ wd2 + d == wd1 であるような std::chrono::days の値 d を返します。 そうでなければ、戻り値は未規定です。戻り値
1-3) 上の説明通りに計算された曜日の値を保持する std::chrono::weekday。
4)
wd1 と wd2 の距離を表す std::chrono::days。ノート
計算がオーバーフローしない限り、 (1-3) は必ず、 wd.ok() が false であっても、有効な weekday を返します。
例
| This section is incomplete Reason: no example |
関連項目
| 曜日をインクリメントまたはデクリメントします (パブリックメンバ関数) | |
| 日数を加算または減算します (パブリックメンバ関数) |