|
CelestialCalendar 1.0.0 · unreleased development @ 67a7c4c79a4a4a6aa7e703c9e6f0039ae34bee82
|
#include <format>#include <ranges>#include <vector>#include <cassert>#include <cstdint>#include <utility>#include <optional>#include <iterator>#include <algorithm>#include <stdexcept>#include <functional>#include "cache.hpp"#include "common.hpp"#include "datetime.hpp"#include "jieqi.hpp"#include "moon_phase.hpp"#include "julian_day.hpp"Classes | |
| struct | calendar::lunar::algo2::LunarMonth |
| The metadata of a lunar month. More... | |
| struct | calendar::lunar::algo2::LunarMonthGenerator |
| Generate lunar-month metadata after a JDE(TT). 生成给定 JDE(TT) 后的阴历月元数据。 More... | |
| struct | calendar::lunar::algo2::LunarYearContext |
| The raw lunar year information, can be processed to LunarYear. More... | |
| struct | calendar::lunar::common::AlgoMetadata< Algo::ALGO_2 > |
| Specialize AlgoMetadata for Algo::ALGO_2. More... | |
Namespaces | |
| namespace | calendar |
| namespace | calendar::lunar |
| namespace | calendar::lunar::algo2 |
| namespace | calendar::lunar::common |
Typedefs | |
| using | calendar::lunar::algo2::LunarYear |
| using | calendar::lunar::algo2::LunarMonthChunk |
| A chunk of lunar months. | |
Functions | |
| auto | calendar::lunar::algo2::jde_to_utc8 (const double jde) -> calendar::Datetime |
| Convert a JDE (TT) moment to fixed-offset east-eight civil time for lunar date assignment. 把 JDE(TT)时刻转换为固定东八区民用时间,用于确定阴历日期。 | |
| auto | calendar::lunar::algo2::calc_lunar_month_chunks (int32_t year) -> std::pair< LunarMonthChunk, LunarMonthChunk > |
| Calculate the lunar month chunks for the given year. | |
| auto | calendar::lunar::algo2::leap_month_in_chunk (const LunarMonthChunk &chunk) -> std::optional< int32_t > |
| Get the leap month in the given chunk. | |
| auto | calendar::lunar::algo2::calc_lunar_year_start_moment (const LunarMonthChunk &chunk, std::optional< int32_t > leap_month) -> calendar::Datetime |
| Get the start moment of the lunar year. | |
| auto | calendar::lunar::algo2::create_lunar_year_context (int32_t year) -> LunarYearContext |
| Create a LunarYearContext for the given year, which basically contains the month info, including leap month. | |
| auto | calendar::lunar::algo2::calc_lunar_year (int32_t year) -> LunarYear |
| Calculate the lunar year information for the given year. 计算给定年份的阴历年信息。 | |
| auto | calendar::lunar::algo2::get_info_for_year (const int32_t year) -> LunarYear |
| Get the lunar year information for the given year, using cache. 返回给定年份的阴历年信息。使用缓存。 | |
| auto | calendar::lunar::algo2::bounds () -> const common::AlgoBounds & |
| The bounds of the algorithm, i.e. the supported range of lunar and Gregorian dates. | |
Variables | |
| constexpr int32_t | calendar::lunar::algo2::START_YEAR |
| The first supported lunar year. | |
| constexpr int32_t | calendar::lunar::algo2::END_YEAR |
| The last supported lunar year. | |