|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Nonmember functions | ||||
operator+operator- | ||||
| Helper classes | ||||
Defined in header <chrono> | ||
constexprstd::chrono::year_month_day operator+(conststd::chrono::year_month_day& ymd, conststd::chrono::months& dm | (since C++20) | |
constexprstd::chrono::year_month_day operator+(conststd::chrono::months& dm, conststd::chrono::year_month_day& ymd | (since C++20) | |
constexprstd::chrono::year_month_day operator+(conststd::chrono::year_month_day& ymd, conststd::chrono::years& dy | (since C++20) | |
constexprstd::chrono::year_month_day operator+(conststd::chrono::years& dy, conststd::chrono::year_month_day& ymd | (since C++20) | |
constexprstd::chrono::year_month_day operator-(conststd::chrono::year_month_day& ymd, conststd::chrono::months& dm | (since C++20) | |
constexprstd::chrono::year_month_day operator-(conststd::chrono::year_month_day& ymd, conststd::chrono::years& dy | (since C++20) | |
For durations that are convertible to bothstd::chrono::years andstd::chrono::months, theyears overloads(3,4,6) are preferred if the call would otherwise be ambiguous.
Even ifymd.ok() istrue, the resultingyear_month_day may not represent a valid date ifymd.day() is 29, 30, or 31.
#include <chrono>#include <iostream> int main(){std::cout<<std::boolalpha; auto ymd{std::chrono::day(1)/std::chrono::July/2021}; ymd= ymd+std::chrono::months(4);std::cout<<(ymd.month()==std::chrono::November)<<' '<<(ymd.year()==std::chrono::year(2021))<<' '; ymd= ymd-std::chrono::years(10);std::cout<<(ymd.month()==std::chrono::month(11))<<' '<<(ymd.year()==std::chrono::year(2011))<<'\n';}
Output:
true true true true