ICU4X
International Components for Unicode
Loading...
Searching...
No Matches
PluralRulesWithRanges.hpp
Go to the documentation of this file.
1#ifndef ICU4X_PluralRulesWithRanges_HPP
2#define ICU4X_PluralRulesWithRanges_HPP
3
5
6#include <stdio.h>
7#include <stdint.h>
8#include <stddef.h>
9#include <stdbool.h>
10#include <memory>
11#include <functional>
12#include <optional>
13#include <cstdlib>
14#include "DataError.hpp"
15#include "DataProvider.hpp"
16#include "Locale.hpp"
17#include "PluralCategories.hpp"
18#include "PluralCategory.hpp"
19#include "PluralOperands.hpp"
20#include "diplomat_runtime.hpp"
21
22
23namespace icu4x {
24namespace capi {
25 extern "C" {
26
27 typedef struct icu4x_PluralRulesWithRanges_create_cardinal_mv1_result {union {icu4x::capi::PluralRulesWithRanges* ok; icu4x::capi::DataError err;}; bool is_ok;} icu4x_PluralRulesWithRanges_create_cardinal_mv1_result;
28 icu4x_PluralRulesWithRanges_create_cardinal_mv1_result icu4x_PluralRulesWithRanges_create_cardinal_mv1(const icu4x::capi::Locale* locale);
29
30 typedef struct icu4x_PluralRulesWithRanges_create_cardinal_with_provider_mv1_result {union {icu4x::capi::PluralRulesWithRanges* ok; icu4x::capi::DataError err;}; bool is_ok;} icu4x_PluralRulesWithRanges_create_cardinal_with_provider_mv1_result;
31 icu4x_PluralRulesWithRanges_create_cardinal_with_provider_mv1_result icu4x_PluralRulesWithRanges_create_cardinal_with_provider_mv1(const icu4x::capi::DataProvider* provider, const icu4x::capi::Locale* locale);
32
33 typedef struct icu4x_PluralRulesWithRanges_create_ordinal_mv1_result {union {icu4x::capi::PluralRulesWithRanges* ok; icu4x::capi::DataError err;}; bool is_ok;} icu4x_PluralRulesWithRanges_create_ordinal_mv1_result;
34 icu4x_PluralRulesWithRanges_create_ordinal_mv1_result icu4x_PluralRulesWithRanges_create_ordinal_mv1(const icu4x::capi::Locale* locale);
35
36 typedef struct icu4x_PluralRulesWithRanges_create_ordinal_with_provider_mv1_result {union {icu4x::capi::PluralRulesWithRanges* ok; icu4x::capi::DataError err;}; bool is_ok;} icu4x_PluralRulesWithRanges_create_ordinal_with_provider_mv1_result;
37 icu4x_PluralRulesWithRanges_create_ordinal_with_provider_mv1_result icu4x_PluralRulesWithRanges_create_ordinal_with_provider_mv1(const icu4x::capi::DataProvider* provider, const icu4x::capi::Locale* locale);
38
39 icu4x::capi::PluralCategory icu4x_PluralRulesWithRanges_category_for_range_mv1(const icu4x::capi::PluralRulesWithRanges* self, const icu4x::capi::PluralOperands* start, const icu4x::capi::PluralOperands* end);
40
41 icu4x::capi::PluralCategory icu4x_PluralRulesWithRanges_category_for_mv1(const icu4x::capi::PluralRulesWithRanges* self, const icu4x::capi::PluralOperands* op);
42
43 icu4x::capi::PluralCategories icu4x_PluralRulesWithRanges_categories_mv1(const icu4x::capi::PluralRulesWithRanges* self);
44
45 icu4x::capi::PluralCategory icu4x_PluralRulesWithRanges_resolve_range_mv1(const icu4x::capi::PluralRulesWithRanges* self, icu4x::capi::PluralCategory start, icu4x::capi::PluralCategory end);
46
47 void icu4x_PluralRulesWithRanges_destroy_mv1(PluralRulesWithRanges* self);
48
49 } // extern "C"
50} // namespace capi
51} // namespace
52
54 auto result = icu4x::capi::icu4x_PluralRulesWithRanges_create_cardinal_mv1(locale.AsFFI());
56}
57
59 auto result = icu4x::capi::icu4x_PluralRulesWithRanges_create_cardinal_with_provider_mv1(provider.AsFFI(),
60 locale.AsFFI());
62}
63
65 auto result = icu4x::capi::icu4x_PluralRulesWithRanges_create_ordinal_mv1(locale.AsFFI());
67}
68
70 auto result = icu4x::capi::icu4x_PluralRulesWithRanges_create_ordinal_with_provider_mv1(provider.AsFFI(),
71 locale.AsFFI());
73}
74
76 auto result = icu4x::capi::icu4x_PluralRulesWithRanges_category_for_range_mv1(this->AsFFI(),
77 start.AsFFI(),
78 end.AsFFI());
79 return icu4x::PluralCategory::FromFFI(result);
80}
81
83 auto result = icu4x::capi::icu4x_PluralRulesWithRanges_category_for_mv1(this->AsFFI(),
84 op.AsFFI());
85 return icu4x::PluralCategory::FromFFI(result);
86}
87
89 auto result = icu4x::capi::icu4x_PluralRulesWithRanges_categories_mv1(this->AsFFI());
90 return icu4x::PluralCategories::FromFFI(result);
91}
92
94 auto result = icu4x::capi::icu4x_PluralRulesWithRanges_resolve_range_mv1(this->AsFFI(),
95 start.AsFFI(),
96 end.AsFFI());
97 return icu4x::PluralCategory::FromFFI(result);
98}
99
100inline const icu4x::capi::PluralRulesWithRanges* icu4x::PluralRulesWithRanges::AsFFI() const {
101 return reinterpret_cast<const icu4x::capi::PluralRulesWithRanges*>(this);
102}
103
104inline icu4x::capi::PluralRulesWithRanges* icu4x::PluralRulesWithRanges::AsFFI() {
105 return reinterpret_cast<icu4x::capi::PluralRulesWithRanges*>(this);
106}
107
108inline const icu4x::PluralRulesWithRanges* icu4x::PluralRulesWithRanges::FromFFI(const icu4x::capi::PluralRulesWithRanges* ptr) {
109 return reinterpret_cast<const icu4x::PluralRulesWithRanges*>(ptr);
110}
111
112inline icu4x::PluralRulesWithRanges* icu4x::PluralRulesWithRanges::FromFFI(icu4x::capi::PluralRulesWithRanges* ptr) {
113 return reinterpret_cast<icu4x::PluralRulesWithRanges*>(ptr);
114}
115
116inline void icu4x::PluralRulesWithRanges::operator delete(void* ptr) {
117 icu4x::capi::icu4x_PluralRulesWithRanges_destroy_mv1(reinterpret_cast<icu4x::capi::PluralRulesWithRanges*>(ptr));
118}
119
120
121#endif // ICU4X_PluralRulesWithRanges_HPP
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
Definition PluralRulesWithRanges.d.hpp:41
icu4x::PluralCategories categories() const
Definition PluralRulesWithRanges.hpp:88
static icu4x::diplomat::result< std::unique_ptr< icu4x::PluralRulesWithRanges >, icu4x::DataError > create_cardinal(const icu4x::Locale &locale)
Definition PluralRulesWithRanges.hpp:53
static icu4x::diplomat::result< std::unique_ptr< icu4x::PluralRulesWithRanges >, icu4x::DataError > create_ordinal(const icu4x::Locale &locale)
Definition PluralRulesWithRanges.hpp:64
static icu4x::diplomat::result< std::unique_ptr< icu4x::PluralRulesWithRanges >, icu4x::DataError > create_ordinal_with_provider(const icu4x::DataProvider &provider, const icu4x::Locale &locale)
Definition PluralRulesWithRanges.hpp:69
icu4x::PluralCategory resolve_range(icu4x::PluralCategory start, icu4x::PluralCategory end) const
Definition PluralRulesWithRanges.hpp:93
icu4x::PluralCategory category_for_range(const icu4x::PluralOperands &start, const icu4x::PluralOperands &end) const
Definition PluralRulesWithRanges.hpp:75
static icu4x::diplomat::result< std::unique_ptr< icu4x::PluralRulesWithRanges >, icu4x::DataError > create_cardinal_with_provider(const icu4x::DataProvider &provider, const icu4x::Locale &locale)
Definition PluralRulesWithRanges.hpp:58
icu4x::PluralCategory category_for(const icu4x::PluralOperands &op) const
Definition PluralRulesWithRanges.hpp:82
Definition Bidi.d.hpp:13
Definition PluralCategories.d.hpp:35
Definition diplomat_runtime.hpp:243