1#ifndef ICU4XIsoDate_HPP
2#define ICU4XIsoDate_HPP
12#include "ICU4XIsoDate.h"
25struct ICU4XIsoDateDeleter {
26 void operator()(capi::ICU4XIsoDate* l)
const noexcept {
27 capi::ICU4XIsoDate_destroy(l);
108 uint32_t
month()
const;
115 int32_t
year()
const;
144 inline const capi::ICU4XIsoDate* AsFFI()
const {
return this->inner.get(); }
145 inline capi::ICU4XIsoDate* AsFFIMut() {
return this->inner.get(); }
151 std::unique_ptr<capi::
ICU4XIsoDate, ICU4XIsoDateDeleter> inner;
154#include "ICU4XCalendar.hpp"
160 auto diplomat_result_raw_out_value = capi::ICU4XIsoDate_create(
year,
month, day);
162 if (diplomat_result_raw_out_value.is_ok) {
167 return diplomat_result_out_value;
170 return ICU4XIsoDate(capi::ICU4XIsoDate_create_for_unix_epoch());
173 return ICU4XDate(capi::ICU4XIsoDate_to_calendar(this->inner.get(), calendar.AsFFI()));
176 return ICU4XDate(capi::ICU4XIsoDate_to_any(this->inner.get()));
179 return capi::ICU4XIsoDate_day_of_year(this->inner.get());
182 return capi::ICU4XIsoDate_day_of_month(this->inner.get());
185 return static_cast<ICU4XIsoWeekday>(capi::ICU4XIsoDate_day_of_week(this->inner.get()));
188 return capi::ICU4XIsoDate_week_of_month(this->inner.get(),
static_cast<capi::ICU4XIsoWeekday
>(first_weekday));
191 auto diplomat_result_raw_out_value = capi::ICU4XIsoDate_week_of_year(this->inner.get(), calculator.AsFFI());
193 if (diplomat_result_raw_out_value.is_ok) {
194 capi::ICU4XWeekOf diplomat_raw_struct_out_value = diplomat_result_raw_out_value.ok;
199 return diplomat_result_out_value;
202 return capi::ICU4XIsoDate_month(this->inner.get());
205 return capi::ICU4XIsoDate_year(this->inner.get());
208 return capi::ICU4XIsoDate_is_in_leap_year(this->inner.get());
211 return capi::ICU4XIsoDate_months_in_year(this->inner.get());
214 return capi::ICU4XIsoDate_days_in_month(this->inner.get());
217 return capi::ICU4XIsoDate_days_in_year(this->inner.get());
ICU4XError
Definition ICU4XError.hpp:23
ICU4XIsoWeekday
Definition ICU4XIsoWeekday.hpp:15
ICU4XWeekRelativeUnit
Definition ICU4XWeekRelativeUnit.hpp:19
Definition ICU4XCalendar.hpp:32
Definition ICU4XDate.hpp:36
Definition ICU4XIsoDate.hpp:36
uint32_t day_of_month() const
Definition ICU4XIsoDate.hpp:181
ICU4XIsoWeekday day_of_week() const
Definition ICU4XIsoDate.hpp:184
uint32_t month() const
Definition ICU4XIsoDate.hpp:201
diplomat::result< ICU4XWeekOf, ICU4XError > week_of_year(const ICU4XWeekCalculator &calculator) const
Definition ICU4XIsoDate.hpp:190
uint8_t days_in_month() const
Definition ICU4XIsoDate.hpp:213
ICU4XDate to_any() const
Definition ICU4XIsoDate.hpp:175
ICU4XDate to_calendar(const ICU4XCalendar &calendar) const
Definition ICU4XIsoDate.hpp:172
uint8_t months_in_year() const
Definition ICU4XIsoDate.hpp:210
ICU4XIsoDate(ICU4XIsoDate &&) noexcept=default
static diplomat::result< ICU4XIsoDate, ICU4XError > create(int32_t year, uint8_t month, uint8_t day)
Definition ICU4XIsoDate.hpp:159
bool is_in_leap_year() const
Definition ICU4XIsoDate.hpp:207
ICU4XIsoDate(capi::ICU4XIsoDate *i)
Definition ICU4XIsoDate.hpp:146
uint16_t day_of_year() const
Definition ICU4XIsoDate.hpp:178
static ICU4XIsoDate create_for_unix_epoch()
Definition ICU4XIsoDate.hpp:169
int32_t year() const
Definition ICU4XIsoDate.hpp:204
uint16_t days_in_year() const
Definition ICU4XIsoDate.hpp:216
uint32_t week_of_month(ICU4XIsoWeekday first_weekday) const
Definition ICU4XIsoDate.hpp:187
Definition ICU4XWeekCalculator.hpp:35
Definition diplomat_runtime.hpp:84
Definition ICU4XWeekOf.hpp:20
Definition diplomat_runtime.hpp:69
Definition diplomat_runtime.hpp:55