1#ifndef icu4x_TimeFormatter_HPP
2#define icu4x_TimeFormatter_HPP
28 typedef struct icu4x_TimeFormatter_create_mv1_result {
union {icu4x::capi::TimeFormatter* ok; icu4x::capi::DateTimeFormatterLoadError err;};
bool is_ok;} icu4x_TimeFormatter_create_mv1_result;
29 icu4x_TimeFormatter_create_mv1_result icu4x_TimeFormatter_create_mv1(
const icu4x::capi::Locale* locale, icu4x::capi::DateTimeLength_option length, icu4x::capi::TimePrecision_option time_precision, icu4x::capi::DateTimeAlignment_option alignment);
31 typedef struct icu4x_TimeFormatter_create_with_provider_mv1_result {
union {icu4x::capi::TimeFormatter* ok; icu4x::capi::DateTimeFormatterLoadError err;};
bool is_ok;} icu4x_TimeFormatter_create_with_provider_mv1_result;
32 icu4x_TimeFormatter_create_with_provider_mv1_result icu4x_TimeFormatter_create_with_provider_mv1(
const icu4x::capi::DataProvider* provider,
const icu4x::capi::Locale* locale, icu4x::capi::DateTimeLength_option length, icu4x::capi::TimePrecision_option time_precision, icu4x::capi::DateTimeAlignment_option alignment);
34 void icu4x_TimeFormatter_format_mv1(
const icu4x::capi::TimeFormatter* self,
const icu4x::capi::Time* time, diplomat::capi::DiplomatWrite* write);
36 void icu4x_TimeFormatter_destroy_mv1(TimeFormatter* self);
43 auto result = icu4x::capi::icu4x_TimeFormatter_create_mv1(locale.AsFFI(),
44 length.has_value() ? (icu4x::capi::DateTimeLength_option{ { length.value().AsFFI() },
true }) : (
icu4x::capi::DateTimeLength_option{ {},
false }),
45 time_precision.has_value() ? (icu4x::capi::TimePrecision_option{ { time_precision.value().AsFFI() },
true }) : (icu4x::capi::TimePrecision_option{ {},
false }),
46 alignment.has_value() ? (icu4x::capi::DateTimeAlignment_option{ { alignment.value().AsFFI() },
true }) : (icu4x::capi::DateTimeAlignment_option{ {},
false }));
51 auto result = icu4x::capi::icu4x_TimeFormatter_create_with_provider_mv1(provider.AsFFI(),
53 length.has_value() ? (icu4x::capi::DateTimeLength_option{ { length.value().AsFFI() },
true }) : (
icu4x::capi::DateTimeLength_option{ {},
false }),
54 time_precision.has_value() ? (icu4x::capi::TimePrecision_option{ { time_precision.value().AsFFI() },
true }) : (icu4x::capi::TimePrecision_option{ {},
false }),
55 alignment.has_value() ? (icu4x::capi::DateTimeAlignment_option{ { alignment.value().AsFFI() },
true }) : (icu4x::capi::DateTimeAlignment_option{ {},
false }));
61 diplomat::capi::DiplomatWrite write = diplomat::WriteFromString(output);
62 icu4x::capi::icu4x_TimeFormatter_format_mv1(this->AsFFI(),
68inline const icu4x::capi::TimeFormatter* icu4x::TimeFormatter::AsFFI()
const {
69 return reinterpret_cast<const icu4x::capi::TimeFormatter*
>(
this);
72inline icu4x::capi::TimeFormatter* icu4x::TimeFormatter::AsFFI() {
73 return reinterpret_cast<icu4x::capi::TimeFormatter*
>(
this);
76inline const icu4x::TimeFormatter* icu4x::TimeFormatter::FromFFI(
const icu4x::capi::TimeFormatter* ptr) {
77 return reinterpret_cast<const icu4x::TimeFormatter*
>(ptr);
80inline icu4x::TimeFormatter* icu4x::TimeFormatter::FromFFI(icu4x::capi::TimeFormatter* ptr) {
81 return reinterpret_cast<icu4x::TimeFormatter*
>(ptr);
84inline void icu4x::TimeFormatter::operator
delete(
void* ptr) {
85 icu4x::capi::icu4x_TimeFormatter_destroy_mv1(
reinterpret_cast<icu4x::capi::TimeFormatter*
>(ptr));
Definition diplomat_runtime.hpp:140
Definition DataProvider.d.hpp:40
Definition Locale.d.hpp:33