std::chrono::month_day:: ok
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
|
month_day::ok
|
||||
| Nonmember functions | ||||
| Helper classes | ||||
|
(C++26)
|
|
constexpr
bool
ok
(
)
const
noexcept
;
|
(C++20以降) | |
この
month_day
が有効な月日の組み合わせを保持しているかどうかを判定します。
組み合わせが有効であるのは、
month()
が有効な月を表している場合(
month
(
)
.
ok
(
)
==
true
)、
unsigned
{
day
(
)
}
>=
1
、かつ
unsigned
{
day
(
)
}
<=
D
の場合です。ここでDは
month()
が表す月の日数です。2月の日数は29日と見なされます。
戻り値
true 月と日の組み合わせが有効な場合は、そうでない場合はfalse。
例
#include <chrono> #include <iostream> int main() { std::cout << std::boolalpha; constexpr auto md1{std::chrono::July/15}; std::cout << (md1.ok()) << ' '; constexpr std::chrono::month_day md2{std::chrono::month(14), std::chrono::day(42)}; std::cout << (md2.ok()) << ' '; constexpr auto md3{std::chrono::February/29}; std::cout << (md3.ok()) << '\n'; }
出力:
true false true