ICU4X
International Components for Unicode
Loading...
Searching...
No Matches
ZonedDateFormatter.hpp
Go to the documentation of this file.
1#ifndef ICU4X_ZonedDateFormatter_HPP
2#define ICU4X_ZonedDateFormatter_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>
14#include "DataProvider.hpp"
15#include "Date.hpp"
16#include "DateFormatter.hpp"
20#include "IsoDate.hpp"
21#include "Locale.hpp"
22#include "TimeZoneInfo.hpp"
23#include "diplomat_runtime.hpp"
24
25
26namespace icu4x {
27namespace capi {
28 extern "C" {
29
30 typedef struct icu4x_ZonedDateFormatter_create_specific_long_mv1_result {union {icu4x::capi::ZonedDateFormatter* ok; icu4x::capi::DateTimeFormatterLoadError err;}; bool is_ok;} icu4x_ZonedDateFormatter_create_specific_long_mv1_result;
31 icu4x_ZonedDateFormatter_create_specific_long_mv1_result icu4x_ZonedDateFormatter_create_specific_long_mv1(const icu4x::capi::Locale* locale, const icu4x::capi::DateFormatter* formatter);
32
33 typedef struct icu4x_ZonedDateFormatter_create_specific_long_with_provider_mv1_result {union {icu4x::capi::ZonedDateFormatter* ok; icu4x::capi::DateTimeFormatterLoadError err;}; bool is_ok;} icu4x_ZonedDateFormatter_create_specific_long_with_provider_mv1_result;
34 icu4x_ZonedDateFormatter_create_specific_long_with_provider_mv1_result icu4x_ZonedDateFormatter_create_specific_long_with_provider_mv1(const icu4x::capi::DataProvider* provider, const icu4x::capi::Locale* locale, const icu4x::capi::DateFormatter* formatter);
35
36 typedef struct icu4x_ZonedDateFormatter_create_specific_short_mv1_result {union {icu4x::capi::ZonedDateFormatter* ok; icu4x::capi::DateTimeFormatterLoadError err;}; bool is_ok;} icu4x_ZonedDateFormatter_create_specific_short_mv1_result;
37 icu4x_ZonedDateFormatter_create_specific_short_mv1_result icu4x_ZonedDateFormatter_create_specific_short_mv1(const icu4x::capi::Locale* locale, const icu4x::capi::DateFormatter* formatter);
38
39 typedef struct icu4x_ZonedDateFormatter_create_specific_short_with_provider_mv1_result {union {icu4x::capi::ZonedDateFormatter* ok; icu4x::capi::DateTimeFormatterLoadError err;}; bool is_ok;} icu4x_ZonedDateFormatter_create_specific_short_with_provider_mv1_result;
40 icu4x_ZonedDateFormatter_create_specific_short_with_provider_mv1_result icu4x_ZonedDateFormatter_create_specific_short_with_provider_mv1(const icu4x::capi::DataProvider* provider, const icu4x::capi::Locale* locale, const icu4x::capi::DateFormatter* formatter);
41
42 typedef struct icu4x_ZonedDateFormatter_create_localized_offset_long_mv1_result {union {icu4x::capi::ZonedDateFormatter* ok; icu4x::capi::DateTimeFormatterLoadError err;}; bool is_ok;} icu4x_ZonedDateFormatter_create_localized_offset_long_mv1_result;
43 icu4x_ZonedDateFormatter_create_localized_offset_long_mv1_result icu4x_ZonedDateFormatter_create_localized_offset_long_mv1(const icu4x::capi::Locale* locale, const icu4x::capi::DateFormatter* formatter);
44
45 typedef struct icu4x_ZonedDateFormatter_create_localized_offset_long_with_provider_mv1_result {union {icu4x::capi::ZonedDateFormatter* ok; icu4x::capi::DateTimeFormatterLoadError err;}; bool is_ok;} icu4x_ZonedDateFormatter_create_localized_offset_long_with_provider_mv1_result;
46 icu4x_ZonedDateFormatter_create_localized_offset_long_with_provider_mv1_result icu4x_ZonedDateFormatter_create_localized_offset_long_with_provider_mv1(const icu4x::capi::DataProvider* provider, const icu4x::capi::Locale* locale, const icu4x::capi::DateFormatter* formatter);
47
48 typedef struct icu4x_ZonedDateFormatter_create_localized_offset_short_mv1_result {union {icu4x::capi::ZonedDateFormatter* ok; icu4x::capi::DateTimeFormatterLoadError err;}; bool is_ok;} icu4x_ZonedDateFormatter_create_localized_offset_short_mv1_result;
49 icu4x_ZonedDateFormatter_create_localized_offset_short_mv1_result icu4x_ZonedDateFormatter_create_localized_offset_short_mv1(const icu4x::capi::Locale* locale, const icu4x::capi::DateFormatter* formatter);
50
51 typedef struct icu4x_ZonedDateFormatter_create_localized_offset_short_with_provider_mv1_result {union {icu4x::capi::ZonedDateFormatter* ok; icu4x::capi::DateTimeFormatterLoadError err;}; bool is_ok;} icu4x_ZonedDateFormatter_create_localized_offset_short_with_provider_mv1_result;
52 icu4x_ZonedDateFormatter_create_localized_offset_short_with_provider_mv1_result icu4x_ZonedDateFormatter_create_localized_offset_short_with_provider_mv1(const icu4x::capi::DataProvider* provider, const icu4x::capi::Locale* locale, const icu4x::capi::DateFormatter* formatter);
53
54 typedef struct icu4x_ZonedDateFormatter_create_generic_long_mv1_result {union {icu4x::capi::ZonedDateFormatter* ok; icu4x::capi::DateTimeFormatterLoadError err;}; bool is_ok;} icu4x_ZonedDateFormatter_create_generic_long_mv1_result;
55 icu4x_ZonedDateFormatter_create_generic_long_mv1_result icu4x_ZonedDateFormatter_create_generic_long_mv1(const icu4x::capi::Locale* locale, const icu4x::capi::DateFormatter* formatter);
56
57 typedef struct icu4x_ZonedDateFormatter_create_generic_long_with_provider_mv1_result {union {icu4x::capi::ZonedDateFormatter* ok; icu4x::capi::DateTimeFormatterLoadError err;}; bool is_ok;} icu4x_ZonedDateFormatter_create_generic_long_with_provider_mv1_result;
58 icu4x_ZonedDateFormatter_create_generic_long_with_provider_mv1_result icu4x_ZonedDateFormatter_create_generic_long_with_provider_mv1(const icu4x::capi::DataProvider* provider, const icu4x::capi::Locale* locale, const icu4x::capi::DateFormatter* formatter);
59
60 typedef struct icu4x_ZonedDateFormatter_create_generic_short_mv1_result {union {icu4x::capi::ZonedDateFormatter* ok; icu4x::capi::DateTimeFormatterLoadError err;}; bool is_ok;} icu4x_ZonedDateFormatter_create_generic_short_mv1_result;
61 icu4x_ZonedDateFormatter_create_generic_short_mv1_result icu4x_ZonedDateFormatter_create_generic_short_mv1(const icu4x::capi::Locale* locale, const icu4x::capi::DateFormatter* formatter);
62
63 typedef struct icu4x_ZonedDateFormatter_create_generic_short_with_provider_mv1_result {union {icu4x::capi::ZonedDateFormatter* ok; icu4x::capi::DateTimeFormatterLoadError err;}; bool is_ok;} icu4x_ZonedDateFormatter_create_generic_short_with_provider_mv1_result;
64 icu4x_ZonedDateFormatter_create_generic_short_with_provider_mv1_result icu4x_ZonedDateFormatter_create_generic_short_with_provider_mv1(const icu4x::capi::DataProvider* provider, const icu4x::capi::Locale* locale, const icu4x::capi::DateFormatter* formatter);
65
66 typedef struct icu4x_ZonedDateFormatter_create_location_mv1_result {union {icu4x::capi::ZonedDateFormatter* ok; icu4x::capi::DateTimeFormatterLoadError err;}; bool is_ok;} icu4x_ZonedDateFormatter_create_location_mv1_result;
67 icu4x_ZonedDateFormatter_create_location_mv1_result icu4x_ZonedDateFormatter_create_location_mv1(const icu4x::capi::Locale* locale, const icu4x::capi::DateFormatter* formatter);
68
69 typedef struct icu4x_ZonedDateFormatter_create_location_with_provider_mv1_result {union {icu4x::capi::ZonedDateFormatter* ok; icu4x::capi::DateTimeFormatterLoadError err;}; bool is_ok;} icu4x_ZonedDateFormatter_create_location_with_provider_mv1_result;
70 icu4x_ZonedDateFormatter_create_location_with_provider_mv1_result icu4x_ZonedDateFormatter_create_location_with_provider_mv1(const icu4x::capi::DataProvider* provider, const icu4x::capi::Locale* locale, const icu4x::capi::DateFormatter* formatter);
71
72 typedef struct icu4x_ZonedDateFormatter_create_exemplar_city_mv1_result {union {icu4x::capi::ZonedDateFormatter* ok; icu4x::capi::DateTimeFormatterLoadError err;}; bool is_ok;} icu4x_ZonedDateFormatter_create_exemplar_city_mv1_result;
73 icu4x_ZonedDateFormatter_create_exemplar_city_mv1_result icu4x_ZonedDateFormatter_create_exemplar_city_mv1(const icu4x::capi::Locale* locale, const icu4x::capi::DateFormatter* formatter);
74
75 typedef struct icu4x_ZonedDateFormatter_create_exemplar_city_with_provider_mv1_result {union {icu4x::capi::ZonedDateFormatter* ok; icu4x::capi::DateTimeFormatterLoadError err;}; bool is_ok;} icu4x_ZonedDateFormatter_create_exemplar_city_with_provider_mv1_result;
76 icu4x_ZonedDateFormatter_create_exemplar_city_with_provider_mv1_result icu4x_ZonedDateFormatter_create_exemplar_city_with_provider_mv1(const icu4x::capi::DataProvider* provider, const icu4x::capi::Locale* locale, const icu4x::capi::DateFormatter* formatter);
77
78 typedef struct icu4x_ZonedDateFormatter_format_iso_mv1_result {union { icu4x::capi::DateTimeWriteError err;}; bool is_ok;} icu4x_ZonedDateFormatter_format_iso_mv1_result;
79 icu4x_ZonedDateFormatter_format_iso_mv1_result icu4x_ZonedDateFormatter_format_iso_mv1(const icu4x::capi::ZonedDateFormatter* self, const icu4x::capi::IsoDate* iso_date, const icu4x::capi::TimeZoneInfo* zone, icu4x::diplomat::capi::DiplomatWrite* write);
80
81 typedef struct icu4x_ZonedDateFormatter_format_same_calendar_mv1_result {union { icu4x::capi::DateTimeMismatchedCalendarError err;}; bool is_ok;} icu4x_ZonedDateFormatter_format_same_calendar_mv1_result;
82 icu4x_ZonedDateFormatter_format_same_calendar_mv1_result icu4x_ZonedDateFormatter_format_same_calendar_mv1(const icu4x::capi::ZonedDateFormatter* self, const icu4x::capi::Date* date, const icu4x::capi::TimeZoneInfo* zone, icu4x::diplomat::capi::DiplomatWrite* write);
83
84 void icu4x_ZonedDateFormatter_destroy_mv1(ZonedDateFormatter* self);
85
86 } // extern "C"
87} // namespace capi
88} // namespace
89
91 auto result = icu4x::capi::icu4x_ZonedDateFormatter_create_specific_long_mv1(locale.AsFFI(),
92 formatter.AsFFI());
94}
95
97 auto result = icu4x::capi::icu4x_ZonedDateFormatter_create_specific_long_with_provider_mv1(provider.AsFFI(),
98 locale.AsFFI(),
99 formatter.AsFFI());
101}
102
104 auto result = icu4x::capi::icu4x_ZonedDateFormatter_create_specific_short_mv1(locale.AsFFI(),
105 formatter.AsFFI());
107}
108
110 auto result = icu4x::capi::icu4x_ZonedDateFormatter_create_specific_short_with_provider_mv1(provider.AsFFI(),
111 locale.AsFFI(),
112 formatter.AsFFI());
114}
115
117 auto result = icu4x::capi::icu4x_ZonedDateFormatter_create_localized_offset_long_mv1(locale.AsFFI(),
118 formatter.AsFFI());
120}
121
123 auto result = icu4x::capi::icu4x_ZonedDateFormatter_create_localized_offset_long_with_provider_mv1(provider.AsFFI(),
124 locale.AsFFI(),
125 formatter.AsFFI());
127}
128
130 auto result = icu4x::capi::icu4x_ZonedDateFormatter_create_localized_offset_short_mv1(locale.AsFFI(),
131 formatter.AsFFI());
133}
134
136 auto result = icu4x::capi::icu4x_ZonedDateFormatter_create_localized_offset_short_with_provider_mv1(provider.AsFFI(),
137 locale.AsFFI(),
138 formatter.AsFFI());
140}
141
143 auto result = icu4x::capi::icu4x_ZonedDateFormatter_create_generic_long_mv1(locale.AsFFI(),
144 formatter.AsFFI());
146}
147
149 auto result = icu4x::capi::icu4x_ZonedDateFormatter_create_generic_long_with_provider_mv1(provider.AsFFI(),
150 locale.AsFFI(),
151 formatter.AsFFI());
153}
154
156 auto result = icu4x::capi::icu4x_ZonedDateFormatter_create_generic_short_mv1(locale.AsFFI(),
157 formatter.AsFFI());
159}
160
162 auto result = icu4x::capi::icu4x_ZonedDateFormatter_create_generic_short_with_provider_mv1(provider.AsFFI(),
163 locale.AsFFI(),
164 formatter.AsFFI());
166}
167
169 auto result = icu4x::capi::icu4x_ZonedDateFormatter_create_location_mv1(locale.AsFFI(),
170 formatter.AsFFI());
172}
173
175 auto result = icu4x::capi::icu4x_ZonedDateFormatter_create_location_with_provider_mv1(provider.AsFFI(),
176 locale.AsFFI(),
177 formatter.AsFFI());
179}
180
182 auto result = icu4x::capi::icu4x_ZonedDateFormatter_create_exemplar_city_mv1(locale.AsFFI(),
183 formatter.AsFFI());
185}
186
188 auto result = icu4x::capi::icu4x_ZonedDateFormatter_create_exemplar_city_with_provider_mv1(provider.AsFFI(),
189 locale.AsFFI(),
190 formatter.AsFFI());
192}
193
195 std::string output;
196 icu4x::diplomat::capi::DiplomatWrite write = icu4x::diplomat::WriteFromString(output);
197 auto result = icu4x::capi::icu4x_ZonedDateFormatter_format_iso_mv1(this->AsFFI(),
198 iso_date.AsFFI(),
199 zone.AsFFI(),
200 &write);
202}
203template<typename W>
205 icu4x::diplomat::capi::DiplomatWrite write = icu4x::diplomat::WriteTrait<W>::Construct(writeable);
206 auto result = icu4x::capi::icu4x_ZonedDateFormatter_format_iso_mv1(this->AsFFI(),
207 iso_date.AsFFI(),
208 zone.AsFFI(),
209 &write);
211}
212
214 std::string output;
215 icu4x::diplomat::capi::DiplomatWrite write = icu4x::diplomat::WriteFromString(output);
216 auto result = icu4x::capi::icu4x_ZonedDateFormatter_format_same_calendar_mv1(this->AsFFI(),
217 date.AsFFI(),
218 zone.AsFFI(),
219 &write);
221}
222template<typename W>
224 icu4x::diplomat::capi::DiplomatWrite write = icu4x::diplomat::WriteTrait<W>::Construct(writeable);
225 auto result = icu4x::capi::icu4x_ZonedDateFormatter_format_same_calendar_mv1(this->AsFFI(),
226 date.AsFFI(),
227 zone.AsFFI(),
228 &write);
230}
231
232inline const icu4x::capi::ZonedDateFormatter* icu4x::ZonedDateFormatter::AsFFI() const {
233 return reinterpret_cast<const icu4x::capi::ZonedDateFormatter*>(this);
234}
235
236inline icu4x::capi::ZonedDateFormatter* icu4x::ZonedDateFormatter::AsFFI() {
237 return reinterpret_cast<icu4x::capi::ZonedDateFormatter*>(this);
238}
239
240inline const icu4x::ZonedDateFormatter* icu4x::ZonedDateFormatter::FromFFI(const icu4x::capi::ZonedDateFormatter* ptr) {
241 return reinterpret_cast<const icu4x::ZonedDateFormatter*>(ptr);
242}
243
244inline icu4x::ZonedDateFormatter* icu4x::ZonedDateFormatter::FromFFI(icu4x::capi::ZonedDateFormatter* ptr) {
245 return reinterpret_cast<icu4x::ZonedDateFormatter*>(ptr);
246}
247
248inline void icu4x::ZonedDateFormatter::operator delete(void* ptr) {
249 icu4x::capi::icu4x_ZonedDateFormatter_destroy_mv1(reinterpret_cast<icu4x::capi::ZonedDateFormatter*>(ptr));
250}
251
252
253#endif // ICU4X_ZonedDateFormatter_HPP
Definition DataProvider.d.hpp:40
Definition DateFormatter.d.hpp:43
Definition DateTimeFormatterLoadError.d.hpp:41
Definition Date.d.hpp:47
Definition IsoDate.d.hpp:44
Definition Locale.d.hpp:33
Definition TimeZoneInfo.d.hpp:44
static icu4x::diplomat::result< std::unique_ptr< icu4x::ZonedDateFormatter >, icu4x::DateTimeFormatterLoadError > create_location_with_provider(const icu4x::DataProvider &provider, const icu4x::Locale &locale, const icu4x::DateFormatter &formatter)
Definition ZonedDateFormatter.hpp:174
static icu4x::diplomat::result< std::unique_ptr< icu4x::ZonedDateFormatter >, icu4x::DateTimeFormatterLoadError > create_specific_long_with_provider(const icu4x::DataProvider &provider, const icu4x::Locale &locale, const icu4x::DateFormatter &formatter)
Definition ZonedDateFormatter.hpp:96
static icu4x::diplomat::result< std::unique_ptr< icu4x::ZonedDateFormatter >, icu4x::DateTimeFormatterLoadError > create_exemplar_city_with_provider(const icu4x::DataProvider &provider, const icu4x::Locale &locale, const icu4x::DateFormatter &formatter)
Definition ZonedDateFormatter.hpp:187
static icu4x::diplomat::result< std::unique_ptr< icu4x::ZonedDateFormatter >, icu4x::DateTimeFormatterLoadError > create_generic_long(const icu4x::Locale &locale, const icu4x::DateFormatter &formatter)
Definition ZonedDateFormatter.hpp:142
static icu4x::diplomat::result< std::unique_ptr< icu4x::ZonedDateFormatter >, icu4x::DateTimeFormatterLoadError > create_specific_short(const icu4x::Locale &locale, const icu4x::DateFormatter &formatter)
Definition ZonedDateFormatter.hpp:103
static icu4x::diplomat::result< std::unique_ptr< icu4x::ZonedDateFormatter >, icu4x::DateTimeFormatterLoadError > create_generic_long_with_provider(const icu4x::DataProvider &provider, const icu4x::Locale &locale, const icu4x::DateFormatter &formatter)
Definition ZonedDateFormatter.hpp:148
static icu4x::diplomat::result< std::unique_ptr< icu4x::ZonedDateFormatter >, icu4x::DateTimeFormatterLoadError > create_localized_offset_short_with_provider(const icu4x::DataProvider &provider, const icu4x::Locale &locale, const icu4x::DateFormatter &formatter)
Definition ZonedDateFormatter.hpp:135
static icu4x::diplomat::result< std::unique_ptr< icu4x::ZonedDateFormatter >, icu4x::DateTimeFormatterLoadError > create_specific_long(const icu4x::Locale &locale, const icu4x::DateFormatter &formatter)
Definition ZonedDateFormatter.hpp:90
static icu4x::diplomat::result< std::unique_ptr< icu4x::ZonedDateFormatter >, icu4x::DateTimeFormatterLoadError > create_localized_offset_long(const icu4x::Locale &locale, const icu4x::DateFormatter &formatter)
Definition ZonedDateFormatter.hpp:116
icu4x::diplomat::result< std::string, icu4x::DateTimeWriteError > format_iso(const icu4x::IsoDate &iso_date, const icu4x::TimeZoneInfo &zone) const
Definition ZonedDateFormatter.hpp:194
static icu4x::diplomat::result< std::unique_ptr< icu4x::ZonedDateFormatter >, icu4x::DateTimeFormatterLoadError > create_localized_offset_short(const icu4x::Locale &locale, const icu4x::DateFormatter &formatter)
Definition ZonedDateFormatter.hpp:129
icu4x::diplomat::result< std::monostate, icu4x::DateTimeWriteError > format_iso_write(const icu4x::IsoDate &iso_date, const icu4x::TimeZoneInfo &zone, W &writeable_output) const
Definition ZonedDateFormatter.hpp:204
icu4x::diplomat::result< std::monostate, icu4x::DateTimeMismatchedCalendarError > format_same_calendar_write(const icu4x::Date &date, const icu4x::TimeZoneInfo &zone, W &writeable_output) const
Definition ZonedDateFormatter.hpp:223
static icu4x::diplomat::result< std::unique_ptr< icu4x::ZonedDateFormatter >, icu4x::DateTimeFormatterLoadError > create_generic_short_with_provider(const icu4x::DataProvider &provider, const icu4x::Locale &locale, const icu4x::DateFormatter &formatter)
Definition ZonedDateFormatter.hpp:161
static icu4x::diplomat::result< std::unique_ptr< icu4x::ZonedDateFormatter >, icu4x::DateTimeFormatterLoadError > create_localized_offset_long_with_provider(const icu4x::DataProvider &provider, const icu4x::Locale &locale, const icu4x::DateFormatter &formatter)
Definition ZonedDateFormatter.hpp:122
icu4x::diplomat::result< std::string, icu4x::DateTimeMismatchedCalendarError > format_same_calendar(const icu4x::Date &date, const icu4x::TimeZoneInfo &zone) const
Definition ZonedDateFormatter.hpp:213
static icu4x::diplomat::result< std::unique_ptr< icu4x::ZonedDateFormatter >, icu4x::DateTimeFormatterLoadError > create_generic_short(const icu4x::Locale &locale, const icu4x::DateFormatter &formatter)
Definition ZonedDateFormatter.hpp:155
static icu4x::diplomat::result< std::unique_ptr< icu4x::ZonedDateFormatter >, icu4x::DateTimeFormatterLoadError > create_exemplar_city(const icu4x::Locale &locale, const icu4x::DateFormatter &formatter)
Definition ZonedDateFormatter.hpp:181
static icu4x::diplomat::result< std::unique_ptr< icu4x::ZonedDateFormatter >, icu4x::DateTimeFormatterLoadError > create_location(const icu4x::Locale &locale, const icu4x::DateFormatter &formatter)
Definition ZonedDateFormatter.hpp:168
static icu4x::diplomat::result< std::unique_ptr< icu4x::ZonedDateFormatter >, icu4x::DateTimeFormatterLoadError > create_specific_short_with_provider(const icu4x::DataProvider &provider, const icu4x::Locale &locale, const icu4x::DateFormatter &formatter)
Definition ZonedDateFormatter.hpp:109
Definition diplomat_runtime.hpp:166
Definition Bidi.d.hpp:13
Definition diplomat_runtime.hpp:146
Definition diplomat_runtime.hpp:128
Definition diplomat_runtime.hpp:117