ICU4X
International Components for Unicode
Loading...
Searching...
No Matches
DateRangeFormatter.d.hpp
Go to the documentation of this file.
1#ifndef ICU4X_DateRangeFormatter_D_HPP
2#define ICU4X_DateRangeFormatter_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 DateRangeFormatter; }
19class DateRangeFormatter;
20namespace capi { struct IsoDate; }
21class IsoDate;
22namespace capi { struct Locale; }
23class Locale;
24class DateTimeAlignment;
25class DateTimeFormatterLoadError;
26class DateTimeLength;
27class YearStyle;
28} // namespace icu4x
29
30
31
32namespace icu4x {
33namespace capi {
34 struct DateRangeFormatter;
35} // namespace capi
36} // namespace
37
38namespace icu4x {
45public:
46
56 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateRangeFormatter>, icu4x::DateTimeFormatterLoadError> create_d(const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length, std::optional<icu4x::DateTimeAlignment> alignment);
57
67 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateRangeFormatter>, icu4x::DateTimeFormatterLoadError> create_d_with_provider(const icu4x::DataProvider& provider, const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length, std::optional<icu4x::DateTimeAlignment> alignment);
68
78 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateRangeFormatter>, icu4x::DateTimeFormatterLoadError> create_md(const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length, std::optional<icu4x::DateTimeAlignment> alignment);
79
89 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateRangeFormatter>, icu4x::DateTimeFormatterLoadError> create_md_with_provider(const icu4x::DataProvider& provider, const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length, std::optional<icu4x::DateTimeAlignment> alignment);
90
100 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateRangeFormatter>, icu4x::DateTimeFormatterLoadError> create_ymd(const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length, std::optional<icu4x::DateTimeAlignment> alignment, std::optional<icu4x::YearStyle> year_style);
101
111 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateRangeFormatter>, 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);
112
122 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateRangeFormatter>, icu4x::DateTimeFormatterLoadError> create_de(const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length, std::optional<icu4x::DateTimeAlignment> alignment);
123
133 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateRangeFormatter>, icu4x::DateTimeFormatterLoadError> create_de_with_provider(const icu4x::DataProvider& provider, const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length, std::optional<icu4x::DateTimeAlignment> alignment);
134
144 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateRangeFormatter>, icu4x::DateTimeFormatterLoadError> create_mde(const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length, std::optional<icu4x::DateTimeAlignment> alignment);
145
155 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateRangeFormatter>, icu4x::DateTimeFormatterLoadError> create_mde_with_provider(const icu4x::DataProvider& provider, const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length, std::optional<icu4x::DateTimeAlignment> alignment);
156
166 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateRangeFormatter>, icu4x::DateTimeFormatterLoadError> create_ymde(const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length, std::optional<icu4x::DateTimeAlignment> alignment, std::optional<icu4x::YearStyle> year_style);
167
177 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateRangeFormatter>, 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);
178
188 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateRangeFormatter>, icu4x::DateTimeFormatterLoadError> create_e(const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length);
189
199 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateRangeFormatter>, icu4x::DateTimeFormatterLoadError> create_e_with_provider(const icu4x::DataProvider& provider, const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length);
200
210 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateRangeFormatter>, icu4x::DateTimeFormatterLoadError> create_m(const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length, std::optional<icu4x::DateTimeAlignment> alignment);
211
221 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateRangeFormatter>, icu4x::DateTimeFormatterLoadError> create_m_with_provider(const icu4x::DataProvider& provider, const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length, std::optional<icu4x::DateTimeAlignment> alignment);
222
232 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateRangeFormatter>, icu4x::DateTimeFormatterLoadError> create_ym(const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length, std::optional<icu4x::DateTimeAlignment> alignment, std::optional<icu4x::YearStyle> year_style);
233
243 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateRangeFormatter>, 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);
244
254 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateRangeFormatter>, icu4x::DateTimeFormatterLoadError> create_y(const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length, std::optional<icu4x::DateTimeAlignment> alignment, std::optional<icu4x::YearStyle> year_style);
255
265 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateRangeFormatter>, 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);
266
272 inline std::string format_iso(const icu4x::IsoDate& start_iso_date, const icu4x::IsoDate& end_iso_date) const;
273 template<typename W>
274 inline void format_iso_write(const icu4x::IsoDate& start_iso_date, const icu4x::IsoDate& end_iso_date, W& writeable_output) const;
275
281 inline std::string format_same_calendar(const icu4x::Date& start_date, const icu4x::Date& end_date) const;
282 template<typename W>
283 inline void format_same_calendar_write(const icu4x::Date& start_date, const icu4x::Date& end_date, W& writeable_output) const;
284
285 inline const icu4x::capi::DateRangeFormatter* AsFFI() const;
286 inline icu4x::capi::DateRangeFormatter* AsFFI();
287 inline static const icu4x::DateRangeFormatter* FromFFI(const icu4x::capi::DateRangeFormatter* ptr);
288 inline static icu4x::DateRangeFormatter* FromFFI(icu4x::capi::DateRangeFormatter* ptr);
289 inline static void operator delete(void* ptr);
290private:
291 DateRangeFormatter() = delete;
294 DateRangeFormatter operator=(const icu4x::DateRangeFormatter&) = delete;
295 DateRangeFormatter operator=(icu4x::DateRangeFormatter&&) noexcept = delete;
296 static void operator delete[](void*, size_t) = delete;
297};
298
299} // namespace
300#endif // ICU4X_DateRangeFormatter_D_HPP
Definition DataProvider.d.hpp:40
Definition DateRangeFormatter.d.hpp:44
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateRangeFormatter >, 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 DateRangeFormatter.hpp:221
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateRangeFormatter >, icu4x::DateTimeFormatterLoadError > create_d(const icu4x::Locale &locale, std::optional< icu4x::DateTimeLength > length, std::optional< icu4x::DateTimeAlignment > alignment)
Definition DateRangeFormatter.hpp:99
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateRangeFormatter >, 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 DateRangeFormatter.hpp:184
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateRangeFormatter >, icu4x::DateTimeFormatterLoadError > create_md(const icu4x::Locale &locale, std::optional< icu4x::DateTimeLength > length, std::optional< icu4x::DateTimeAlignment > alignment)
Definition DateRangeFormatter.hpp:114
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateRangeFormatter >, 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 DateRangeFormatter.hpp:168
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateRangeFormatter >, 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 DateRangeFormatter.hpp:246
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateRangeFormatter >, 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 DateRangeFormatter.hpp:213
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateRangeFormatter >, icu4x::DateTimeFormatterLoadError > create_m(const icu4x::Locale &locale, std::optional< icu4x::DateTimeLength > length, std::optional< icu4x::DateTimeAlignment > alignment)
Definition DateRangeFormatter.hpp:206
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateRangeFormatter >, 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 DateRangeFormatter.hpp:129
std::string format_iso(const icu4x::IsoDate &start_iso_date, const icu4x::IsoDate &end_iso_date) const
Definition DateRangeFormatter.hpp:255
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateRangeFormatter >, 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 DateRangeFormatter.hpp:153
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateRangeFormatter >, icu4x::DateTimeFormatterLoadError > create_e_with_provider(const icu4x::DataProvider &provider, const icu4x::Locale &locale, std::optional< icu4x::DateTimeLength > length)
Definition DateRangeFormatter.hpp:199
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateRangeFormatter >, 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 DateRangeFormatter.hpp:121
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateRangeFormatter >, icu4x::DateTimeFormatterLoadError > create_e(const icu4x::Locale &locale, std::optional< icu4x::DateTimeLength > length)
Definition DateRangeFormatter.hpp:193
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateRangeFormatter >, icu4x::DateTimeFormatterLoadError > create_de(const icu4x::Locale &locale, std::optional< icu4x::DateTimeLength > length, std::optional< icu4x::DateTimeAlignment > alignment)
Definition DateRangeFormatter.hpp:146
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateRangeFormatter >, 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 DateRangeFormatter.hpp:238
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateRangeFormatter >, 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 DateRangeFormatter.hpp:137
void format_iso_write(const icu4x::IsoDate &start_iso_date, const icu4x::IsoDate &end_iso_date, W &writeable_output) const
Definition DateRangeFormatter.hpp:265
void format_same_calendar_write(const icu4x::Date &start_date, const icu4x::Date &end_date, W &writeable_output) const
Definition DateRangeFormatter.hpp:283
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateRangeFormatter >, 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 DateRangeFormatter.hpp:229
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateRangeFormatter >, 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 DateRangeFormatter.hpp:176
std::string format_same_calendar(const icu4x::Date &start_date, const icu4x::Date &end_date) const
Definition DateRangeFormatter.hpp:273
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateRangeFormatter >, icu4x::DateTimeFormatterLoadError > create_mde(const icu4x::Locale &locale, std::optional< icu4x::DateTimeLength > length, std::optional< icu4x::DateTimeAlignment > alignment)
Definition DateRangeFormatter.hpp:161
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateRangeFormatter >, 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 DateRangeFormatter.hpp:106
Definition DateTimeFormatterLoadError.d.hpp:41
Definition Date.d.hpp:47
Definition IsoDate.d.hpp:44
Definition Locale.d.hpp:33
Definition Bidi.d.hpp:13
Definition diplomat_runtime.hpp:243