1#ifndef icu4x_PluralRules_HPP
2#define icu4x_PluralRules_HPP
27 typedef struct icu4x_PluralRules_create_cardinal_mv1_result {
union {icu4x::capi::PluralRules* ok; icu4x::capi::DataError err;};
bool is_ok;} icu4x_PluralRules_create_cardinal_mv1_result;
28 icu4x_PluralRules_create_cardinal_mv1_result icu4x_PluralRules_create_cardinal_mv1(
const icu4x::capi::Locale* locale);
30 typedef struct icu4x_PluralRules_create_cardinal_with_provider_mv1_result {
union {icu4x::capi::PluralRules* ok; icu4x::capi::DataError err;};
bool is_ok;} icu4x_PluralRules_create_cardinal_with_provider_mv1_result;
31 icu4x_PluralRules_create_cardinal_with_provider_mv1_result icu4x_PluralRules_create_cardinal_with_provider_mv1(
const icu4x::capi::DataProvider* provider,
const icu4x::capi::Locale* locale);
33 typedef struct icu4x_PluralRules_create_ordinal_mv1_result {
union {icu4x::capi::PluralRules* ok; icu4x::capi::DataError err;};
bool is_ok;} icu4x_PluralRules_create_ordinal_mv1_result;
34 icu4x_PluralRules_create_ordinal_mv1_result icu4x_PluralRules_create_ordinal_mv1(
const icu4x::capi::Locale* locale);
36 typedef struct icu4x_PluralRules_create_ordinal_with_provider_mv1_result {
union {icu4x::capi::PluralRules* ok; icu4x::capi::DataError err;};
bool is_ok;} icu4x_PluralRules_create_ordinal_with_provider_mv1_result;
37 icu4x_PluralRules_create_ordinal_with_provider_mv1_result icu4x_PluralRules_create_ordinal_with_provider_mv1(
const icu4x::capi::DataProvider* provider,
const icu4x::capi::Locale* locale);
39 icu4x::capi::PluralCategory icu4x_PluralRules_category_for_mv1(
const icu4x::capi::PluralRules* self,
const icu4x::capi::PluralOperands* op);
41 icu4x::capi::PluralCategories icu4x_PluralRules_categories_mv1(
const icu4x::capi::PluralRules* self);
43 void icu4x_PluralRules_destroy_mv1(PluralRules* self);
50 auto result = icu4x::capi::icu4x_PluralRules_create_cardinal_mv1(locale.AsFFI());
55 auto result = icu4x::capi::icu4x_PluralRules_create_cardinal_with_provider_mv1(provider.AsFFI(),
61 auto result = icu4x::capi::icu4x_PluralRules_create_ordinal_mv1(locale.AsFFI());
66 auto result = icu4x::capi::icu4x_PluralRules_create_ordinal_with_provider_mv1(provider.AsFFI(),
72 auto result = icu4x::capi::icu4x_PluralRules_category_for_mv1(this->AsFFI(),
74 return icu4x::PluralCategory::FromFFI(result);
78 auto result = icu4x::capi::icu4x_PluralRules_categories_mv1(this->AsFFI());
79 return icu4x::PluralCategories::FromFFI(result);
82inline const icu4x::capi::PluralRules* icu4x::PluralRules::AsFFI()
const {
83 return reinterpret_cast<const icu4x::capi::PluralRules*
>(
this);
86inline icu4x::capi::PluralRules* icu4x::PluralRules::AsFFI() {
87 return reinterpret_cast<icu4x::capi::PluralRules*
>(
this);
90inline const icu4x::PluralRules* icu4x::PluralRules::FromFFI(
const icu4x::capi::PluralRules* ptr) {
91 return reinterpret_cast<const icu4x::PluralRules*
>(ptr);
94inline icu4x::PluralRules* icu4x::PluralRules::FromFFI(icu4x::capi::PluralRules* ptr) {
95 return reinterpret_cast<icu4x::PluralRules*
>(ptr);
98inline void icu4x::PluralRules::operator
delete(
void* ptr) {
99 icu4x::capi::icu4x_PluralRules_destroy_mv1(
reinterpret_cast<icu4x::capi::PluralRules*
>(ptr));
Definition diplomat_runtime.hpp:140
Definition DataError.d.hpp:37
Definition DataProvider.d.hpp:40
Definition Locale.d.hpp:33
Definition PluralCategory.d.hpp:38
Definition PluralOperands.d.hpp:33
static diplomat::result< std::unique_ptr< icu4x::PluralRules >, icu4x::DataError > create_cardinal(const icu4x::Locale &locale)
Definition PluralRules.hpp:49
static diplomat::result< std::unique_ptr< icu4x::PluralRules >, icu4x::DataError > create_ordinal_with_provider(const icu4x::DataProvider &provider, const icu4x::Locale &locale)
Definition PluralRules.hpp:65
static diplomat::result< std::unique_ptr< icu4x::PluralRules >, icu4x::DataError > create_cardinal_with_provider(const icu4x::DataProvider &provider, const icu4x::Locale &locale)
Definition PluralRules.hpp:54
static diplomat::result< std::unique_ptr< icu4x::PluralRules >, icu4x::DataError > create_ordinal(const icu4x::Locale &locale)
Definition PluralRules.hpp:60
icu4x::PluralCategories categories() const
Definition PluralRules.hpp:77
icu4x::PluralCategory category_for(const icu4x::PluralOperands &op) const
Definition PluralRules.hpp:71
Definition diplomat_runtime.hpp:125
Definition diplomat_runtime.hpp:111
Definition PluralCategories.d.hpp:32