Scroll to navigation

std::chrono::month_day::ok(3) C++ Standard Libary std::chrono::month_day::ok(3)

NAME

std::chrono::month_day::ok - std::chrono::month_day::ok

Synopsis


constexpr bool ok() const noexcept; (since C++20)


Determines whether this month_day stores a valid month-day combination.


The combination is valid if month() represents a valid month (month().ok() == true),
unsigned{day()} >= 1, and unsigned{day()} <= D, where D is the number of days in the
month represented by month(). The number of days in February is considered to be 29.

Return value


true if the month and day combination is valid, otherwise false.

Example

// Run this code


#include <iostream>
#include <chrono>


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';
}

Output:


true false true

2022.07.31 http://cppreference.com