1#ifndef ICU4XZonedDateTimeFormatter_HPP
2#define ICU4XZonedDateTimeFormatter_HPP
12#include "ICU4XZonedDateTimeFormatter.h"
28struct ICU4XZonedDateTimeFormatterDeleter {
29 void operator()(capi::ICU4XZonedDateTimeFormatter* l)
const noexcept {
30 capi::ICU4XZonedDateTimeFormatter_destroy(l);
89 inline const capi::ICU4XZonedDateTimeFormatter* AsFFI()
const {
return this->inner.get(); }
90 inline capi::ICU4XZonedDateTimeFormatter* AsFFIMut() {
return this->inner.get(); }
99#include "ICU4XDataProvider.hpp"
107 auto diplomat_result_raw_out_value = capi::ICU4XZonedDateTimeFormatter_create_with_lengths(provider.AsFFI(), locale.AsFFI(),
static_cast<capi::ICU4XDateLength
>(date_length),
static_cast<capi::ICU4XTimeLength
>(time_length));
109 if (diplomat_result_raw_out_value.is_ok) {
114 return diplomat_result_out_value;
118 auto diplomat_result_raw_out_value = capi::ICU4XZonedDateTimeFormatter_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) });
120 if (diplomat_result_raw_out_value.is_ok) {
125 return diplomat_result_out_value;
128 capi::DiplomatWriteable write_writer = diplomat::WriteableTrait<W>::Construct(write);
129 auto diplomat_result_raw_out_value = capi::ICU4XZonedDateTimeFormatter_format_datetime_with_custom_time_zone(this->inner.get(), datetime.AsFFI(), time_zone.AsFFI(), &write_writer);
131 if (diplomat_result_raw_out_value.is_ok) {
136 return diplomat_result_out_value;
139 std::string diplomat_writeable_string;
141 auto diplomat_result_raw_out_value = capi::ICU4XZonedDateTimeFormatter_format_datetime_with_custom_time_zone(this->inner.get(), datetime.AsFFI(), time_zone.AsFFI(), &diplomat_writeable_out);
143 if (diplomat_result_raw_out_value.is_ok) {
148 return diplomat_result_out_value.
replace_ok(std::move(diplomat_writeable_string));
151 capi::DiplomatWriteable write_writer = diplomat::WriteableTrait<W>::Construct(write);
152 auto diplomat_result_raw_out_value = capi::ICU4XZonedDateTimeFormatter_format_iso_datetime_with_custom_time_zone(this->inner.get(), datetime.AsFFI(), time_zone.AsFFI(), &write_writer);
154 if (diplomat_result_raw_out_value.is_ok) {
159 return diplomat_result_out_value;
162 std::string diplomat_writeable_string;
164 auto diplomat_result_raw_out_value = capi::ICU4XZonedDateTimeFormatter_format_iso_datetime_with_custom_time_zone(this->inner.get(), datetime.AsFFI(), time_zone.AsFFI(), &diplomat_writeable_out);
166 if (diplomat_result_raw_out_value.is_ok) {
171 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 ICU4XDateTime.hpp:38
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