std::chrono::month_day::ok
From cppreference.com
| 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