1#ifndef icu4x_IsoDate_HPP
2#define icu4x_IsoDate_HPP
27 typedef struct icu4x_IsoDate_create_mv1_result {
union {icu4x::capi::IsoDate* ok; icu4x::capi::CalendarError err;};
bool is_ok;} icu4x_IsoDate_create_mv1_result;
28 icu4x_IsoDate_create_mv1_result icu4x_IsoDate_create_mv1(int32_t year, uint8_t month, uint8_t day);
30 icu4x::capi::IsoDate* icu4x_IsoDate_from_rata_die_mv1(int64_t rd);
32 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;
33 icu4x_IsoDate_from_string_mv1_result icu4x_IsoDate_from_string_mv1(diplomat::capi::DiplomatStringView v);
35 icu4x::capi::Date* icu4x_IsoDate_to_calendar_mv1(
const icu4x::capi::IsoDate* self,
const icu4x::capi::Calendar* calendar);
37 icu4x::capi::Date* icu4x_IsoDate_to_any_mv1(
const icu4x::capi::IsoDate* self);
39 int64_t icu4x_IsoDate_to_rata_die_mv1(
const icu4x::capi::IsoDate* self);
41 uint16_t icu4x_IsoDate_day_of_year_mv1(
const icu4x::capi::IsoDate* self);
43 uint8_t icu4x_IsoDate_day_of_month_mv1(
const icu4x::capi::IsoDate* self);
45 icu4x::capi::Weekday icu4x_IsoDate_day_of_week_mv1(
const icu4x::capi::IsoDate* self);
47 icu4x::capi::IsoWeekOfYear icu4x_IsoDate_week_of_year_mv1(
const icu4x::capi::IsoDate* self);
49 uint8_t icu4x_IsoDate_month_mv1(
const icu4x::capi::IsoDate* self);
51 int32_t icu4x_IsoDate_year_mv1(
const icu4x::capi::IsoDate* self);
53 bool icu4x_IsoDate_is_in_leap_year_mv1(
const icu4x::capi::IsoDate* self);
55 uint8_t icu4x_IsoDate_months_in_year_mv1(
const icu4x::capi::IsoDate* self);
57 uint8_t icu4x_IsoDate_days_in_month_mv1(
const icu4x::capi::IsoDate* self);
59 uint16_t icu4x_IsoDate_days_in_year_mv1(
const icu4x::capi::IsoDate* self);
61 void icu4x_IsoDate_destroy_mv1(IsoDate* self);
68 auto result = icu4x::capi::icu4x_IsoDate_create_mv1(
year,
75 auto result = icu4x::capi::icu4x_IsoDate_from_rata_die_mv1(rd);
76 return std::unique_ptr<icu4x::IsoDate>(icu4x::IsoDate::FromFFI(result));
80 auto result = icu4x::capi::icu4x_IsoDate_from_string_mv1({v.data(), v.size()});
85 auto result = icu4x::capi::icu4x_IsoDate_to_calendar_mv1(this->AsFFI(),
87 return std::unique_ptr<icu4x::Date>(icu4x::Date::FromFFI(result));
91 auto result = icu4x::capi::icu4x_IsoDate_to_any_mv1(this->AsFFI());
92 return std::unique_ptr<icu4x::Date>(icu4x::Date::FromFFI(result));
96 auto result = icu4x::capi::icu4x_IsoDate_to_rata_die_mv1(this->AsFFI());
101 auto result = icu4x::capi::icu4x_IsoDate_day_of_year_mv1(this->AsFFI());
106 auto result = icu4x::capi::icu4x_IsoDate_day_of_month_mv1(this->AsFFI());
111 auto result = icu4x::capi::icu4x_IsoDate_day_of_week_mv1(this->AsFFI());
112 return icu4x::Weekday::FromFFI(result);
116 auto result = icu4x::capi::icu4x_IsoDate_week_of_year_mv1(this->AsFFI());
117 return icu4x::IsoWeekOfYear::FromFFI(result);
121 auto result = icu4x::capi::icu4x_IsoDate_month_mv1(this->AsFFI());
126 auto result = icu4x::capi::icu4x_IsoDate_year_mv1(this->AsFFI());
131 auto result = icu4x::capi::icu4x_IsoDate_is_in_leap_year_mv1(this->AsFFI());
136 auto result = icu4x::capi::icu4x_IsoDate_months_in_year_mv1(this->AsFFI());
141 auto result = icu4x::capi::icu4x_IsoDate_days_in_month_mv1(this->AsFFI());
146 auto result = icu4x::capi::icu4x_IsoDate_days_in_year_mv1(this->AsFFI());
150inline const icu4x::capi::IsoDate* icu4x::IsoDate::AsFFI()
const {
151 return reinterpret_cast<const icu4x::capi::IsoDate*
>(
this);
154inline icu4x::capi::IsoDate* icu4x::IsoDate::AsFFI() {
155 return reinterpret_cast<icu4x::capi::IsoDate*
>(
this);
158inline const icu4x::IsoDate* icu4x::IsoDate::FromFFI(
const icu4x::capi::IsoDate* ptr) {
159 return reinterpret_cast<const icu4x::IsoDate*
>(ptr);
162inline icu4x::IsoDate* icu4x::IsoDate::FromFFI(icu4x::capi::IsoDate* ptr) {
163 return reinterpret_cast<icu4x::IsoDate*
>(ptr);
166inline void icu4x::IsoDate::operator
delete(
void* ptr) {
167 icu4x::capi::icu4x_IsoDate_destroy_mv1(
reinterpret_cast<icu4x::capi::IsoDate*
>(ptr));
Definition diplomat_runtime.hpp:140
Definition CalendarError.d.hpp:32
Definition Calendar.d.hpp:34
uint8_t days_in_month() const
Definition IsoDate.hpp:140
static diplomat::result< std::unique_ptr< icu4x::IsoDate >, icu4x::CalendarError > create(int32_t year, uint8_t month, uint8_t day)
Definition IsoDate.hpp:67
int32_t year() const
Definition IsoDate.hpp:125
uint8_t month() const
Definition IsoDate.hpp:120
std::unique_ptr< icu4x::Date > to_any() const
Definition IsoDate.hpp:90
bool is_in_leap_year() const
Definition IsoDate.hpp:130
static std::unique_ptr< icu4x::IsoDate > from_rata_die(int64_t rd)
Definition IsoDate.hpp:74
uint8_t day_of_month() const
Definition IsoDate.hpp:105
std::unique_ptr< icu4x::Date > to_calendar(const icu4x::Calendar &calendar) const
Definition IsoDate.hpp:84
icu4x::IsoWeekOfYear week_of_year() const
Definition IsoDate.hpp:115
uint16_t day_of_year() const
Definition IsoDate.hpp:100
static diplomat::result< std::unique_ptr< icu4x::IsoDate >, icu4x::Rfc9557ParseError > from_string(std::string_view v)
Definition IsoDate.hpp:79
uint8_t months_in_year() const
Definition IsoDate.hpp:135
icu4x::Weekday day_of_week() const
Definition IsoDate.hpp:110
int64_t to_rata_die() const
Definition IsoDate.hpp:95
uint16_t days_in_year() const
Definition IsoDate.hpp:145
Definition Rfc9557ParseError.d.hpp:33
Definition Weekday.d.hpp:32
Definition diplomat_runtime.hpp:125
Definition diplomat_runtime.hpp:111
Definition IsoWeekOfYear.d.hpp:28