1#ifndef ICU4XGregorianZonedDateTimeFormatter_HPP
2#define ICU4XGregorianZonedDateTimeFormatter_HPP
12#include "ICU4XGregorianZonedDateTimeFormatter.h"
27struct ICU4XGregorianZonedDateTimeFormatterDeleter {
28 void operator()(capi::ICU4XGregorianZonedDateTimeFormatter* l)
const noexcept {
29 capi::ICU4XGregorianZonedDateTimeFormatter_destroy(l);
74 inline const capi::ICU4XGregorianZonedDateTimeFormatter* AsFFI()
const {
return this->inner.get(); }
75 inline capi::ICU4XGregorianZonedDateTimeFormatter* AsFFIMut() {
return this->inner.get(); }
84#include "ICU4XDataProvider.hpp"
91 auto diplomat_result_raw_out_value = capi::ICU4XGregorianZonedDateTimeFormatter_create_with_lengths(provider.AsFFI(), locale.AsFFI(),
static_cast<capi::ICU4XDateLength
>(date_length),
static_cast<capi::ICU4XTimeLength
>(time_length));
93 if (diplomat_result_raw_out_value.is_ok) {
98 return diplomat_result_out_value;
102 auto diplomat_result_raw_out_value = capi::ICU4XGregorianZonedDateTimeFormatter_create_with_lengths_and_iso_8601_time_zone_fallback(provider.AsFFI(), locale.AsFFI(),
static_cast<capi::ICU4XDateLength
>(date_length),
static_cast<capi::ICU4XTimeLength
>(time_length), capi::ICU4XIsoTimeZoneOptions{ .format = static_cast<capi::ICU4XIsoTimeZoneFormat>(diplomat_wrapped_struct_zone_options.format), .minutes = static_cast<capi::ICU4XIsoTimeZoneMinuteDisplay>(diplomat_wrapped_struct_zone_options.minutes), .seconds = static_cast<capi::ICU4XIsoTimeZoneSecondDisplay>(diplomat_wrapped_struct_zone_options.seconds) });
104 if (diplomat_result_raw_out_value.is_ok) {
109 return diplomat_result_out_value;
112 capi::DiplomatWriteable write_writer = diplomat::WriteableTrait<W>::Construct(write);
113 auto diplomat_result_raw_out_value = capi::ICU4XGregorianZonedDateTimeFormatter_format_iso_datetime_with_custom_time_zone(this->inner.get(), datetime.AsFFI(), time_zone.AsFFI(), &write_writer);
115 if (diplomat_result_raw_out_value.is_ok) {
120 return diplomat_result_out_value;
123 std::string diplomat_writeable_string;
125 auto diplomat_result_raw_out_value = capi::ICU4XGregorianZonedDateTimeFormatter_format_iso_datetime_with_custom_time_zone(this->inner.get(), datetime.AsFFI(), time_zone.AsFFI(), &diplomat_writeable_out);
127 if (diplomat_result_raw_out_value.is_ok) {
132 return diplomat_result_out_value.
replace_ok(std::move(diplomat_writeable_string));
ICU4XDateLength
Definition ICU4XDateLength.hpp:19
ICU4XError
Definition ICU4XError.hpp:23
ICU4XTimeLength
Definition ICU4XTimeLength.hpp:19
Definition ICU4XCustomTimeZone.hpp:33
Definition ICU4XDataProvider.hpp:32
Definition ICU4XIsoDateTime.hpp:38
Definition ICU4XLocale.hpp:32
Definition diplomat_runtime.hpp:84
result< T2, E > replace_ok(T2 &&t)
Definition diplomat_runtime.hpp:125
capi::DiplomatWriteable WriteableFromString(std::string &string)
Definition diplomat_runtime.hpp:31
Definition ICU4XIsoTimeZoneOptions.hpp:18
Definition diplomat_runtime.hpp:69
Definition diplomat_runtime.hpp:55