tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

TimeZoneFormatter.hpp (22207B)


      1 #ifndef icu4x_TimeZoneFormatter_HPP
      2 #define icu4x_TimeZoneFormatter_HPP
      3 
      4 #include "TimeZoneFormatter.d.hpp"
      5 
      6 #include <stdio.h>
      7 #include <stdint.h>
      8 #include <stddef.h>
      9 #include <stdbool.h>
     10 #include <memory>
     11 #include <functional>
     12 #include <optional>
     13 #include <cstdlib>
     14 #include "../diplomat_runtime.hpp"
     15 #include "DataProvider.hpp"
     16 #include "DateTimeFormatterLoadError.hpp"
     17 #include "DateTimeWriteError.hpp"
     18 #include "Locale.hpp"
     19 #include "TimeZoneInfo.hpp"
     20 
     21 
     22 namespace icu4x {
     23 namespace capi {
     24    extern "C" {
     25 
     26    typedef struct icu4x_TimeZoneFormatter_create_specific_long_mv1_result {union {icu4x::capi::TimeZoneFormatter* ok; icu4x::capi::DateTimeFormatterLoadError err;}; bool is_ok;} icu4x_TimeZoneFormatter_create_specific_long_mv1_result;
     27    icu4x_TimeZoneFormatter_create_specific_long_mv1_result icu4x_TimeZoneFormatter_create_specific_long_mv1(const icu4x::capi::Locale* locale);
     28 
     29    typedef struct icu4x_TimeZoneFormatter_create_specific_long_with_provider_mv1_result {union {icu4x::capi::TimeZoneFormatter* ok; icu4x::capi::DateTimeFormatterLoadError err;}; bool is_ok;} icu4x_TimeZoneFormatter_create_specific_long_with_provider_mv1_result;
     30    icu4x_TimeZoneFormatter_create_specific_long_with_provider_mv1_result icu4x_TimeZoneFormatter_create_specific_long_with_provider_mv1(const icu4x::capi::DataProvider* provider, const icu4x::capi::Locale* locale);
     31 
     32    typedef struct icu4x_TimeZoneFormatter_create_specific_short_mv1_result {union {icu4x::capi::TimeZoneFormatter* ok; icu4x::capi::DateTimeFormatterLoadError err;}; bool is_ok;} icu4x_TimeZoneFormatter_create_specific_short_mv1_result;
     33    icu4x_TimeZoneFormatter_create_specific_short_mv1_result icu4x_TimeZoneFormatter_create_specific_short_mv1(const icu4x::capi::Locale* locale);
     34 
     35    typedef struct icu4x_TimeZoneFormatter_create_specific_short_with_provider_mv1_result {union {icu4x::capi::TimeZoneFormatter* ok; icu4x::capi::DateTimeFormatterLoadError err;}; bool is_ok;} icu4x_TimeZoneFormatter_create_specific_short_with_provider_mv1_result;
     36    icu4x_TimeZoneFormatter_create_specific_short_with_provider_mv1_result icu4x_TimeZoneFormatter_create_specific_short_with_provider_mv1(const icu4x::capi::DataProvider* provider, const icu4x::capi::Locale* locale);
     37 
     38    typedef struct icu4x_TimeZoneFormatter_create_localized_offset_long_mv1_result {union {icu4x::capi::TimeZoneFormatter* ok; icu4x::capi::DateTimeFormatterLoadError err;}; bool is_ok;} icu4x_TimeZoneFormatter_create_localized_offset_long_mv1_result;
     39    icu4x_TimeZoneFormatter_create_localized_offset_long_mv1_result icu4x_TimeZoneFormatter_create_localized_offset_long_mv1(const icu4x::capi::Locale* locale);
     40 
     41    typedef struct icu4x_TimeZoneFormatter_create_localized_offset_long_with_provider_mv1_result {union {icu4x::capi::TimeZoneFormatter* ok; icu4x::capi::DateTimeFormatterLoadError err;}; bool is_ok;} icu4x_TimeZoneFormatter_create_localized_offset_long_with_provider_mv1_result;
     42    icu4x_TimeZoneFormatter_create_localized_offset_long_with_provider_mv1_result icu4x_TimeZoneFormatter_create_localized_offset_long_with_provider_mv1(const icu4x::capi::DataProvider* provider, const icu4x::capi::Locale* locale);
     43 
     44    typedef struct icu4x_TimeZoneFormatter_create_localized_offset_short_mv1_result {union {icu4x::capi::TimeZoneFormatter* ok; icu4x::capi::DateTimeFormatterLoadError err;}; bool is_ok;} icu4x_TimeZoneFormatter_create_localized_offset_short_mv1_result;
     45    icu4x_TimeZoneFormatter_create_localized_offset_short_mv1_result icu4x_TimeZoneFormatter_create_localized_offset_short_mv1(const icu4x::capi::Locale* locale);
     46 
     47    typedef struct icu4x_TimeZoneFormatter_create_localized_offset_short_with_provider_mv1_result {union {icu4x::capi::TimeZoneFormatter* ok; icu4x::capi::DateTimeFormatterLoadError err;}; bool is_ok;} icu4x_TimeZoneFormatter_create_localized_offset_short_with_provider_mv1_result;
     48    icu4x_TimeZoneFormatter_create_localized_offset_short_with_provider_mv1_result icu4x_TimeZoneFormatter_create_localized_offset_short_with_provider_mv1(const icu4x::capi::DataProvider* provider, const icu4x::capi::Locale* locale);
     49 
     50    typedef struct icu4x_TimeZoneFormatter_create_generic_long_mv1_result {union {icu4x::capi::TimeZoneFormatter* ok; icu4x::capi::DateTimeFormatterLoadError err;}; bool is_ok;} icu4x_TimeZoneFormatter_create_generic_long_mv1_result;
     51    icu4x_TimeZoneFormatter_create_generic_long_mv1_result icu4x_TimeZoneFormatter_create_generic_long_mv1(const icu4x::capi::Locale* locale);
     52 
     53    typedef struct icu4x_TimeZoneFormatter_create_generic_long_with_provider_mv1_result {union {icu4x::capi::TimeZoneFormatter* ok; icu4x::capi::DateTimeFormatterLoadError err;}; bool is_ok;} icu4x_TimeZoneFormatter_create_generic_long_with_provider_mv1_result;
     54    icu4x_TimeZoneFormatter_create_generic_long_with_provider_mv1_result icu4x_TimeZoneFormatter_create_generic_long_with_provider_mv1(const icu4x::capi::DataProvider* provider, const icu4x::capi::Locale* locale);
     55 
     56    typedef struct icu4x_TimeZoneFormatter_create_generic_short_mv1_result {union {icu4x::capi::TimeZoneFormatter* ok; icu4x::capi::DateTimeFormatterLoadError err;}; bool is_ok;} icu4x_TimeZoneFormatter_create_generic_short_mv1_result;
     57    icu4x_TimeZoneFormatter_create_generic_short_mv1_result icu4x_TimeZoneFormatter_create_generic_short_mv1(const icu4x::capi::Locale* locale);
     58 
     59    typedef struct icu4x_TimeZoneFormatter_create_generic_short_with_provider_mv1_result {union {icu4x::capi::TimeZoneFormatter* ok; icu4x::capi::DateTimeFormatterLoadError err;}; bool is_ok;} icu4x_TimeZoneFormatter_create_generic_short_with_provider_mv1_result;
     60    icu4x_TimeZoneFormatter_create_generic_short_with_provider_mv1_result icu4x_TimeZoneFormatter_create_generic_short_with_provider_mv1(const icu4x::capi::DataProvider* provider, const icu4x::capi::Locale* locale);
     61 
     62    typedef struct icu4x_TimeZoneFormatter_create_location_mv1_result {union {icu4x::capi::TimeZoneFormatter* ok; icu4x::capi::DateTimeFormatterLoadError err;}; bool is_ok;} icu4x_TimeZoneFormatter_create_location_mv1_result;
     63    icu4x_TimeZoneFormatter_create_location_mv1_result icu4x_TimeZoneFormatter_create_location_mv1(const icu4x::capi::Locale* locale);
     64 
     65    typedef struct icu4x_TimeZoneFormatter_create_location_with_provider_mv1_result {union {icu4x::capi::TimeZoneFormatter* ok; icu4x::capi::DateTimeFormatterLoadError err;}; bool is_ok;} icu4x_TimeZoneFormatter_create_location_with_provider_mv1_result;
     66    icu4x_TimeZoneFormatter_create_location_with_provider_mv1_result icu4x_TimeZoneFormatter_create_location_with_provider_mv1(const icu4x::capi::DataProvider* provider, const icu4x::capi::Locale* locale);
     67 
     68    typedef struct icu4x_TimeZoneFormatter_create_exemplar_city_mv1_result {union {icu4x::capi::TimeZoneFormatter* ok; icu4x::capi::DateTimeFormatterLoadError err;}; bool is_ok;} icu4x_TimeZoneFormatter_create_exemplar_city_mv1_result;
     69    icu4x_TimeZoneFormatter_create_exemplar_city_mv1_result icu4x_TimeZoneFormatter_create_exemplar_city_mv1(const icu4x::capi::Locale* locale);
     70 
     71    typedef struct icu4x_TimeZoneFormatter_create_exemplar_city_with_provider_mv1_result {union {icu4x::capi::TimeZoneFormatter* ok; icu4x::capi::DateTimeFormatterLoadError err;}; bool is_ok;} icu4x_TimeZoneFormatter_create_exemplar_city_with_provider_mv1_result;
     72    icu4x_TimeZoneFormatter_create_exemplar_city_with_provider_mv1_result icu4x_TimeZoneFormatter_create_exemplar_city_with_provider_mv1(const icu4x::capi::DataProvider* provider, const icu4x::capi::Locale* locale);
     73 
     74    typedef struct icu4x_TimeZoneFormatter_format_mv1_result {union { icu4x::capi::DateTimeWriteError err;}; bool is_ok;} icu4x_TimeZoneFormatter_format_mv1_result;
     75    icu4x_TimeZoneFormatter_format_mv1_result icu4x_TimeZoneFormatter_format_mv1(const icu4x::capi::TimeZoneFormatter* self, const icu4x::capi::TimeZoneInfo* zone, diplomat::capi::DiplomatWrite* write);
     76 
     77    void icu4x_TimeZoneFormatter_destroy_mv1(TimeZoneFormatter* self);
     78 
     79    } // extern "C"
     80 } // namespace capi
     81 } // namespace
     82 
     83 inline diplomat::result<std::unique_ptr<icu4x::TimeZoneFormatter>, icu4x::DateTimeFormatterLoadError> icu4x::TimeZoneFormatter::create_specific_long(const icu4x::Locale& locale) {
     84  auto result = icu4x::capi::icu4x_TimeZoneFormatter_create_specific_long_mv1(locale.AsFFI());
     85  return result.is_ok ? diplomat::result<std::unique_ptr<icu4x::TimeZoneFormatter>, icu4x::DateTimeFormatterLoadError>(diplomat::Ok<std::unique_ptr<icu4x::TimeZoneFormatter>>(std::unique_ptr<icu4x::TimeZoneFormatter>(icu4x::TimeZoneFormatter::FromFFI(result.ok)))) : diplomat::result<std::unique_ptr<icu4x::TimeZoneFormatter>, icu4x::DateTimeFormatterLoadError>(diplomat::Err<icu4x::DateTimeFormatterLoadError>(icu4x::DateTimeFormatterLoadError::FromFFI(result.err)));
     86 }
     87 
     88 inline diplomat::result<std::unique_ptr<icu4x::TimeZoneFormatter>, icu4x::DateTimeFormatterLoadError> icu4x::TimeZoneFormatter::create_specific_long_with_provider(const icu4x::DataProvider& provider, const icu4x::Locale& locale) {
     89  auto result = icu4x::capi::icu4x_TimeZoneFormatter_create_specific_long_with_provider_mv1(provider.AsFFI(),
     90    locale.AsFFI());
     91  return result.is_ok ? diplomat::result<std::unique_ptr<icu4x::TimeZoneFormatter>, icu4x::DateTimeFormatterLoadError>(diplomat::Ok<std::unique_ptr<icu4x::TimeZoneFormatter>>(std::unique_ptr<icu4x::TimeZoneFormatter>(icu4x::TimeZoneFormatter::FromFFI(result.ok)))) : diplomat::result<std::unique_ptr<icu4x::TimeZoneFormatter>, icu4x::DateTimeFormatterLoadError>(diplomat::Err<icu4x::DateTimeFormatterLoadError>(icu4x::DateTimeFormatterLoadError::FromFFI(result.err)));
     92 }
     93 
     94 inline diplomat::result<std::unique_ptr<icu4x::TimeZoneFormatter>, icu4x::DateTimeFormatterLoadError> icu4x::TimeZoneFormatter::create_specific_short(const icu4x::Locale& locale) {
     95  auto result = icu4x::capi::icu4x_TimeZoneFormatter_create_specific_short_mv1(locale.AsFFI());
     96  return result.is_ok ? diplomat::result<std::unique_ptr<icu4x::TimeZoneFormatter>, icu4x::DateTimeFormatterLoadError>(diplomat::Ok<std::unique_ptr<icu4x::TimeZoneFormatter>>(std::unique_ptr<icu4x::TimeZoneFormatter>(icu4x::TimeZoneFormatter::FromFFI(result.ok)))) : diplomat::result<std::unique_ptr<icu4x::TimeZoneFormatter>, icu4x::DateTimeFormatterLoadError>(diplomat::Err<icu4x::DateTimeFormatterLoadError>(icu4x::DateTimeFormatterLoadError::FromFFI(result.err)));
     97 }
     98 
     99 inline diplomat::result<std::unique_ptr<icu4x::TimeZoneFormatter>, icu4x::DateTimeFormatterLoadError> icu4x::TimeZoneFormatter::create_specific_short_with_provider(const icu4x::DataProvider& provider, const icu4x::Locale& locale) {
    100  auto result = icu4x::capi::icu4x_TimeZoneFormatter_create_specific_short_with_provider_mv1(provider.AsFFI(),
    101    locale.AsFFI());
    102  return result.is_ok ? diplomat::result<std::unique_ptr<icu4x::TimeZoneFormatter>, icu4x::DateTimeFormatterLoadError>(diplomat::Ok<std::unique_ptr<icu4x::TimeZoneFormatter>>(std::unique_ptr<icu4x::TimeZoneFormatter>(icu4x::TimeZoneFormatter::FromFFI(result.ok)))) : diplomat::result<std::unique_ptr<icu4x::TimeZoneFormatter>, icu4x::DateTimeFormatterLoadError>(diplomat::Err<icu4x::DateTimeFormatterLoadError>(icu4x::DateTimeFormatterLoadError::FromFFI(result.err)));
    103 }
    104 
    105 inline diplomat::result<std::unique_ptr<icu4x::TimeZoneFormatter>, icu4x::DateTimeFormatterLoadError> icu4x::TimeZoneFormatter::create_localized_offset_long(const icu4x::Locale& locale) {
    106  auto result = icu4x::capi::icu4x_TimeZoneFormatter_create_localized_offset_long_mv1(locale.AsFFI());
    107  return result.is_ok ? diplomat::result<std::unique_ptr<icu4x::TimeZoneFormatter>, icu4x::DateTimeFormatterLoadError>(diplomat::Ok<std::unique_ptr<icu4x::TimeZoneFormatter>>(std::unique_ptr<icu4x::TimeZoneFormatter>(icu4x::TimeZoneFormatter::FromFFI(result.ok)))) : diplomat::result<std::unique_ptr<icu4x::TimeZoneFormatter>, icu4x::DateTimeFormatterLoadError>(diplomat::Err<icu4x::DateTimeFormatterLoadError>(icu4x::DateTimeFormatterLoadError::FromFFI(result.err)));
    108 }
    109 
    110 inline diplomat::result<std::unique_ptr<icu4x::TimeZoneFormatter>, icu4x::DateTimeFormatterLoadError> icu4x::TimeZoneFormatter::create_localized_offset_long_with_provider(const icu4x::DataProvider& provider, const icu4x::Locale& locale) {
    111  auto result = icu4x::capi::icu4x_TimeZoneFormatter_create_localized_offset_long_with_provider_mv1(provider.AsFFI(),
    112    locale.AsFFI());
    113  return result.is_ok ? diplomat::result<std::unique_ptr<icu4x::TimeZoneFormatter>, icu4x::DateTimeFormatterLoadError>(diplomat::Ok<std::unique_ptr<icu4x::TimeZoneFormatter>>(std::unique_ptr<icu4x::TimeZoneFormatter>(icu4x::TimeZoneFormatter::FromFFI(result.ok)))) : diplomat::result<std::unique_ptr<icu4x::TimeZoneFormatter>, icu4x::DateTimeFormatterLoadError>(diplomat::Err<icu4x::DateTimeFormatterLoadError>(icu4x::DateTimeFormatterLoadError::FromFFI(result.err)));
    114 }
    115 
    116 inline diplomat::result<std::unique_ptr<icu4x::TimeZoneFormatter>, icu4x::DateTimeFormatterLoadError> icu4x::TimeZoneFormatter::create_localized_offset_short(const icu4x::Locale& locale) {
    117  auto result = icu4x::capi::icu4x_TimeZoneFormatter_create_localized_offset_short_mv1(locale.AsFFI());
    118  return result.is_ok ? diplomat::result<std::unique_ptr<icu4x::TimeZoneFormatter>, icu4x::DateTimeFormatterLoadError>(diplomat::Ok<std::unique_ptr<icu4x::TimeZoneFormatter>>(std::unique_ptr<icu4x::TimeZoneFormatter>(icu4x::TimeZoneFormatter::FromFFI(result.ok)))) : diplomat::result<std::unique_ptr<icu4x::TimeZoneFormatter>, icu4x::DateTimeFormatterLoadError>(diplomat::Err<icu4x::DateTimeFormatterLoadError>(icu4x::DateTimeFormatterLoadError::FromFFI(result.err)));
    119 }
    120 
    121 inline diplomat::result<std::unique_ptr<icu4x::TimeZoneFormatter>, icu4x::DateTimeFormatterLoadError> icu4x::TimeZoneFormatter::create_localized_offset_short_with_provider(const icu4x::DataProvider& provider, const icu4x::Locale& locale) {
    122  auto result = icu4x::capi::icu4x_TimeZoneFormatter_create_localized_offset_short_with_provider_mv1(provider.AsFFI(),
    123    locale.AsFFI());
    124  return result.is_ok ? diplomat::result<std::unique_ptr<icu4x::TimeZoneFormatter>, icu4x::DateTimeFormatterLoadError>(diplomat::Ok<std::unique_ptr<icu4x::TimeZoneFormatter>>(std::unique_ptr<icu4x::TimeZoneFormatter>(icu4x::TimeZoneFormatter::FromFFI(result.ok)))) : diplomat::result<std::unique_ptr<icu4x::TimeZoneFormatter>, icu4x::DateTimeFormatterLoadError>(diplomat::Err<icu4x::DateTimeFormatterLoadError>(icu4x::DateTimeFormatterLoadError::FromFFI(result.err)));
    125 }
    126 
    127 inline diplomat::result<std::unique_ptr<icu4x::TimeZoneFormatter>, icu4x::DateTimeFormatterLoadError> icu4x::TimeZoneFormatter::create_generic_long(const icu4x::Locale& locale) {
    128  auto result = icu4x::capi::icu4x_TimeZoneFormatter_create_generic_long_mv1(locale.AsFFI());
    129  return result.is_ok ? diplomat::result<std::unique_ptr<icu4x::TimeZoneFormatter>, icu4x::DateTimeFormatterLoadError>(diplomat::Ok<std::unique_ptr<icu4x::TimeZoneFormatter>>(std::unique_ptr<icu4x::TimeZoneFormatter>(icu4x::TimeZoneFormatter::FromFFI(result.ok)))) : diplomat::result<std::unique_ptr<icu4x::TimeZoneFormatter>, icu4x::DateTimeFormatterLoadError>(diplomat::Err<icu4x::DateTimeFormatterLoadError>(icu4x::DateTimeFormatterLoadError::FromFFI(result.err)));
    130 }
    131 
    132 inline diplomat::result<std::unique_ptr<icu4x::TimeZoneFormatter>, icu4x::DateTimeFormatterLoadError> icu4x::TimeZoneFormatter::create_generic_long_with_provider(const icu4x::DataProvider& provider, const icu4x::Locale& locale) {
    133  auto result = icu4x::capi::icu4x_TimeZoneFormatter_create_generic_long_with_provider_mv1(provider.AsFFI(),
    134    locale.AsFFI());
    135  return result.is_ok ? diplomat::result<std::unique_ptr<icu4x::TimeZoneFormatter>, icu4x::DateTimeFormatterLoadError>(diplomat::Ok<std::unique_ptr<icu4x::TimeZoneFormatter>>(std::unique_ptr<icu4x::TimeZoneFormatter>(icu4x::TimeZoneFormatter::FromFFI(result.ok)))) : diplomat::result<std::unique_ptr<icu4x::TimeZoneFormatter>, icu4x::DateTimeFormatterLoadError>(diplomat::Err<icu4x::DateTimeFormatterLoadError>(icu4x::DateTimeFormatterLoadError::FromFFI(result.err)));
    136 }
    137 
    138 inline diplomat::result<std::unique_ptr<icu4x::TimeZoneFormatter>, icu4x::DateTimeFormatterLoadError> icu4x::TimeZoneFormatter::create_generic_short(const icu4x::Locale& locale) {
    139  auto result = icu4x::capi::icu4x_TimeZoneFormatter_create_generic_short_mv1(locale.AsFFI());
    140  return result.is_ok ? diplomat::result<std::unique_ptr<icu4x::TimeZoneFormatter>, icu4x::DateTimeFormatterLoadError>(diplomat::Ok<std::unique_ptr<icu4x::TimeZoneFormatter>>(std::unique_ptr<icu4x::TimeZoneFormatter>(icu4x::TimeZoneFormatter::FromFFI(result.ok)))) : diplomat::result<std::unique_ptr<icu4x::TimeZoneFormatter>, icu4x::DateTimeFormatterLoadError>(diplomat::Err<icu4x::DateTimeFormatterLoadError>(icu4x::DateTimeFormatterLoadError::FromFFI(result.err)));
    141 }
    142 
    143 inline diplomat::result<std::unique_ptr<icu4x::TimeZoneFormatter>, icu4x::DateTimeFormatterLoadError> icu4x::TimeZoneFormatter::create_generic_short_with_provider(const icu4x::DataProvider& provider, const icu4x::Locale& locale) {
    144  auto result = icu4x::capi::icu4x_TimeZoneFormatter_create_generic_short_with_provider_mv1(provider.AsFFI(),
    145    locale.AsFFI());
    146  return result.is_ok ? diplomat::result<std::unique_ptr<icu4x::TimeZoneFormatter>, icu4x::DateTimeFormatterLoadError>(diplomat::Ok<std::unique_ptr<icu4x::TimeZoneFormatter>>(std::unique_ptr<icu4x::TimeZoneFormatter>(icu4x::TimeZoneFormatter::FromFFI(result.ok)))) : diplomat::result<std::unique_ptr<icu4x::TimeZoneFormatter>, icu4x::DateTimeFormatterLoadError>(diplomat::Err<icu4x::DateTimeFormatterLoadError>(icu4x::DateTimeFormatterLoadError::FromFFI(result.err)));
    147 }
    148 
    149 inline diplomat::result<std::unique_ptr<icu4x::TimeZoneFormatter>, icu4x::DateTimeFormatterLoadError> icu4x::TimeZoneFormatter::create_location(const icu4x::Locale& locale) {
    150  auto result = icu4x::capi::icu4x_TimeZoneFormatter_create_location_mv1(locale.AsFFI());
    151  return result.is_ok ? diplomat::result<std::unique_ptr<icu4x::TimeZoneFormatter>, icu4x::DateTimeFormatterLoadError>(diplomat::Ok<std::unique_ptr<icu4x::TimeZoneFormatter>>(std::unique_ptr<icu4x::TimeZoneFormatter>(icu4x::TimeZoneFormatter::FromFFI(result.ok)))) : diplomat::result<std::unique_ptr<icu4x::TimeZoneFormatter>, icu4x::DateTimeFormatterLoadError>(diplomat::Err<icu4x::DateTimeFormatterLoadError>(icu4x::DateTimeFormatterLoadError::FromFFI(result.err)));
    152 }
    153 
    154 inline diplomat::result<std::unique_ptr<icu4x::TimeZoneFormatter>, icu4x::DateTimeFormatterLoadError> icu4x::TimeZoneFormatter::create_location_with_provider(const icu4x::DataProvider& provider, const icu4x::Locale& locale) {
    155  auto result = icu4x::capi::icu4x_TimeZoneFormatter_create_location_with_provider_mv1(provider.AsFFI(),
    156    locale.AsFFI());
    157  return result.is_ok ? diplomat::result<std::unique_ptr<icu4x::TimeZoneFormatter>, icu4x::DateTimeFormatterLoadError>(diplomat::Ok<std::unique_ptr<icu4x::TimeZoneFormatter>>(std::unique_ptr<icu4x::TimeZoneFormatter>(icu4x::TimeZoneFormatter::FromFFI(result.ok)))) : diplomat::result<std::unique_ptr<icu4x::TimeZoneFormatter>, icu4x::DateTimeFormatterLoadError>(diplomat::Err<icu4x::DateTimeFormatterLoadError>(icu4x::DateTimeFormatterLoadError::FromFFI(result.err)));
    158 }
    159 
    160 inline diplomat::result<std::unique_ptr<icu4x::TimeZoneFormatter>, icu4x::DateTimeFormatterLoadError> icu4x::TimeZoneFormatter::create_exemplar_city(const icu4x::Locale& locale) {
    161  auto result = icu4x::capi::icu4x_TimeZoneFormatter_create_exemplar_city_mv1(locale.AsFFI());
    162  return result.is_ok ? diplomat::result<std::unique_ptr<icu4x::TimeZoneFormatter>, icu4x::DateTimeFormatterLoadError>(diplomat::Ok<std::unique_ptr<icu4x::TimeZoneFormatter>>(std::unique_ptr<icu4x::TimeZoneFormatter>(icu4x::TimeZoneFormatter::FromFFI(result.ok)))) : diplomat::result<std::unique_ptr<icu4x::TimeZoneFormatter>, icu4x::DateTimeFormatterLoadError>(diplomat::Err<icu4x::DateTimeFormatterLoadError>(icu4x::DateTimeFormatterLoadError::FromFFI(result.err)));
    163 }
    164 
    165 inline diplomat::result<std::unique_ptr<icu4x::TimeZoneFormatter>, icu4x::DateTimeFormatterLoadError> icu4x::TimeZoneFormatter::create_exemplar_city_with_provider(const icu4x::DataProvider& provider, const icu4x::Locale& locale) {
    166  auto result = icu4x::capi::icu4x_TimeZoneFormatter_create_exemplar_city_with_provider_mv1(provider.AsFFI(),
    167    locale.AsFFI());
    168  return result.is_ok ? diplomat::result<std::unique_ptr<icu4x::TimeZoneFormatter>, icu4x::DateTimeFormatterLoadError>(diplomat::Ok<std::unique_ptr<icu4x::TimeZoneFormatter>>(std::unique_ptr<icu4x::TimeZoneFormatter>(icu4x::TimeZoneFormatter::FromFFI(result.ok)))) : diplomat::result<std::unique_ptr<icu4x::TimeZoneFormatter>, icu4x::DateTimeFormatterLoadError>(diplomat::Err<icu4x::DateTimeFormatterLoadError>(icu4x::DateTimeFormatterLoadError::FromFFI(result.err)));
    169 }
    170 
    171 inline diplomat::result<std::string, icu4x::DateTimeWriteError> icu4x::TimeZoneFormatter::format(const icu4x::TimeZoneInfo& zone) const {
    172  std::string output;
    173  diplomat::capi::DiplomatWrite write = diplomat::WriteFromString(output);
    174  auto result = icu4x::capi::icu4x_TimeZoneFormatter_format_mv1(this->AsFFI(),
    175    zone.AsFFI(),
    176    &write);
    177  return result.is_ok ? diplomat::result<std::string, icu4x::DateTimeWriteError>(diplomat::Ok<std::string>(std::move(output))) : diplomat::result<std::string, icu4x::DateTimeWriteError>(diplomat::Err<icu4x::DateTimeWriteError>(icu4x::DateTimeWriteError::FromFFI(result.err)));
    178 }
    179 
    180 inline const icu4x::capi::TimeZoneFormatter* icu4x::TimeZoneFormatter::AsFFI() const {
    181  return reinterpret_cast<const icu4x::capi::TimeZoneFormatter*>(this);
    182 }
    183 
    184 inline icu4x::capi::TimeZoneFormatter* icu4x::TimeZoneFormatter::AsFFI() {
    185  return reinterpret_cast<icu4x::capi::TimeZoneFormatter*>(this);
    186 }
    187 
    188 inline const icu4x::TimeZoneFormatter* icu4x::TimeZoneFormatter::FromFFI(const icu4x::capi::TimeZoneFormatter* ptr) {
    189  return reinterpret_cast<const icu4x::TimeZoneFormatter*>(ptr);
    190 }
    191 
    192 inline icu4x::TimeZoneFormatter* icu4x::TimeZoneFormatter::FromFFI(icu4x::capi::TimeZoneFormatter* ptr) {
    193  return reinterpret_cast<icu4x::TimeZoneFormatter*>(ptr);
    194 }
    195 
    196 inline void icu4x::TimeZoneFormatter::operator delete(void* ptr) {
    197  icu4x::capi::icu4x_TimeZoneFormatter_destroy_mv1(reinterpret_cast<icu4x::capi::TimeZoneFormatter*>(ptr));
    198 }
    199 
    200 
    201 #endif // icu4x_TimeZoneFormatter_HPP