1#ifndef ICU4X_IsoDate_HPP
2#define ICU4X_IsoDate_HPP
31 typedef struct icu4x_IsoDate_create_mv1_result {
union {icu4x::capi::IsoDate* ok; icu4x::capi::CalendarError err;};
bool is_ok;} icu4x_IsoDate_create_mv1_result;
32 icu4x_IsoDate_create_mv1_result icu4x_IsoDate_create_mv1(int32_t year, uint8_t month, uint8_t day);
34 icu4x::capi::IsoDate* icu4x_IsoDate_from_rata_die_mv1(int64_t rd);
36 typedef struct icu4x_IsoDate_from_string_mv1_result {
union {icu4x::capi::IsoDate* ok; icu4x::capi::Rfc9557ParseError err;};
bool is_ok;} icu4x_IsoDate_from_string_mv1_result;
37 icu4x_IsoDate_from_string_mv1_result icu4x_IsoDate_from_string_mv1(icu4x::diplomat::capi::DiplomatStringView v);
39 icu4x::capi::Date* icu4x_IsoDate_to_calendar_mv1(
const icu4x::capi::IsoDate* self,
const icu4x::capi::Calendar* calendar);
41 icu4x::capi::Date* icu4x_IsoDate_to_any_mv1(
const icu4x::capi::IsoDate* self);
43 int64_t icu4x_IsoDate_to_rata_die_mv1(
const icu4x::capi::IsoDate* self);
45 uint16_t icu4x_IsoDate_day_of_year_mv1(
const icu4x::capi::IsoDate* self);
47 uint8_t icu4x_IsoDate_day_of_month_mv1(
const icu4x::capi::IsoDate* self);
49 icu4x::capi::Weekday icu4x_IsoDate_day_of_week_mv1(
const icu4x::capi::IsoDate* self);
51 icu4x::capi::Weekday icu4x_IsoDate_weekday_mv1(
const icu4x::capi::IsoDate* self);
53 icu4x::capi::IsoWeekOfYear icu4x_IsoDate_week_of_year_mv1(
const icu4x::capi::IsoDate* self);
55 uint8_t icu4x_IsoDate_month_mv1(
const icu4x::capi::IsoDate* self);
57 int32_t icu4x_IsoDate_year_mv1(
const icu4x::capi::IsoDate* self);
59 bool icu4x_IsoDate_is_in_leap_year_mv1(
const icu4x::capi::IsoDate* self);
61 uint8_t icu4x_IsoDate_months_in_year_mv1(
const icu4x::capi::IsoDate* self);
63 uint8_t icu4x_IsoDate_days_in_month_mv1(
const icu4x::capi::IsoDate* self);
65 uint16_t icu4x_IsoDate_days_in_year_mv1(
const icu4x::capi::IsoDate* self);
67 typedef struct icu4x_IsoDate_try_add_with_options_mv1_result {
union {icu4x::capi::IsoDate* ok; icu4x::capi::CalendarDateAddError err;};
bool is_ok;} icu4x_IsoDate_try_add_with_options_mv1_result;
68 icu4x_IsoDate_try_add_with_options_mv1_result icu4x_IsoDate_try_add_with_options_mv1(
const icu4x::capi::IsoDate* self, icu4x::capi::DateDuration duration, icu4x::capi::DateAddOptions options);
70 icu4x::capi::DateDuration icu4x_IsoDate_until_with_options_mv1(
const icu4x::capi::IsoDate* self,
const icu4x::capi::IsoDate* other, icu4x::capi::DateDifferenceOptions options);
72 void icu4x_IsoDate_destroy_mv1(IsoDate* self);
79 auto result = icu4x::capi::icu4x_IsoDate_create_mv1(
year,
86 auto result = icu4x::capi::icu4x_IsoDate_from_rata_die_mv1(rd);
87 return std::unique_ptr<icu4x::IsoDate>(icu4x::IsoDate::FromFFI(result));
91 auto result = icu4x::capi::icu4x_IsoDate_from_string_mv1({v.data(), v.size()});
96 auto result = icu4x::capi::icu4x_IsoDate_to_calendar_mv1(this->AsFFI(),
98 return std::unique_ptr<icu4x::Date>(icu4x::Date::FromFFI(result));
102 auto result = icu4x::capi::icu4x_IsoDate_to_any_mv1(this->AsFFI());
103 return std::unique_ptr<icu4x::Date>(icu4x::Date::FromFFI(result));
107 auto result = icu4x::capi::icu4x_IsoDate_to_rata_die_mv1(this->AsFFI());
112 auto result = icu4x::capi::icu4x_IsoDate_day_of_year_mv1(this->AsFFI());
117 auto result = icu4x::capi::icu4x_IsoDate_day_of_month_mv1(this->AsFFI());
122 auto result = icu4x::capi::icu4x_IsoDate_day_of_week_mv1(this->AsFFI());
123 return icu4x::Weekday::FromFFI(result);
127 auto result = icu4x::capi::icu4x_IsoDate_weekday_mv1(this->AsFFI());
128 return icu4x::Weekday::FromFFI(result);
132 auto result = icu4x::capi::icu4x_IsoDate_week_of_year_mv1(this->AsFFI());
133 return icu4x::IsoWeekOfYear::FromFFI(result);
137 auto result = icu4x::capi::icu4x_IsoDate_month_mv1(this->AsFFI());
142 auto result = icu4x::capi::icu4x_IsoDate_year_mv1(this->AsFFI());
147 auto result = icu4x::capi::icu4x_IsoDate_is_in_leap_year_mv1(this->AsFFI());
152 auto result = icu4x::capi::icu4x_IsoDate_months_in_year_mv1(this->AsFFI());
157 auto result = icu4x::capi::icu4x_IsoDate_days_in_month_mv1(this->AsFFI());
162 auto result = icu4x::capi::icu4x_IsoDate_days_in_year_mv1(this->AsFFI());
167 auto result = icu4x::capi::icu4x_IsoDate_try_add_with_options_mv1(this->AsFFI(),
174 auto result = icu4x::capi::icu4x_IsoDate_until_with_options_mv1(this->AsFFI(),
177 return icu4x::DateDuration::FromFFI(result);
180inline const icu4x::capi::IsoDate* icu4x::IsoDate::AsFFI()
const {
181 return reinterpret_cast<const icu4x::capi::IsoDate*
>(
this);
184inline icu4x::capi::IsoDate* icu4x::IsoDate::AsFFI() {
185 return reinterpret_cast<icu4x::capi::IsoDate*
>(
this);
188inline const icu4x::IsoDate* icu4x::IsoDate::FromFFI(
const icu4x::capi::IsoDate* ptr) {
189 return reinterpret_cast<const icu4x::IsoDate*
>(ptr);
192inline icu4x::IsoDate* icu4x::IsoDate::FromFFI(icu4x::capi::IsoDate* ptr) {
193 return reinterpret_cast<icu4x::IsoDate*
>(ptr);
196inline void icu4x::IsoDate::operator
delete(
void* ptr) {
197 icu4x::capi::icu4x_IsoDate_destroy_mv1(
reinterpret_cast<icu4x::capi::IsoDate*
>(ptr));
Definition CalendarDateAddError.d.hpp:32
Definition CalendarError.d.hpp:32
Definition Calendar.d.hpp:34
Definition IsoDate.d.hpp:44
uint8_t days_in_month() const
Definition IsoDate.hpp:156
static icu4x::diplomat::result< std::unique_ptr< icu4x::IsoDate >, icu4x::CalendarError > create(int32_t year, uint8_t month, uint8_t day)
Definition IsoDate.hpp:78
int32_t year() const
Definition IsoDate.hpp:141
uint8_t month() const
Definition IsoDate.hpp:136
std::unique_ptr< icu4x::Date > to_any() const
Definition IsoDate.hpp:101
bool is_in_leap_year() const
Definition IsoDate.hpp:146
static std::unique_ptr< icu4x::IsoDate > from_rata_die(int64_t rd)
Definition IsoDate.hpp:85
uint8_t day_of_month() const
Definition IsoDate.hpp:116
std::unique_ptr< icu4x::Date > to_calendar(const icu4x::Calendar &calendar) const
Definition IsoDate.hpp:95
static icu4x::diplomat::result< std::unique_ptr< icu4x::IsoDate >, icu4x::Rfc9557ParseError > from_string(std::string_view v)
Definition IsoDate.hpp:90
icu4x::IsoWeekOfYear week_of_year() const
Definition IsoDate.hpp:131
uint16_t day_of_year() const
Definition IsoDate.hpp:111
icu4x::DateDuration until_with_options(const icu4x::IsoDate &other, icu4x::DateDifferenceOptions options) const
Definition IsoDate.hpp:173
uint8_t months_in_year() const
Definition IsoDate.hpp:151
icu4x::Weekday day_of_week() const
Definition IsoDate.hpp:121
icu4x::Weekday weekday() const
Definition IsoDate.hpp:126
icu4x::diplomat::result< std::unique_ptr< icu4x::IsoDate >, icu4x::CalendarDateAddError > try_add_with_options(icu4x::DateDuration duration, icu4x::DateAddOptions options) const
Definition IsoDate.hpp:166
int64_t to_rata_die() const
Definition IsoDate.hpp:106
uint16_t days_in_year() const
Definition IsoDate.hpp:161
Definition Rfc9557ParseError.d.hpp:33
Definition Weekday.d.hpp:35
Definition diplomat_runtime.hpp:166
Definition DateAddOptions.d.hpp:35
Definition DateDifferenceOptions.d.hpp:35
Definition DateDuration.d.hpp:39
Definition IsoWeekOfYear.d.hpp:31
Definition diplomat_runtime.hpp:146
Definition diplomat_runtime.hpp:128