CelestialCalendar 1.0.0 · unreleased development @ 67a7c4c79a4a4a6aa7e703c9e6f0039ae34bee82
Loading...
Searching...
No Matches
ymd.hpp File Reference
#include <tuple>
#include <chrono>
#include <cstdint>
#include <concepts>
#include <format>
#include <stdexcept>
#include <type_traits>
#include <utility>
#include <limits>

Namespaces

namespace  util
namespace  util::ymd_operator

Concepts

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.

Functions

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