4#ifndef TETL_CHRONO_YEAR_HPP
5#define TETL_CHRONO_YEAR_HPP
7#include <etl/_chrono/duration.hpp>
8#include <etl/_cstdint/int_t.hpp>
9#include <etl/_cstdint/uint_t.hpp>
10#include <etl/_limits/numeric_limits.hpp>
17 constexpr explicit year(
int y)
noexcept
18 : _count{
static_cast<int16_t>(y)}
46 _count =
static_cast<int16_t>(_count + countS
.count());
52 _count =
static_cast<int16_t>(_count - countS
.count());
68 return (_count % 4 == 0)
and (_count % 100 != 0
or _count % 400 == 0);
93 return static_cast<
int>(lhs) ==
static_cast<
int>(rhs);
98 return static_cast<
int>(lhs) <
static_cast<
int>(rhs);
103 return static_cast<
int>(lhs) <=
static_cast<
int>(rhs);
108 return static_cast<
int>(lhs) >
static_cast<
int>(rhs);
113 return static_cast<
int>(lhs) >=
static_cast<
int>(rhs);
122 return year{static_cast<
int>(
static_cast<
int>(lhs) + rhs
.count())
};
137 return years{
static_cast<
int>(lhs) -
static_cast<
int>(rhs)};
constexpr auto operator-(year const &lhs, years const &rhs) noexcept -> year
Definition year.hpp:130
constexpr auto operator-(year const &lhs, year const &rhs) noexcept -> years
Definition year.hpp:135
constexpr auto operator+(years const &lhs, year const &rhs) noexcept -> year
Definition year.hpp:125
constexpr auto operator+(year const &lhs, years const &rhs) noexcept -> year
Definition year.hpp:120
Definition adjacent_find.hpp:9
constexpr auto count() const -> rep
Returns the number of ticks for this duration.
Definition duration.hpp:98
constexpr auto operator-() const -> etl::common_type_t< duration >
Implements unary plus and unary minus for the durations.
Definition duration.hpp:128
constexpr auto operator--(int) noexcept -> year
Definition year.hpp:39
static constexpr auto min() noexcept -> year
Definition year.hpp:81
friend constexpr auto operator>(year lhs, year rhs) noexcept -> bool
Definition year.hpp:106
friend constexpr auto operator<=(year lhs, year rhs) noexcept -> bool
Definition year.hpp:101
friend constexpr auto operator>=(year lhs, year rhs) noexcept -> bool
Definition year.hpp:111
constexpr auto ok() const noexcept -> bool
Definition year.hpp:76
static constexpr auto max() noexcept -> year
Definition year.hpp:86
constexpr year(int y) noexcept
Definition year.hpp:17
constexpr auto operator++(int) noexcept -> year
Definition year.hpp:28
friend constexpr auto operator<(year lhs, year rhs) noexcept -> bool
Definition year.hpp:96
constexpr auto operator++() noexcept -> year &
Definition year.hpp:22
constexpr auto is_leap() const noexcept -> bool
Definition year.hpp:66
constexpr operator int() const noexcept
Definition year.hpp:71
constexpr auto operator-=(years const &countS) noexcept -> year &
Definition year.hpp:50
constexpr auto operator+=(years const &countS) noexcept -> year &
Definition year.hpp:44
constexpr auto operator--() noexcept -> year &
Definition year.hpp:33
constexpr auto operator-() const noexcept -> year
Definition year.hpp:61
friend constexpr auto operator==(year lhs, year rhs) noexcept -> bool
Definition year.hpp:91
constexpr auto operator+() const noexcept -> year
Definition year.hpp:56
static constexpr auto min() noexcept -> short
Definition numeric_limits.hpp:451
Definition numeric_limits.hpp:18