#include <tuple>
#include <chrono>
#include <cstdint>
#include <concepts>
#include <format>
#include <stdexcept>
#include <type_traits>
#include <utility>
#include <limits>
|
| concept | util::YearConvertible |
| | An integral year of at most 64 value bits, a floating-point year, or a chrono year.
|
| concept | util::DaysConvertible |
| | A type std::chrono::days can be built from — what the operators below shift by.
|
|
| constexpr auto | util::checked_year (const int32_t year) -> std::chrono::year |
| | Converts an integer year to std::chrono::year, rejecting what narrowing would alias.
|
| constexpr auto | util::to_ymd (const YearConvertible auto year, const uint32_t month, const uint32_t day) -> std::chrono::year_month_day |
| | Converts the input year, month, and date to a std::chrono::year_month_day.
|
| constexpr auto | util::from_ymd (const std::chrono::year_month_day &ymd) -> std::tuple< int32_t, uint32_t, uint32_t > |
| | Converts the input std::chrono::year_month_day to a year, month, and date.
|
| constexpr auto | util::ymd_operator::operator+ (const std::chrono::year_month_day &ymd, const DaysConvertible auto &days) -> std::chrono::year_month_day |
| constexpr auto | util::ymd_operator::operator+ (const DaysConvertible auto &days, const std::chrono::year_month_day &ymd) -> std::chrono::year_month_day |
| constexpr auto | util::ymd_operator::operator- (const std::chrono::year_month_day &ymd, const DaysConvertible auto &days) -> std::chrono::year_month_day |
| constexpr auto | util::ymd_operator::operator- (const std::chrono::year_month_day &ymd1, const std::chrono::year_month_day &ymd2) -> int32_t |