ICU4X
International Components for Unicode
Loading...
Searching...
No Matches
TimeZoneFormatter.hpp
Go to the documentation of this file.
1#ifndef icu4x_TimeZoneFormatter_HPP
2#define icu4x_TimeZoneFormatter_HPP
3
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>
15#include "DataProvider.hpp"
18#include "Locale.hpp"
19#include "TimeZoneInfo.hpp"
20
21
22namespace icu4x {
23namespace 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
84 auto result = icu4x::capi::icu4x_TimeZoneFormatter_create_specific_long_mv1(locale.AsFFI());
86}
87
89 auto result = icu4x::capi::icu4x_TimeZoneFormatter_create_specific_long_with_provider_mv1(provider.AsFFI(),
90 locale.AsFFI());
92}
93
95 auto result = icu4x::capi::icu4x_TimeZoneFormatter_create_specific_short_mv1(locale.AsFFI());
97}
98
100 auto result = icu4x::capi::icu4x_TimeZoneFormatter_create_specific_short_with_provider_mv1(provider.AsFFI(),
101 locale.AsFFI());
103}
104
106 auto result = icu4x::capi::icu4x_TimeZoneFormatter_create_localized_offset_long_mv1(locale.AsFFI());
108}
109
111 auto result = icu4x::capi::icu4x_TimeZoneFormatter_create_localized_offset_long_with_provider_mv1(provider.AsFFI(),
112 locale.AsFFI());
114}
115
117 auto result = icu4x::capi::icu4x_TimeZoneFormatter_create_localized_offset_short_mv1(locale.AsFFI());
119}
120
122 auto result = icu4x::capi::icu4x_TimeZoneFormatter_create_localized_offset_short_with_provider_mv1(provider.AsFFI(),
123 locale.AsFFI());
125}
126
128 auto result = icu4x::capi::icu4x_TimeZoneFormatter_create_generic_long_mv1(locale.AsFFI());
130}
131
133 auto result = icu4x::capi::icu4x_TimeZoneFormatter_create_generic_long_with_provider_mv1(provider.AsFFI(),
134 locale.AsFFI());
136}
137
139 auto result = icu4x::capi::icu4x_TimeZoneFormatter_create_generic_short_mv1(locale.AsFFI());
141}
142
144 auto result = icu4x::capi::icu4x_TimeZoneFormatter_create_generic_short_with_provider_mv1(provider.AsFFI(),
145 locale.AsFFI());
147}
148
150 auto result = icu4x::capi::icu4x_TimeZoneFormatter_create_location_mv1(locale.AsFFI());
152}
153
155 auto result = icu4x::capi::icu4x_TimeZoneFormatter_create_location_with_provider_mv1(provider.AsFFI(),
156 locale.AsFFI());
158}
159
161 auto result = icu4x::capi::icu4x_TimeZoneFormatter_create_exemplar_city_mv1(locale.AsFFI());
163}
164
166 auto result = icu4x::capi::icu4x_TimeZoneFormatter_create_exemplar_city_with_provider_mv1(provider.AsFFI(),
167 locale.AsFFI());
169}
170
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);
178}
179
180inline const icu4x::capi::TimeZoneFormatter* icu4x::TimeZoneFormatter::AsFFI() const {
181 return reinterpret_cast<const icu4x::capi::TimeZoneFormatter*>(this);
182}
183
184inline icu4x::capi::TimeZoneFormatter* icu4x::TimeZoneFormatter::AsFFI() {
185 return reinterpret_cast<icu4x::capi::TimeZoneFormatter*>(this);
186}
187
188inline const icu4x::TimeZoneFormatter* icu4x::TimeZoneFormatter::FromFFI(const icu4x::capi::TimeZoneFormatter* ptr) {
189 return reinterpret_cast<const icu4x::TimeZoneFormatter*>(ptr);
190}
191
192inline icu4x::TimeZoneFormatter* icu4x::TimeZoneFormatter::FromFFI(icu4x::capi::TimeZoneFormatter* ptr) {
193 return reinterpret_cast<icu4x::TimeZoneFormatter*>(ptr);
194}
195
196inline 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
Definition diplomat_runtime.hpp:140
Definition DataProvider.d.hpp:40
Definition DateTimeFormatterLoadError.d.hpp:41
Definition Locale.d.hpp:33
static diplomat::result< std::unique_ptr< icu4x::TimeZoneFormatter >, icu4x::DateTimeFormatterLoadError > create_localized_offset_long(const icu4x::Locale &locale)
Definition TimeZoneFormatter.hpp:105
diplomat::result< std::string, icu4x::DateTimeWriteError > format(const icu4x::TimeZoneInfo &zone) const
Definition TimeZoneFormatter.hpp:171
static diplomat::result< std::unique_ptr< icu4x::TimeZoneFormatter >, icu4x::DateTimeFormatterLoadError > create_localized_offset_long_with_provider(const icu4x::DataProvider &provider, const icu4x::Locale &locale)
Definition TimeZoneFormatter.hpp:110
static diplomat::result< std::unique_ptr< icu4x::TimeZoneFormatter >, icu4x::DateTimeFormatterLoadError > create_location_with_provider(const icu4x::DataProvider &provider, const icu4x::Locale &locale)
Definition TimeZoneFormatter.hpp:154
static diplomat::result< std::unique_ptr< icu4x::TimeZoneFormatter >, icu4x::DateTimeFormatterLoadError > create_exemplar_city(const icu4x::Locale &locale)
Definition TimeZoneFormatter.hpp:160
static diplomat::result< std::unique_ptr< icu4x::TimeZoneFormatter >, icu4x::DateTimeFormatterLoadError > create_generic_short_with_provider(const icu4x::DataProvider &provider, const icu4x::Locale &locale)
Definition TimeZoneFormatter.hpp:143
static diplomat::result< std::unique_ptr< icu4x::TimeZoneFormatter >, icu4x::DateTimeFormatterLoadError > create_exemplar_city_with_provider(const icu4x::DataProvider &provider, const icu4x::Locale &locale)
Definition TimeZoneFormatter.hpp:165
static diplomat::result< std::unique_ptr< icu4x::TimeZoneFormatter >, icu4x::DateTimeFormatterLoadError > create_localized_offset_short(const icu4x::Locale &locale)
Definition TimeZoneFormatter.hpp:116
static diplomat::result< std::unique_ptr< icu4x::TimeZoneFormatter >, icu4x::DateTimeFormatterLoadError > create_generic_long_with_provider(const icu4x::DataProvider &provider, const icu4x::Locale &locale)
Definition TimeZoneFormatter.hpp:132
static diplomat::result< std::unique_ptr< icu4x::TimeZoneFormatter >, icu4x::DateTimeFormatterLoadError > create_specific_short_with_provider(const icu4x::DataProvider &provider, const icu4x::Locale &locale)
Definition TimeZoneFormatter.hpp:99
static diplomat::result< std::unique_ptr< icu4x::TimeZoneFormatter >, icu4x::DateTimeFormatterLoadError > create_location(const icu4x::Locale &locale)
Definition TimeZoneFormatter.hpp:149
static diplomat::result< std::unique_ptr< icu4x::TimeZoneFormatter >, icu4x::DateTimeFormatterLoadError > create_specific_long_with_provider(const icu4x::DataProvider &provider, const icu4x::Locale &locale)
Definition TimeZoneFormatter.hpp:88
static diplomat::result< std::unique_ptr< icu4x::TimeZoneFormatter >, icu4x::DateTimeFormatterLoadError > create_specific_long(const icu4x::Locale &locale)
Definition TimeZoneFormatter.hpp:83
static diplomat::result< std::unique_ptr< icu4x::TimeZoneFormatter >, icu4x::DateTimeFormatterLoadError > create_specific_short(const icu4x::Locale &locale)
Definition TimeZoneFormatter.hpp:94
static diplomat::result< std::unique_ptr< icu4x::TimeZoneFormatter >, icu4x::DateTimeFormatterLoadError > create_localized_offset_short_with_provider(const icu4x::DataProvider &provider, const icu4x::Locale &locale)
Definition TimeZoneFormatter.hpp:121
static diplomat::result< std::unique_ptr< icu4x::TimeZoneFormatter >, icu4x::DateTimeFormatterLoadError > create_generic_long(const icu4x::Locale &locale)
Definition TimeZoneFormatter.hpp:127
static diplomat::result< std::unique_ptr< icu4x::TimeZoneFormatter >, icu4x::DateTimeFormatterLoadError > create_generic_short(const icu4x::Locale &locale)
Definition TimeZoneFormatter.hpp:138
Definition TimeZoneInfo.d.hpp:42
Definition Bidi.d.hpp:14
Definition diplomat_runtime.hpp:125
Definition diplomat_runtime.hpp:111