1#ifndef icu4x_IanaParser_HPP
2#define icu4x_IanaParser_HPP
25 icu4x::capi::IanaParser* icu4x_IanaParser_create_mv1(
void);
27 typedef struct icu4x_IanaParser_create_with_provider_mv1_result {
union {icu4x::capi::IanaParser* ok; icu4x::capi::DataError err;};
bool is_ok;} icu4x_IanaParser_create_with_provider_mv1_result;
28 icu4x_IanaParser_create_with_provider_mv1_result icu4x_IanaParser_create_with_provider_mv1(
const icu4x::capi::DataProvider* provider);
30 icu4x::capi::TimeZone* icu4x_IanaParser_parse_mv1(
const icu4x::capi::IanaParser* self, diplomat::capi::DiplomatStringView value);
32 icu4x::capi::TimeZoneIterator* icu4x_IanaParser_iter_mv1(
const icu4x::capi::IanaParser* self);
34 void icu4x_IanaParser_destroy_mv1(IanaParser* self);
41 auto result = icu4x::capi::icu4x_IanaParser_create_mv1();
42 return std::unique_ptr<icu4x::IanaParser>(icu4x::IanaParser::FromFFI(result));
46 auto result = icu4x::capi::icu4x_IanaParser_create_with_provider_mv1(provider.AsFFI());
51 auto result = icu4x::capi::icu4x_IanaParser_parse_mv1(this->AsFFI(),
52 {value.data(), value.size()});
53 return std::unique_ptr<icu4x::TimeZone>(icu4x::TimeZone::FromFFI(result));
57 auto result = icu4x::capi::icu4x_IanaParser_iter_mv1(this->AsFFI());
58 return std::unique_ptr<icu4x::TimeZoneIterator>(icu4x::TimeZoneIterator::FromFFI(result));
61inline const icu4x::capi::IanaParser* icu4x::IanaParser::AsFFI()
const {
62 return reinterpret_cast<const icu4x::capi::IanaParser*
>(
this);
65inline icu4x::capi::IanaParser* icu4x::IanaParser::AsFFI() {
66 return reinterpret_cast<icu4x::capi::IanaParser*
>(
this);
69inline const icu4x::IanaParser* icu4x::IanaParser::FromFFI(
const icu4x::capi::IanaParser* ptr) {
70 return reinterpret_cast<const icu4x::IanaParser*
>(ptr);
73inline icu4x::IanaParser* icu4x::IanaParser::FromFFI(icu4x::capi::IanaParser* ptr) {
74 return reinterpret_cast<icu4x::IanaParser*
>(ptr);
77inline void icu4x::IanaParser::operator
delete(
void* ptr) {
78 icu4x::capi::icu4x_IanaParser_destroy_mv1(
reinterpret_cast<icu4x::capi::IanaParser*
>(ptr));
Definition diplomat_runtime.hpp:140
Definition DataError.d.hpp:37
Definition DataProvider.d.hpp:40
std::unique_ptr< icu4x::TimeZone > parse(std::string_view value) const
Definition IanaParser.hpp:50
static diplomat::result< std::unique_ptr< icu4x::IanaParser >, icu4x::DataError > create_with_provider(const icu4x::DataProvider &provider)
Definition IanaParser.hpp:45
std::unique_ptr< icu4x::TimeZoneIterator > iter() const
Definition IanaParser.hpp:56
static std::unique_ptr< icu4x::IanaParser > create()
Definition IanaParser.hpp:40
Definition diplomat_runtime.hpp:125
Definition diplomat_runtime.hpp:111