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>
12#include "diplomat_runtime.hpp"
13namespace icu4x {
14namespace capi { struct DataProvider; }
15class DataProvider;
16namespace capi { struct Date; }
17class Date;
18namespace capi { struct DateTimeFormatter; }
20namespace capi { struct IsoDate; }
21class IsoDate;
22namespace capi { struct Locale; }
23class Locale;
24namespace capi { struct Time; }
25class Time;
29class DateTimeLength;
30class TimePrecision;
31class YearStyle;
32} // namespace icu4x
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 icu4x::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 icu4x::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 icu4x::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 icu4x::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 icu4x::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 icu4x::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 icu4x::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 icu4x::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 icu4x::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 icu4x::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 icu4x::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 icu4x::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 icu4x::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 icu4x::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 template<typename W>
180 inline void format_iso_write(const icu4x::IsoDate& iso_date, const icu4x::Time& time, W& writeable_output) const;
181
186 template<typename W>
188
189 inline const icu4x::capi::DateTimeFormatter* AsFFI() const;
190 inline icu4x::capi::DateTimeFormatter* AsFFI();
191 inline static const icu4x::DateTimeFormatter* FromFFI(const icu4x::capi::DateTimeFormatter* ptr);
192 inline static icu4x::DateTimeFormatter* FromFFI(icu4x::capi::DateTimeFormatter* ptr);
193 inline static void operator delete(void* ptr);
194private:
195 DateTimeFormatter() = delete;
196 DateTimeFormatter(const icu4x::DateTimeFormatter&) = delete;
197 DateTimeFormatter(icu4x::DateTimeFormatter&&) noexcept = delete;
198 DateTimeFormatter operator=(const icu4x::DateTimeFormatter&) = delete;
199 DateTimeFormatter operator=(icu4x::DateTimeFormatter&&) noexcept = delete;
200 static void operator delete[](void*, size_t) = delete;
201};
202
203} // namespace
204#endif // ICU4X_DateTimeFormatter_D_HPP
Definition DataProvider.d.hpp:40
Definition DateTimeAlignment.d.hpp:30
Definition DateTimeFormatterLoadError.d.hpp:41
Definition DateTimeFormatter.d.hpp:46
static icu4x::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
static icu4x::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 icu4x::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 icu4x::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
static icu4x::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
icu4x::diplomat::result< std::string, icu4x::DateTimeMismatchedCalendarError > format_same_calendar(const icu4x::Date &date, const icu4x::Time &time) const
Definition DateTimeFormatter.hpp:226
static icu4x::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
void format_iso_write(const icu4x::IsoDate &iso_date, const icu4x::Time &time, W &writeable_output) const
Definition DateTimeFormatter.hpp:218
static icu4x::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
std::string format_iso(const icu4x::IsoDate &iso_date, const icu4x::Time &time) const
Definition DateTimeFormatter.hpp:208
icu4x::diplomat::result< std::monostate, icu4x::DateTimeMismatchedCalendarError > format_same_calendar_write(const icu4x::Date &date, const icu4x::Time &time, W &writeable_output) const
Definition DateTimeFormatter.hpp:236
static icu4x::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 icu4x::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 icu4x::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 icu4x::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 icu4x::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 icu4x::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 icu4x::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
Definition DateTimeLength.d.hpp:31
Definition Date.d.hpp:42
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 diplomat_runtime.hpp:166
Definition Bidi.d.hpp:13
Definition DateTimeMismatchedCalendarError.d.hpp:36