ICU4X
International Components for Unicode
Loading...
Searching...
No Matches
DateTimeRangeFormatter.d.hpp
Go to the documentation of this file.
1#ifndef ICU4X_DateTimeRangeFormatter_D_HPP
2#define ICU4X_DateTimeRangeFormatter_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 DateTimeRangeFormatter; }
19class DateTimeRangeFormatter;
20namespace capi { struct IsoDate; }
21class IsoDate;
22namespace capi { struct Locale; }
23class Locale;
24namespace capi { struct Time; }
25class Time;
26class DateTimeAlignment;
27class DateTimeFormatterLoadError;
28class DateTimeLength;
29class TimePrecision;
30class YearStyle;
31} // namespace icu4x
32
33
34
35namespace icu4x {
36namespace capi {
37 struct DateTimeRangeFormatter;
38} // namespace capi
39} // namespace
40
41namespace icu4x {
46public:
47
55 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateTimeRangeFormatter>, icu4x::DateTimeFormatterLoadError> create_dt(const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length, std::optional<icu4x::TimePrecision> time_precision, std::optional<icu4x::DateTimeAlignment> alignment);
56
64 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateTimeRangeFormatter>, 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);
65
73 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateTimeRangeFormatter>, icu4x::DateTimeFormatterLoadError> create_mdt(const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length, std::optional<icu4x::TimePrecision> time_precision, std::optional<icu4x::DateTimeAlignment> alignment);
74
82 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateTimeRangeFormatter>, 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);
83
91 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateTimeRangeFormatter>, 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);
92
100 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateTimeRangeFormatter>, 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);
101
109 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateTimeRangeFormatter>, icu4x::DateTimeFormatterLoadError> create_det(const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length, std::optional<icu4x::TimePrecision> time_precision, std::optional<icu4x::DateTimeAlignment> alignment);
110
118 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateTimeRangeFormatter>, 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);
119
127 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateTimeRangeFormatter>, icu4x::DateTimeFormatterLoadError> create_mdet(const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length, std::optional<icu4x::TimePrecision> time_precision, std::optional<icu4x::DateTimeAlignment> alignment);
128
136 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateTimeRangeFormatter>, 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);
137
145 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateTimeRangeFormatter>, 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);
146
154 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateTimeRangeFormatter>, 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);
155
163 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateTimeRangeFormatter>, icu4x::DateTimeFormatterLoadError> create_et(const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length, std::optional<icu4x::TimePrecision> time_precision, std::optional<icu4x::DateTimeAlignment> alignment);
164
172 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::DateTimeRangeFormatter>, 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);
173
177 inline std::string format_iso(const icu4x::IsoDate& start_iso_date, const icu4x::Time& start_time, const icu4x::IsoDate& end_iso_date, const icu4x::Time& end_time) const;
178 template<typename W>
179 inline void format_iso_write(const icu4x::IsoDate& start_iso_date, const icu4x::Time& start_time, const icu4x::IsoDate& end_iso_date, const icu4x::Time& end_time, W& writeable_output) const;
180
184 inline std::string format_same_calendar(const icu4x::Date& start_date, const icu4x::Time& start_time, const icu4x::Date& end_date, const icu4x::Time& end_time) const;
185 template<typename W>
186 inline void format_same_calendar_write(const icu4x::Date& start_date, const icu4x::Time& start_time, const icu4x::Date& end_date, const icu4x::Time& end_time, W& writeable_output) const;
187
188 inline const icu4x::capi::DateTimeRangeFormatter* AsFFI() const;
189 inline icu4x::capi::DateTimeRangeFormatter* AsFFI();
190 inline static const icu4x::DateTimeRangeFormatter* FromFFI(const icu4x::capi::DateTimeRangeFormatter* ptr);
191 inline static icu4x::DateTimeRangeFormatter* FromFFI(icu4x::capi::DateTimeRangeFormatter* ptr);
192 inline static void operator delete(void* ptr);
193private:
194 DateTimeRangeFormatter() = delete;
197 DateTimeRangeFormatter operator=(const icu4x::DateTimeRangeFormatter&) = delete;
198 DateTimeRangeFormatter operator=(icu4x::DateTimeRangeFormatter&&) noexcept = delete;
199 static void operator delete[](void*, size_t) = delete;
200};
201
202} // namespace
203#endif // ICU4X_DateTimeRangeFormatter_D_HPP
Definition DataProvider.d.hpp:40
Definition DateTimeFormatterLoadError.d.hpp:41
Definition DateTimeRangeFormatter.d.hpp:45
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateTimeRangeFormatter >, 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 DateTimeRangeFormatter.hpp:189
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateTimeRangeFormatter >, 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 DateTimeRangeFormatter.hpp:179
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateTimeRangeFormatter >, 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 DateTimeRangeFormatter.hpp:108
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateTimeRangeFormatter >, 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 DateTimeRangeFormatter.hpp:144
void format_iso_write(const icu4x::IsoDate &start_iso_date, const icu4x::Time &start_time, const icu4x::IsoDate &end_iso_date, const icu4x::Time &end_time, W &writeable_output) const
Definition DateTimeRangeFormatter.hpp:218
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateTimeRangeFormatter >, 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 DateTimeRangeFormatter.hpp:117
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateTimeRangeFormatter >, 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 DateTimeRangeFormatter.hpp:197
void format_same_calendar_write(const icu4x::Date &start_date, const icu4x::Time &start_time, const icu4x::Date &end_date, const icu4x::Time &end_time, W &writeable_output) const
Definition DateTimeRangeFormatter.hpp:240
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateTimeRangeFormatter >, 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 DateTimeRangeFormatter.hpp:100
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateTimeRangeFormatter >, 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 DateTimeRangeFormatter.hpp:126
std::string format_same_calendar(const icu4x::Date &start_date, const icu4x::Time &start_time, const icu4x::Date &end_date, const icu4x::Time &end_time) const
Definition DateTimeRangeFormatter.hpp:228
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateTimeRangeFormatter >, 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 DateTimeRangeFormatter.hpp:153
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateTimeRangeFormatter >, 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 DateTimeRangeFormatter.hpp:83
std::string format_iso(const icu4x::IsoDate &start_iso_date, const icu4x::Time &start_time, const icu4x::IsoDate &end_iso_date, const icu4x::Time &end_time) const
Definition DateTimeRangeFormatter.hpp:206
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateTimeRangeFormatter >, 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 DateTimeRangeFormatter.hpp:136
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateTimeRangeFormatter >, 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 DateTimeRangeFormatter.hpp:161
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateTimeRangeFormatter >, 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 DateTimeRangeFormatter.hpp:91
static icu4x::diplomat::result< std::unique_ptr< icu4x::DateTimeRangeFormatter >, 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 DateTimeRangeFormatter.hpp:170
Definition Date.d.hpp:47
Definition IsoDate.d.hpp:44
Definition Locale.d.hpp:33
Definition Time.d.hpp:34
Definition Bidi.d.hpp:13
Definition diplomat_runtime.hpp:164