std::chrono::weekday:: operator+=, std::chrono::weekday:: operator-=
From cppreference.net
|
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}; // 金曜日は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
関連項目
|
曜日をインクリメントまたはデクリメントする
(公開メンバ関数) |
|
|
(C++20)
|
weekday
に対する算術演算を実行する
(関数) |