ICU4X
International Components for Unicode
Loading...
Searching...
No Matches
DateFormatter.d.hpp
Go to the documentation of this file.
1#ifndef ICU4X_DateFormatter_D_HPP
2#define ICU4X_DateFormatter_D_HPP
3
4#include <stdio.h>
5#include <stdint.h>
6#include <stddef.h>
7#include <stdbool.h>
8#include <memory>
9#include <functional>
10#include <optional>
11#include <cstdlib>
12#include "diplomat_runtime.hpp"
13namespace icu4x {
14namespace capi { struct DataProvider; }
15class DataProvider;
16namespace capi { struct Date; }
17class Date;
18namespace capi { struct DateFormatter; }
19class DateFormatter;
20namespace capi { struct IsoDate; }
21class IsoDate;
22namespace capi { struct Locale; }
23class Locale;
27class DateTimeLength;
28class YearStyle;
29} // namespace icu4x
30
31
32
33namespace icu4x {
34namespace capi {
35 struct DateFormatter;
36} // namespace capi
37} // namespace
38
39namespace icu4x {
43class DateFormatter {
44public:
45
53 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateFormatter>, icu4x::DateTimeFormatterLoadError> create_d(const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length, std::optional<icu4x::DateTimeAlignment> alignment);
54
62 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateFormatter>, icu4x::DateTimeFormatterLoadError> create_d_with_provider(const icu4x::DataProvider& provider, const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length, std::optional<icu4x::DateTimeAlignment> alignment);
63
71 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateFormatter>, icu4x::DateTimeFormatterLoadError> create_md(const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length, std::optional<icu4x::DateTimeAlignment> alignment);
72
80 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateFormatter>, icu4x::DateTimeFormatterLoadError> create_md_with_provider(const icu4x::DataProvider& provider, const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length, std::optional<icu4x::DateTimeAlignment> alignment);
81
89 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateFormatter>, icu4x::DateTimeFormatterLoadError> create_ymd(const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length, std::optional<icu4x::DateTimeAlignment> alignment, std::optional<icu4x::YearStyle> year_style);
90
98 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateFormatter>, icu4x::DateTimeFormatterLoadError> create_ymd_with_provider(const icu4x::DataProvider& provider, const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length, std::optional<icu4x::DateTimeAlignment> alignment, std::optional<icu4x::YearStyle> year_style);
99
107 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateFormatter>, icu4x::DateTimeFormatterLoadError> create_de(const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length, std::optional<icu4x::DateTimeAlignment> alignment);
108
116 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateFormatter>, icu4x::DateTimeFormatterLoadError> create_de_with_provider(const icu4x::DataProvider& provider, const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length, std::optional<icu4x::DateTimeAlignment> alignment);
117
125 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateFormatter>, icu4x::DateTimeFormatterLoadError> create_mde(const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length, std::optional<icu4x::DateTimeAlignment> alignment);
126
134 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateFormatter>, icu4x::DateTimeFormatterLoadError> create_mde_with_provider(const icu4x::DataProvider& provider, const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length, std::optional<icu4x::DateTimeAlignment> alignment);
135
143 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateFormatter>, icu4x::DateTimeFormatterLoadError> create_ymde(const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length, std::optional<icu4x::DateTimeAlignment> alignment, std::optional<icu4x::YearStyle> year_style);
144
152 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateFormatter>, icu4x::DateTimeFormatterLoadError> create_ymde_with_provider(const icu4x::DataProvider& provider, const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length, std::optional<icu4x::DateTimeAlignment> alignment, std::optional<icu4x::YearStyle> year_style);
153
161 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateFormatter>, icu4x::DateTimeFormatterLoadError> create_e(const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length);
162
170 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateFormatter>, icu4x::DateTimeFormatterLoadError> create_e_with_provider(const icu4x::DataProvider& provider, const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length);
171
179 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateFormatter>, icu4x::DateTimeFormatterLoadError> create_m(const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length, std::optional<icu4x::DateTimeAlignment> alignment);
180
188 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateFormatter>, icu4x::DateTimeFormatterLoadError> create_m_with_provider(const icu4x::DataProvider& provider, const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length, std::optional<icu4x::DateTimeAlignment> alignment);
189
197 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateFormatter>, icu4x::DateTimeFormatterLoadError> create_ym(const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length, std::optional<icu4x::DateTimeAlignment> alignment, std::optional<icu4x::YearStyle> year_style);
198
206 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateFormatter>, icu4x::DateTimeFormatterLoadError> create_ym_with_provider(const icu4x::DataProvider& provider, const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length, std::optional<icu4x::DateTimeAlignment> alignment, std::optional<icu4x::YearStyle> year_style);
207
215 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateFormatter>, icu4x::DateTimeFormatterLoadError> create_y(const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length, std::optional<icu4x::DateTimeAlignment> alignment, std::optional<icu4x::YearStyle> year_style);
216
224 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateFormatter>, icu4x::DateTimeFormatterLoadError> create_y_with_provider(const icu4x::DataProvider& provider, const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length, std::optional<icu4x::DateTimeAlignment> alignment, std::optional<icu4x::YearStyle> year_style);
225
229 inline std::string format_iso(const icu4x::IsoDate& iso_date) const;
230 template<typename W>
231 inline void format_iso_write(const icu4x::IsoDate& iso_date, W& writeable_output) const;
232
237 template<typename W>
239
240 inline const icu4x::capi::DateFormatter* AsFFI() const;
241 inline icu4x::capi::DateFormatter* AsFFI();
242 inline static const icu4x::DateFormatter* FromFFI(const icu4x::capi::DateFormatter* ptr);
243 inline static icu4x::DateFormatter* FromFFI(icu4x::capi::DateFormatter* ptr);
244 inline static void operator delete(void* ptr);
245private:
246 DateFormatter() = delete;
247 DateFormatter(const icu4x::DateFormatter&) = delete;
248 DateFormatter(icu4x::DateFormatter&&) noexcept = delete;
249 DateFormatter operator=(const icu4x::DateFormatter&) = delete;
250 DateFormatter operator=(icu4x::DateFormatter&&) noexcept = delete;
251 static void operator delete[](void*, size_t) = delete;
252};
253
254} // namespace
255#endif // ICU4X_DateFormatter_D_HPP
Definition DataProvider.d.hpp:40
Definition DateFormatter.d.hpp:43
icu4x::diplomat::result< std::string, icu4x::DateTimeMismatchedCalendarError > format_same_calendar(const icu4x::Date &date) const
Definition DateFormatter.hpp:273
void format_iso_write(const icu4x::IsoDate &iso_date, W &writeable_output) const
Definition DateFormatter.hpp:266
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateFormatter >, icu4x::DateTimeFormatterLoadError > create_mde_with_provider(const icu4x::DataProvider &provider, const icu4x::Locale &locale, std::optional< icu4x::DateTimeLength > length, std::optional< icu4x::DateTimeAlignment > alignment)
Definition DateFormatter.hpp:170
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateFormatter >, icu4x::DateTimeFormatterLoadError > create_e(const icu4x::Locale &locale, std::optional< icu4x::DateTimeLength > length)
Definition DateFormatter.hpp:195
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateFormatter >, icu4x::DateTimeFormatterLoadError > create_ym_with_provider(const icu4x::DataProvider &provider, const icu4x::Locale &locale, std::optional< icu4x::DateTimeLength > length, std::optional< icu4x::DateTimeAlignment > alignment, std::optional< icu4x::YearStyle > year_style)
Definition DateFormatter.hpp:231
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateFormatter >, icu4x::DateTimeFormatterLoadError > create_md(const icu4x::Locale &locale, std::optional< icu4x::DateTimeLength > length, std::optional< icu4x::DateTimeAlignment > alignment)
Definition DateFormatter.hpp:116
std::string format_iso(const icu4x::IsoDate &iso_date) const
Definition DateFormatter.hpp:257
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateFormatter >, icu4x::DateTimeFormatterLoadError > create_y(const icu4x::Locale &locale, std::optional< icu4x::DateTimeLength > length, std::optional< icu4x::DateTimeAlignment > alignment, std::optional< icu4x::YearStyle > year_style)
Definition DateFormatter.hpp:240
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateFormatter >, icu4x::DateTimeFormatterLoadError > create_y_with_provider(const icu4x::DataProvider &provider, const icu4x::Locale &locale, std::optional< icu4x::DateTimeLength > length, std::optional< icu4x::DateTimeAlignment > alignment, std::optional< icu4x::YearStyle > year_style)
Definition DateFormatter.hpp:248
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateFormatter >, icu4x::DateTimeFormatterLoadError > create_ymd(const icu4x::Locale &locale, std::optional< icu4x::DateTimeLength > length, std::optional< icu4x::DateTimeAlignment > alignment, std::optional< icu4x::YearStyle > year_style)
Definition DateFormatter.hpp:131
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateFormatter >, icu4x::DateTimeFormatterLoadError > create_d_with_provider(const icu4x::DataProvider &provider, const icu4x::Locale &locale, std::optional< icu4x::DateTimeLength > length, std::optional< icu4x::DateTimeAlignment > alignment)
Definition DateFormatter.hpp:108
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateFormatter >, icu4x::DateTimeFormatterLoadError > create_de(const icu4x::Locale &locale, std::optional< icu4x::DateTimeLength > length, std::optional< icu4x::DateTimeAlignment > alignment)
Definition DateFormatter.hpp:148
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateFormatter >, icu4x::DateTimeFormatterLoadError > create_md_with_provider(const icu4x::DataProvider &provider, const icu4x::Locale &locale, std::optional< icu4x::DateTimeLength > length, std::optional< icu4x::DateTimeAlignment > alignment)
Definition DateFormatter.hpp:123
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateFormatter >, icu4x::DateTimeFormatterLoadError > create_de_with_provider(const icu4x::DataProvider &provider, const icu4x::Locale &locale, std::optional< icu4x::DateTimeLength > length, std::optional< icu4x::DateTimeAlignment > alignment)
Definition DateFormatter.hpp:155
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateFormatter >, icu4x::DateTimeFormatterLoadError > create_ymd_with_provider(const icu4x::DataProvider &provider, const icu4x::Locale &locale, std::optional< icu4x::DateTimeLength > length, std::optional< icu4x::DateTimeAlignment > alignment, std::optional< icu4x::YearStyle > year_style)
Definition DateFormatter.hpp:139
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateFormatter >, icu4x::DateTimeFormatterLoadError > create_ym(const icu4x::Locale &locale, std::optional< icu4x::DateTimeLength > length, std::optional< icu4x::DateTimeAlignment > alignment, std::optional< icu4x::YearStyle > year_style)
Definition DateFormatter.hpp:223
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateFormatter >, icu4x::DateTimeFormatterLoadError > create_d(const icu4x::Locale &locale, std::optional< icu4x::DateTimeLength > length, std::optional< icu4x::DateTimeAlignment > alignment)
Definition DateFormatter.hpp:101
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateFormatter >, icu4x::DateTimeFormatterLoadError > create_mde(const icu4x::Locale &locale, std::optional< icu4x::DateTimeLength > length, std::optional< icu4x::DateTimeAlignment > alignment)
Definition DateFormatter.hpp:163
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateFormatter >, icu4x::DateTimeFormatterLoadError > create_ymde(const icu4x::Locale &locale, std::optional< icu4x::DateTimeLength > length, std::optional< icu4x::DateTimeAlignment > alignment, std::optional< icu4x::YearStyle > year_style)
Definition DateFormatter.hpp:178
icu4x::diplomat::result< std::monostate, icu4x::DateTimeMismatchedCalendarError > format_same_calendar_write(const icu4x::Date &date, W &writeable_output) const
Definition DateFormatter.hpp:282
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateFormatter >, icu4x::DateTimeFormatterLoadError > create_ymde_with_provider(const icu4x::DataProvider &provider, const icu4x::Locale &locale, std::optional< icu4x::DateTimeLength > length, std::optional< icu4x::DateTimeAlignment > alignment, std::optional< icu4x::YearStyle > year_style)
Definition DateFormatter.hpp:186
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateFormatter >, icu4x::DateTimeFormatterLoadError > create_e_with_provider(const icu4x::DataProvider &provider, const icu4x::Locale &locale, std::optional< icu4x::DateTimeLength > length)
Definition DateFormatter.hpp:201
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateFormatter >, icu4x::DateTimeFormatterLoadError > create_m(const icu4x::Locale &locale, std::optional< icu4x::DateTimeLength > length, std::optional< icu4x::DateTimeAlignment > alignment)
Definition DateFormatter.hpp:208
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateFormatter >, icu4x::DateTimeFormatterLoadError > create_m_with_provider(const icu4x::DataProvider &provider, const icu4x::Locale &locale, std::optional< icu4x::DateTimeLength > length, std::optional< icu4x::DateTimeAlignment > alignment)
Definition DateFormatter.hpp:215
Definition DateTimeAlignment.d.hpp:30
Definition DateTimeFormatterLoadError.d.hpp:41
Definition DateTimeLength.d.hpp:31
Definition Date.d.hpp:42
Definition IsoDate.d.hpp:40
Definition Locale.d.hpp:33
Definition YearStyle.d.hpp:31
Definition diplomat_runtime.hpp:166
Definition Bidi.d.hpp:13
Definition DateTimeMismatchedCalendarError.d.hpp:36