[time.cal.ymwdlast.overview] (original) (raw)

30 Time library [time]

30.8 The civil calendar [time.cal]

30.8.17 Class year_month_weekday_last [time.cal.ymwdlast]

30.8.17.1 Overview [time.cal.ymwdlast.overview]

namespace std::chrono { class year_month_weekday_last { chrono::year y_; chrono::month m_; chrono::weekday_last wdl_; public: constexpr year_month_weekday_last(const chrono::year& y, const chrono::month& m,const chrono::weekday_last& wdl) noexcept;constexpr year_month_weekday_last& operator+=(const months& m) noexcept;constexpr year_month_weekday_last& operator-=(const months& m) noexcept;constexpr year_month_weekday_last& operator+=(const years& y) noexcept;constexpr year_month_weekday_last& operator-=(const years& y) noexcept;constexpr chrono::year year() const noexcept;constexpr chrono::month month() const noexcept;constexpr chrono::weekday weekday() const noexcept;constexpr chrono::weekday_last weekday_last() const noexcept;constexpr operator sys_days() const noexcept;constexpr explicit operator local_days() const noexcept;constexpr bool ok() const noexcept;};}

year_month_weekday_last represents a specific year, month, and last weekday of the month.

year_month_weekday_last is a field-based time point with a resolution of days, except that it is restricted to pointing to the last weekday of a year and month.

[Note 1:

year_month_weekday_last supports years- and months-oriented arithmetic, but not days-oriented arithmetic.

For the latter, there is a conversion to sys_days, which efficiently supports days-oriented arithmetic.

— _end note_]

year_month_weekday_last is a trivially copyable and standard-layout class type.