ICU4X
International Components for Unicode
Loading...
Searching...
No Matches
DateTimeFormatter.d.hpp
Go to the documentation of this file.
1#ifndef icu4x_DateTimeFormatter_D_HPP
2#define icu4x_DateTimeFormatter_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>
13
14namespace icu4x {
15namespace capi { struct DataProvider; }
16class DataProvider;
17namespace capi { struct Date; }
18class Date;
19namespace capi { struct DateTimeFormatter; }
21namespace capi { struct IsoDate; }
22class IsoDate;
23namespace capi { struct Locale; }
24class Locale;
25namespace capi { struct Time; }
26class Time;
30class DateTimeLength;
31class TimePrecision;
32class YearStyle;
33}
34
35
36namespace icu4x {
37namespace capi {
38 struct DateTimeFormatter;
39} // namespace capi
40} // namespace
41
42namespace icu4x {
46class DateTimeFormatter {
47public:
48
56 inline static diplomat::result<std::unique_ptr<icu4x::DateTimeFormatter>, icu4x::DateTimeFormatterLoadError> create_dt(const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length, std::optional<icu4x::TimePrecision> time_precision, std::optional<icu4x::DateTimeAlignment> alignment);
57
65 inline static diplomat::result<std::unique_ptr<icu4x::DateTimeFormatter>, icu4x::DateTimeFormatterLoadError> create_dt_with_provider(const icu4x::DataProvider& provider, const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length, std::optional<icu4x::TimePrecision> time_precision, std::optional<icu4x::DateTimeAlignment> alignment);
66
74 inline static diplomat::result<std::unique_ptr<icu4x::DateTimeFormatter>, icu4x::DateTimeFormatterLoadError> create_mdt(const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length, std::optional<icu4x::TimePrecision> time_precision, std::optional<icu4x::DateTimeAlignment> alignment);
75
83 inline static diplomat::result<std::unique_ptr<icu4x::DateTimeFormatter>, icu4x::DateTimeFormatterLoadError> create_mdt_with_provider(const icu4x::DataProvider& provider, const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length, std::optional<icu4x::TimePrecision> time_precision, std::optional<icu4x::DateTimeAlignment> alignment);
84
92 inline static diplomat::result<std::unique_ptr<icu4x::DateTimeFormatter>, icu4x::DateTimeFormatterLoadError> create_ymdt(const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length, std::optional<icu4x::TimePrecision> time_precision, std::optional<icu4x::DateTimeAlignment> alignment, std::optional<icu4x::YearStyle> year_style);
93
101 inline static diplomat::result<std::unique_ptr<icu4x::DateTimeFormatter>, icu4x::DateTimeFormatterLoadError> create_ymdt_with_provider(const icu4x::DataProvider& provider, const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length, std::optional<icu4x::TimePrecision> time_precision, std::optional<icu4x::DateTimeAlignment> alignment, std::optional<icu4x::YearStyle> year_style);
102
110 inline static diplomat::result<std::unique_ptr<icu4x::DateTimeFormatter>, icu4x::DateTimeFormatterLoadError> create_det(const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length, std::optional<icu4x::TimePrecision> time_precision, std::optional<icu4x::DateTimeAlignment> alignment);
111
119 inline static diplomat::result<std::unique_ptr<icu4x::DateTimeFormatter>, icu4x::DateTimeFormatterLoadError> create_det_with_provider(const icu4x::DataProvider& provider, const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length, std::optional<icu4x::TimePrecision> time_precision, std::optional<icu4x::DateTimeAlignment> alignment);
120
128 inline static diplomat::result<std::unique_ptr<icu4x::DateTimeFormatter>, icu4x::DateTimeFormatterLoadError> create_mdet(const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length, std::optional<icu4x::TimePrecision> time_precision, std::optional<icu4x::DateTimeAlignment> alignment);
129
137 inline static diplomat::result<std::unique_ptr<icu4x::DateTimeFormatter>, icu4x::DateTimeFormatterLoadError> create_mdet_with_provider(const icu4x::DataProvider& provider, const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length, std::optional<icu4x::TimePrecision> time_precision, std::optional<icu4x::DateTimeAlignment> alignment);
138
146 inline static diplomat::result<std::unique_ptr<icu4x::DateTimeFormatter>, icu4x::DateTimeFormatterLoadError> create_ymdet(const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length, std::optional<icu4x::TimePrecision> time_precision, std::optional<icu4x::DateTimeAlignment> alignment, std::optional<icu4x::YearStyle> year_style);
147
155 inline static diplomat::result<std::unique_ptr<icu4x::DateTimeFormatter>, icu4x::DateTimeFormatterLoadError> create_ymdet_with_provider(const icu4x::DataProvider& provider, const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length, std::optional<icu4x::TimePrecision> time_precision, std::optional<icu4x::DateTimeAlignment> alignment, std::optional<icu4x::YearStyle> year_style);
156
164 inline static diplomat::result<std::unique_ptr<icu4x::DateTimeFormatter>, icu4x::DateTimeFormatterLoadError> create_et(const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length, std::optional<icu4x::TimePrecision> time_precision, std::optional<icu4x::DateTimeAlignment> alignment);
165
173 inline static diplomat::result<std::unique_ptr<icu4x::DateTimeFormatter>, icu4x::DateTimeFormatterLoadError> create_et_with_provider(const icu4x::DataProvider& provider, const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length, std::optional<icu4x::TimePrecision> time_precision, std::optional<icu4x::DateTimeAlignment> alignment);
174
178 inline std::string format_iso(const icu4x::IsoDate& iso_date, const icu4x::Time& time) const;
179
184
185 inline const icu4x::capi::DateTimeFormatter* AsFFI() const;
186 inline icu4x::capi::DateTimeFormatter* AsFFI();
187 inline static const icu4x::DateTimeFormatter* FromFFI(const icu4x::capi::DateTimeFormatter* ptr);
188 inline static icu4x::DateTimeFormatter* FromFFI(icu4x::capi::DateTimeFormatter* ptr);
189 inline static void operator delete(void* ptr);
190private:
191 DateTimeFormatter() = delete;
192 DateTimeFormatter(const icu4x::DateTimeFormatter&) = delete;
193 DateTimeFormatter(icu4x::DateTimeFormatter&&) noexcept = delete;
194 DateTimeFormatter operator=(const icu4x::DateTimeFormatter&) = delete;
195 DateTimeFormatter operator=(icu4x::DateTimeFormatter&&) noexcept = delete;
196 static void operator delete[](void*, size_t) = delete;
197};
198
199} // namespace
200#endif // icu4x_DateTimeFormatter_D_HPP
Definition diplomat_runtime.hpp:140
Definition DataProvider.d.hpp:40
Definition DateTimeAlignment.d.hpp:30
Definition DateTimeFormatterLoadError.d.hpp:41
Definition DateTimeFormatter.d.hpp:46
static diplomat::result< std::unique_ptr< icu4x::DateTimeFormatter >, icu4x::DateTimeFormatterLoadError > create_det(const icu4x::Locale &locale, std::optional< icu4x::DateTimeLength > length, std::optional< icu4x::TimePrecision > time_precision, std::optional< icu4x::DateTimeAlignment > alignment)
Definition DateTimeFormatter.hpp:138
static diplomat::result< std::unique_ptr< icu4x::DateTimeFormatter >, icu4x::DateTimeFormatterLoadError > create_mdet_with_provider(const icu4x::DataProvider &provider, const icu4x::Locale &locale, std::optional< icu4x::DateTimeLength > length, std::optional< icu4x::TimePrecision > time_precision, std::optional< icu4x::DateTimeAlignment > alignment)
Definition DateTimeFormatter.hpp:163
static diplomat::result< std::unique_ptr< icu4x::DateTimeFormatter >, icu4x::DateTimeFormatterLoadError > create_dt(const icu4x::Locale &locale, std::optional< icu4x::DateTimeLength > length, std::optional< icu4x::TimePrecision > time_precision, std::optional< icu4x::DateTimeAlignment > alignment)
Definition DateTimeFormatter.hpp:85
static diplomat::result< std::unique_ptr< icu4x::DateTimeFormatter >, icu4x::DateTimeFormatterLoadError > create_et_with_provider(const icu4x::DataProvider &provider, const icu4x::Locale &locale, std::optional< icu4x::DateTimeLength > length, std::optional< icu4x::TimePrecision > time_precision, std::optional< icu4x::DateTimeAlignment > alignment)
Definition DateTimeFormatter.hpp:199
static diplomat::result< std::unique_ptr< icu4x::DateTimeFormatter >, icu4x::DateTimeFormatterLoadError > create_et(const icu4x::Locale &locale, std::optional< icu4x::DateTimeLength > length, std::optional< icu4x::TimePrecision > time_precision, std::optional< icu4x::DateTimeAlignment > alignment)
Definition DateTimeFormatter.hpp:191
diplomat::result< std::string, icu4x::DateTimeMismatchedCalendarError > format_same_calendar(const icu4x::Date &date, const icu4x::Time &time) const
Definition DateTimeFormatter.hpp:218
static diplomat::result< std::unique_ptr< icu4x::DateTimeFormatter >, icu4x::DateTimeFormatterLoadError > create_dt_with_provider(const icu4x::DataProvider &provider, const icu4x::Locale &locale, std::optional< icu4x::DateTimeLength > length, std::optional< icu4x::TimePrecision > time_precision, std::optional< icu4x::DateTimeAlignment > alignment)
Definition DateTimeFormatter.hpp:93
static diplomat::result< std::unique_ptr< icu4x::DateTimeFormatter >, icu4x::DateTimeFormatterLoadError > create_ymdet(const icu4x::Locale &locale, std::optional< icu4x::DateTimeLength > length, std::optional< icu4x::TimePrecision > time_precision, std::optional< icu4x::DateTimeAlignment > alignment, std::optional< icu4x::YearStyle > year_style)
Definition DateTimeFormatter.hpp:172
static diplomat::result< std::unique_ptr< icu4x::DateTimeFormatter >, icu4x::DateTimeFormatterLoadError > create_ymdt_with_provider(const icu4x::DataProvider &provider, const icu4x::Locale &locale, std::optional< icu4x::DateTimeLength > length, std::optional< icu4x::TimePrecision > time_precision, std::optional< icu4x::DateTimeAlignment > alignment, std::optional< icu4x::YearStyle > year_style)
Definition DateTimeFormatter.hpp:128
static diplomat::result< std::unique_ptr< icu4x::DateTimeFormatter >, icu4x::DateTimeFormatterLoadError > create_mdt_with_provider(const icu4x::DataProvider &provider, const icu4x::Locale &locale, std::optional< icu4x::DateTimeLength > length, std::optional< icu4x::TimePrecision > time_precision, std::optional< icu4x::DateTimeAlignment > alignment)
Definition DateTimeFormatter.hpp:110
static diplomat::result< std::unique_ptr< icu4x::DateTimeFormatter >, icu4x::DateTimeFormatterLoadError > create_det_with_provider(const icu4x::DataProvider &provider, const icu4x::Locale &locale, std::optional< icu4x::DateTimeLength > length, std::optional< icu4x::TimePrecision > time_precision, std::optional< icu4x::DateTimeAlignment > alignment)
Definition DateTimeFormatter.hpp:146
static diplomat::result< std::unique_ptr< icu4x::DateTimeFormatter >, icu4x::DateTimeFormatterLoadError > create_ymdt(const icu4x::Locale &locale, std::optional< icu4x::DateTimeLength > length, std::optional< icu4x::TimePrecision > time_precision, std::optional< icu4x::DateTimeAlignment > alignment, std::optional< icu4x::YearStyle > year_style)
Definition DateTimeFormatter.hpp:119
static diplomat::result< std::unique_ptr< icu4x::DateTimeFormatter >, icu4x::DateTimeFormatterLoadError > create_mdt(const icu4x::Locale &locale, std::optional< icu4x::DateTimeLength > length, std::optional< icu4x::TimePrecision > time_precision, std::optional< icu4x::DateTimeAlignment > alignment)
Definition DateTimeFormatter.hpp:102
std::string format_iso(const icu4x::IsoDate &iso_date, const icu4x::Time &time) const
Definition DateTimeFormatter.hpp:208
static diplomat::result< std::unique_ptr< icu4x::DateTimeFormatter >, icu4x::DateTimeFormatterLoadError > create_ymdet_with_provider(const icu4x::DataProvider &provider, const icu4x::Locale &locale, std::optional< icu4x::DateTimeLength > length, std::optional< icu4x::TimePrecision > time_precision, std::optional< icu4x::DateTimeAlignment > alignment, std::optional< icu4x::YearStyle > year_style)
Definition DateTimeFormatter.hpp:181
static diplomat::result< std::unique_ptr< icu4x::DateTimeFormatter >, icu4x::DateTimeFormatterLoadError > create_mdet(const icu4x::Locale &locale, std::optional< icu4x::DateTimeLength > length, std::optional< icu4x::TimePrecision > time_precision, std::optional< icu4x::DateTimeAlignment > alignment)
Definition DateTimeFormatter.hpp:155
Definition DateTimeLength.d.hpp:31
Definition Date.d.hpp:39
Definition IsoDate.d.hpp:40
Definition Locale.d.hpp:33
Definition TimePrecision.d.hpp:47
Definition Time.d.hpp:34
Definition YearStyle.d.hpp:31
Definition Bidi.d.hpp:14
Definition DateTimeMismatchedCalendarError.d.hpp:36