26 typedef struct icu4x_Date_from_iso_in_calendar_mv1_result {
union {icu4x::capi::Date* ok; icu4x::capi::CalendarError err;};
bool is_ok;} icu4x_Date_from_iso_in_calendar_mv1_result;
27 icu4x_Date_from_iso_in_calendar_mv1_result icu4x_Date_from_iso_in_calendar_mv1(int32_t iso_year, uint8_t iso_month, uint8_t iso_day,
const icu4x::capi::Calendar* calendar);
29 typedef struct icu4x_Date_from_codes_in_calendar_mv1_result {
union {icu4x::capi::Date* ok; icu4x::capi::CalendarError err;};
bool is_ok;} icu4x_Date_from_codes_in_calendar_mv1_result;
30 icu4x_Date_from_codes_in_calendar_mv1_result icu4x_Date_from_codes_in_calendar_mv1(diplomat::capi::DiplomatStringView era_code, int32_t year, diplomat::capi::DiplomatStringView month_code, uint8_t day,
const icu4x::capi::Calendar* calendar);
32 typedef struct icu4x_Date_from_rata_die_mv1_result {
union {icu4x::capi::Date* ok; icu4x::capi::CalendarError err;};
bool is_ok;} icu4x_Date_from_rata_die_mv1_result;
33 icu4x_Date_from_rata_die_mv1_result icu4x_Date_from_rata_die_mv1(int64_t rd,
const icu4x::capi::Calendar* calendar);
35 typedef struct icu4x_Date_from_string_mv1_result {
union {icu4x::capi::Date* ok; icu4x::capi::Rfc9557ParseError err;};
bool is_ok;} icu4x_Date_from_string_mv1_result;
36 icu4x_Date_from_string_mv1_result icu4x_Date_from_string_mv1(diplomat::capi::DiplomatStringView v,
const icu4x::capi::Calendar* calendar);
38 icu4x::capi::Date* icu4x_Date_to_calendar_mv1(
const icu4x::capi::Date* self,
const icu4x::capi::Calendar* calendar);
40 icu4x::capi::IsoDate* icu4x_Date_to_iso_mv1(
const icu4x::capi::Date* self);
42 int64_t icu4x_Date_to_rata_die_mv1(
const icu4x::capi::Date* self);
44 uint16_t icu4x_Date_day_of_year_mv1(
const icu4x::capi::Date* self);
46 uint8_t icu4x_Date_day_of_month_mv1(
const icu4x::capi::Date* self);
48 icu4x::capi::Weekday icu4x_Date_day_of_week_mv1(
const icu4x::capi::Date* self);
50 uint8_t icu4x_Date_ordinal_month_mv1(
const icu4x::capi::Date* self);
52 void icu4x_Date_month_code_mv1(
const icu4x::capi::Date* self, diplomat::capi::DiplomatWrite* write);
54 uint8_t icu4x_Date_month_number_mv1(
const icu4x::capi::Date* self);
56 bool icu4x_Date_month_is_leap_mv1(
const icu4x::capi::Date* self);
58 int32_t icu4x_Date_era_year_or_related_iso_mv1(
const icu4x::capi::Date* self);
60 int32_t icu4x_Date_extended_year_mv1(
const icu4x::capi::Date* self);
62 void icu4x_Date_era_mv1(
const icu4x::capi::Date* self, diplomat::capi::DiplomatWrite* write);
64 uint8_t icu4x_Date_months_in_year_mv1(
const icu4x::capi::Date* self);
66 uint8_t icu4x_Date_days_in_month_mv1(
const icu4x::capi::Date* self);
68 uint16_t icu4x_Date_days_in_year_mv1(
const icu4x::capi::Date* self);
70 icu4x::capi::Calendar* icu4x_Date_calendar_mv1(
const icu4x::capi::Date* self);
72 void icu4x_Date_destroy_mv1(Date* self);
79 auto result = icu4x::capi::icu4x_Date_from_iso_in_calendar_mv1(iso_year,
87 auto result = icu4x::capi::icu4x_Date_from_codes_in_calendar_mv1({era_code.data(), era_code.size()},
96 auto result = icu4x::capi::icu4x_Date_from_rata_die_mv1(rd,
102 auto result = icu4x::capi::icu4x_Date_from_string_mv1({v.data(), v.size()},
108 auto result = icu4x::capi::icu4x_Date_to_calendar_mv1(this->AsFFI(),
110 return std::unique_ptr<icu4x::Date>(icu4x::Date::FromFFI(result));
114 auto result = icu4x::capi::icu4x_Date_to_iso_mv1(this->AsFFI());
115 return std::unique_ptr<icu4x::IsoDate>(icu4x::IsoDate::FromFFI(result));
119 auto result = icu4x::capi::icu4x_Date_to_rata_die_mv1(this->AsFFI());
124 auto result = icu4x::capi::icu4x_Date_day_of_year_mv1(this->AsFFI());
129 auto result = icu4x::capi::icu4x_Date_day_of_month_mv1(this->AsFFI());
134 auto result = icu4x::capi::icu4x_Date_day_of_week_mv1(this->AsFFI());
135 return icu4x::Weekday::FromFFI(result);
139 auto result = icu4x::capi::icu4x_Date_ordinal_month_mv1(this->AsFFI());
145 diplomat::capi::DiplomatWrite write = diplomat::WriteFromString(output);
146 icu4x::capi::icu4x_Date_month_code_mv1(this->AsFFI(),
152 auto result = icu4x::capi::icu4x_Date_month_number_mv1(this->AsFFI());
157 auto result = icu4x::capi::icu4x_Date_month_is_leap_mv1(this->AsFFI());
162 auto result = icu4x::capi::icu4x_Date_era_year_or_related_iso_mv1(this->AsFFI());
167 auto result = icu4x::capi::icu4x_Date_extended_year_mv1(this->AsFFI());
173 diplomat::capi::DiplomatWrite write = diplomat::WriteFromString(output);
174 icu4x::capi::icu4x_Date_era_mv1(this->AsFFI(),
180 auto result = icu4x::capi::icu4x_Date_months_in_year_mv1(this->AsFFI());
185 auto result = icu4x::capi::icu4x_Date_days_in_month_mv1(this->AsFFI());
190 auto result = icu4x::capi::icu4x_Date_days_in_year_mv1(this->AsFFI());
195 auto result = icu4x::capi::icu4x_Date_calendar_mv1(this->AsFFI());
196 return std::unique_ptr<icu4x::Calendar>(icu4x::Calendar::FromFFI(result));
199inline const icu4x::capi::Date* icu4x::Date::AsFFI()
const {
200 return reinterpret_cast<const icu4x::capi::Date*
>(
this);
203inline icu4x::capi::Date* icu4x::Date::AsFFI() {
204 return reinterpret_cast<icu4x::capi::Date*
>(
this);
207inline const icu4x::Date* icu4x::Date::FromFFI(
const icu4x::capi::Date* ptr) {
208 return reinterpret_cast<const icu4x::Date*
>(ptr);
211inline icu4x::Date* icu4x::Date::FromFFI(icu4x::capi::Date* ptr) {
212 return reinterpret_cast<icu4x::Date*
>(ptr);
215inline void icu4x::Date::operator
delete(
void* ptr) {
216 icu4x::capi::icu4x_Date_destroy_mv1(
reinterpret_cast<icu4x::capi::Date*
>(ptr));
Definition diplomat_runtime.hpp:140
Definition CalendarError.d.hpp:32
Definition Calendar.d.hpp:34
icu4x::Weekday day_of_week() const
Definition Date.hpp:133
std::unique_ptr< icu4x::IsoDate > to_iso() const
Definition Date.hpp:113
uint8_t days_in_month() const
Definition Date.hpp:184
static diplomat::result< std::unique_ptr< icu4x::Date >, icu4x::CalendarError > from_iso_in_calendar(int32_t iso_year, uint8_t iso_month, uint8_t iso_day, const icu4x::Calendar &calendar)
Definition Date.hpp:78
int64_t to_rata_die() const
Definition Date.hpp:118
std::string era() const
Definition Date.hpp:171
uint8_t month_number() const
Definition Date.hpp:151
uint8_t day_of_month() const
Definition Date.hpp:128
uint8_t months_in_year() const
Definition Date.hpp:179
static diplomat::result< std::unique_ptr< icu4x::Date >, icu4x::CalendarError > from_rata_die(int64_t rd, const icu4x::Calendar &calendar)
Definition Date.hpp:95
bool month_is_leap() const
Definition Date.hpp:156
uint8_t ordinal_month() const
Definition Date.hpp:138
std::unique_ptr< icu4x::Date > to_calendar(const icu4x::Calendar &calendar) const
Definition Date.hpp:107
static diplomat::result< std::unique_ptr< icu4x::Date >, icu4x::Rfc9557ParseError > from_string(std::string_view v, const icu4x::Calendar &calendar)
Definition Date.hpp:101
uint16_t days_in_year() const
Definition Date.hpp:189
static diplomat::result< std::unique_ptr< icu4x::Date >, icu4x::CalendarError > from_codes_in_calendar(std::string_view era_code, int32_t year, std::string_view month_code, uint8_t day, const icu4x::Calendar &calendar)
Definition Date.hpp:86
int32_t era_year_or_related_iso() const
Definition Date.hpp:161
int32_t extended_year() const
Definition Date.hpp:166
uint16_t day_of_year() const
Definition Date.hpp:123
std::unique_ptr< icu4x::Calendar > calendar() const
Definition Date.hpp:194
std::string month_code() const
Definition Date.hpp:143
Definition Rfc9557ParseError.d.hpp:33
Definition Weekday.d.hpp:32
Definition diplomat_runtime.hpp:125
Definition diplomat_runtime.hpp:111