std::chrono::month_day::ok - cppreference.com (original) (raw)

C++

Compiler support
Freestanding and hosted
Language
Standard library
Standard library headers
Named requirements
Feature test macros (C++20)
Language support library
Concepts library (C++20)
Diagnostics library
Memory management library
Metaprogramming library (C++11)
General utilities library
Containers library
Iterators library
Ranges library (C++20)
Algorithms library
Strings library
Text processing library
Numerics library
Date and time library
Input/output library
Filesystem library (C++17)
Concurrency support library (C++11)
Execution control library (C++26)
Technical specifications
Symbols index
External libraries

[edit]

Date and time library

Time point time_point(C++11) clock_time_conversion(C++20) clock_cast(C++20) Duration duration(C++11) Clocks system_clock(C++11) steady_clock(C++11) is_clock(C++20) utc_clock(C++20) tai_clock(C++20) high_resolution_clock(C++11) gps_clock(C++20) file_clock(C++20) local_t(C++20) Time of day is_amis_pm(C++20)(C++20) make12make24(C++20)(C++20) hh_mm_ss(C++20) Calendar day(C++20) month(C++20) year(C++20) weekday(C++20) operator/(C++20) year_month_day(C++20) year_month_day_last(C++20) year_month_weekday(C++20) year_month_weekday_last(C++20) weekday_indexed(C++20) weekday_last(C++20) month_day(C++20) month_day_last(C++20) month_weekday(C++20) month_weekday_last(C++20) year_month(C++20) last_speclast(C++20)(C++20) chrono I/O parse(C++20) Time zone tzdb(C++20) tzdb_list(C++20) get_tzdbget_tzdb_listreload_tzdbremote_version(C++20)(C++20)(C++20)(C++20) sys_info(C++20) local_info(C++20) nonexistent_local_time(C++20) ambiguous_local_time(C++20) locate_zone(C++20) current_zone(C++20) time_zone(C++20) choose(C++20) zoned_traits(C++20) zoned_time(C++20) time_zone_link(C++20) leap_second(C++20) leap_second_info(C++20) get_leap_second_info(C++20) C-style date and time

[edit]

std::chrono::month_day

Member functions
month_day::month_day
month_day::monthmonth_day::day
month_day::ok
Nonmember functions
operator==operator<=>
operator<<
from_stream
Helper classes
formatterstd::chrono::month\_day
hashstd::chrono::month\_day(C++26)

[edit]

| 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.

[edit] Return value

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

[edit] Example

Run this code

#include #include   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