4#ifndef TETL_CHRONO_YEAR_MONTH_DAY_LAST_HPP
5#define TETL_CHRONO_YEAR_MONTH_DAY_LAST_HPP
7#include <etl/_chrono/local_t.hpp>
8#include <etl/_chrono/month_day_last.hpp>
9#include <etl/_chrono/system_clock.hpp>
10#include <etl/_chrono/year.hpp>
16[[nodiscard]]
constexpr auto last_day_of_month(
chrono::
year const& y,
chrono::
month const& m) -> chrono::day
18 constexpr chrono::day lastDays[] = {
34 return chrono::day{29};
36 return lastDays[
static_cast<
unsigned>(m) - 1];
90 auto const ym = year_month{lhs.year(), lhs.month()} + rhs;
constexpr auto operator/(month_day_last const &mdl, int y) noexcept -> year_month_day_last
Definition year_month_day_last.hpp:168
constexpr auto operator+(chrono::years const &lhs, chrono::year_month_day_last const &rhs) noexcept -> chrono::year_month_day_last
Definition year_month_day_last.hpp:112
constexpr auto operator+(chrono::year_month_day_last const &lhs, chrono::months const &rhs) noexcept -> chrono::year_month_day_last
Definition year_month_day_last.hpp:87
constexpr auto operator+(chrono::year_month_day_last const &lhs, chrono::years const &rhs) noexcept -> chrono::year_month_day_last
Definition year_month_day_last.hpp:106
constexpr auto operator-(chrono::year_month_day_last const &lhs, chrono::years const &rhs) noexcept -> chrono::year_month_day_last
Definition year_month_day_last.hpp:118
constexpr auto operator/(year const &y, month_day_last const &mdl) noexcept -> year_month_day_last
Definition year_month_day_last.hpp:153
constexpr auto operator/(year const &y, int m) noexcept -> year_month
Definition year_month.hpp:120
constexpr auto operator-(chrono::year_month_day_last const &lhs, chrono::months const &rhs) noexcept -> chrono::year_month_day_last
Definition year_month_day_last.hpp:100
constexpr auto operator==(month lhs, month rhs) noexcept -> bool
Definition month.hpp:53
constexpr auto operator+(chrono::months const &lhs, chrono::year_month_day_last const &rhs) noexcept -> chrono::year_month_day_last
Definition year_month_day_last.hpp:94
constexpr auto operator/(int y, month_day_last const &mdl) noexcept -> year_month_day_last
Definition year_month_day_last.hpp:158
constexpr auto operator+(year const &lhs, years const &rhs) noexcept -> year
Definition year.hpp:120
constexpr auto operator/(month_day_last const &mdl, year const &y) noexcept -> year_month_day_last
Definition year_month_day_last.hpp:163
Definition adjacent_find.hpp:9
constexpr auto operator-() const -> etl::common_type_t< duration >
Implements unary plus and unary minus for the durations.
Definition duration.hpp:128
Definition month_day_last.hpp:12
constexpr auto ok() const noexcept -> bool
Definition month_day_last.hpp:23
constexpr auto month() const noexcept -> chrono::month
Definition month_day_last.hpp:18
The class month represents a month in a year.
Definition month.hpp:22
constexpr month(unsigned m) noexcept
Definition month.hpp:25
Definition year_month_day_last.hpp:42
constexpr auto ok() const noexcept -> bool
Definition year_month_day_last.hpp:77
constexpr auto month() const noexcept -> chrono::month
Definition year_month_day_last.hpp:59
constexpr auto operator-=(years const &y) noexcept -> year_month_day_last &
Definition year_month_day_last.hpp:142
constexpr auto operator+=(years const &y) noexcept -> year_month_day_last &
Definition year_month_day_last.hpp:136
constexpr auto year() const noexcept -> chrono::year
Definition year_month_day_last.hpp:54
constexpr auto month_day_last() const noexcept -> chrono::month_day_last
Definition year_month_day_last.hpp:64
constexpr year_month_day_last(chrono::year const &y, chrono::month_day_last const &mdl) noexcept
Definition year_month_day_last.hpp:43
constexpr operator sys_days() const noexcept
constexpr auto operator+=(months const &m) noexcept -> year_month_day_last &
Definition year_month_day_last.hpp:124
constexpr auto operator-=(months const &m) noexcept -> year_month_day_last &
Definition year_month_day_last.hpp:130
constexpr auto day() const noexcept -> chrono::day
Definition year_month_day_last.hpp:69
constexpr auto ok() const noexcept -> bool
Definition year.hpp:76
constexpr year(int y) noexcept
Definition year.hpp:17
constexpr auto is_leap() const noexcept -> bool
Definition year.hpp:66