std::chrono::weekday::operator+=, std::chrono::weekday::operator-=
From cppreference.com
| constexpr std::chrono::weekday& operator+=( const std::chrono::days& d ) noexcept; |
(1) | (C++20以降) |
| constexpr std::chrono::weekday& operator-=( const std::chrono::days& d ) noexcept; |
(2) | (C++20以降) |
曜日の値に d.count() を加算または減算し、結果を 7 で割った剰余を [0, 6] の範囲の整数に削減します。
1) *this = *this + d; を実行します。
2) *this = *this - d; を実行します。
目次 |
[編集] 戻り値
変更後の weekday への参照。
[編集] 注釈
これらの関数のいずれかが呼び出された後、操作中にオーバーフローが発生しなかった場合、ok() は常に true になります。
[編集] 例
このコードを実行
#include <chrono> #include <iostream> int main() { std::cout << std::boolalpha; std::chrono::weekday wd{5}; // Friday is 5 wd += std::chrono::days(2); std::cout << (wd == std::chrono::weekday(0)) << ' ' << (wd == std::chrono::Sunday) << ' '; wd -= std::chrono::days(3); std::cout << (wd == std::chrono::weekday(4)) << ' ' << (wd == std::chrono::Thursday) << ' '; wd = std::chrono::Wednesday; wd += std::chrono::days{8}; // ((3 += 8 == 11) % 7) == 4; std::cout << (wd == std::chrono::Thursday) << ' '; wd -= (std::chrono::Sunday - std::chrono::Tuesday); // -= -2 // (4 -= -2) == 6 std::cout << (wd == std::chrono::Saturday) << '\n'; }
出力
true true true true true true
[編集] 関連項目
| 曜日をインクリメントまたはデクリメントします (public member function) | |
| (C++20) |
weekday に対して演算を実行する(関数) |