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()
. Количество дней в феврале считается равным 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