ICU4X
International Components for Unicode
Loading...
Searching...
No Matches
TimeFormatter.d.hpp
Go to the documentation of this file.
1#ifndef ICU4X_TimeFormatter_D_HPP
2#define ICU4X_TimeFormatter_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 Locale; }
17class Locale;
18namespace capi { struct Time; }
19class Time;
20namespace capi { struct TimeFormatter; }
21class TimeFormatter;
24class DateTimeLength;
25class TimePrecision;
26} // namespace icu4x
27
28
29
30namespace icu4x {
31namespace capi {
32 struct TimeFormatter;
33} // namespace capi
34} // namespace
35
36namespace icu4x {
40class TimeFormatter {
41public:
42
50 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::TimeFormatter>, icu4x::DateTimeFormatterLoadError> create(const icu4x::Locale& locale, std::optional<icu4x::DateTimeLength> length, std::optional<icu4x::TimePrecision> time_precision, std::optional<icu4x::DateTimeAlignment> alignment);
51
59 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::TimeFormatter>, icu4x::DateTimeFormatterLoadError> create_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);
60
64 inline std::string format(const icu4x::Time& time) const;
65 template<typename W>
66 inline void format_write(const icu4x::Time& time, W& writeable_output) const;
67
68 inline const icu4x::capi::TimeFormatter* AsFFI() const;
69 inline icu4x::capi::TimeFormatter* AsFFI();
70 inline static const icu4x::TimeFormatter* FromFFI(const icu4x::capi::TimeFormatter* ptr);
71 inline static icu4x::TimeFormatter* FromFFI(icu4x::capi::TimeFormatter* ptr);
72 inline static void operator delete(void* ptr);
73private:
74 TimeFormatter() = delete;
75 TimeFormatter(const icu4x::TimeFormatter&) = delete;
76 TimeFormatter(icu4x::TimeFormatter&&) noexcept = delete;
77 TimeFormatter operator=(const icu4x::TimeFormatter&) = delete;
78 TimeFormatter operator=(icu4x::TimeFormatter&&) noexcept = delete;
79 static void operator delete[](void*, size_t) = delete;
80};
81
82} // namespace
83#endif // ICU4X_TimeFormatter_D_HPP
Definition DataProvider.d.hpp:40
Definition DateTimeAlignment.d.hpp:30
Definition DateTimeFormatterLoadError.d.hpp:41
Definition DateTimeLength.d.hpp:31
Definition Locale.d.hpp:33
Definition TimeFormatter.d.hpp:40
void format_write(const icu4x::Time &time, W &writeable_output) const
Definition TimeFormatter.hpp:68
static icu4x::diplomat::result< std::unique_ptr< icu4x::TimeFormatter >, icu4x::DateTimeFormatterLoadError > create_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 TimeFormatter.hpp:50
static icu4x::diplomat::result< std::unique_ptr< icu4x::TimeFormatter >, icu4x::DateTimeFormatterLoadError > create(const icu4x::Locale &locale, std::optional< icu4x::DateTimeLength > length, std::optional< icu4x::TimePrecision > time_precision, std::optional< icu4x::DateTimeAlignment > alignment)
Definition TimeFormatter.hpp:42
std::string format(const icu4x::Time &time) const
Definition TimeFormatter.hpp:59
Definition TimePrecision.d.hpp:47
Definition Time.d.hpp:34
Definition diplomat_runtime.hpp:166
Definition Bidi.d.hpp:13