ICU4X
International Components for Unicode
Loading...
Searching...
No Matches
ICU4XCodePointMapData8.hpp
Go to the documentation of this file.
1#ifndef ICU4XCodePointMapData8_HPP
2#define ICU4XCodePointMapData8_HPP
3#include <stdint.h>
4#include <stddef.h>
5#include <stdbool.h>
6#include <algorithm>
7#include <memory>
8#include <variant>
9#include <optional>
10#include "diplomat_runtime.hpp"
11
12#include "ICU4XCodePointMapData8.h"
13
18#include "ICU4XError.hpp"
19
23struct ICU4XCodePointMapData8Deleter {
24 void operator()(capi::ICU4XCodePointMapData8* l) const noexcept {
25 capi::ICU4XCodePointMapData8_destroy(l);
26 }
27};
28
41 public:
42
48 uint8_t get(char32_t cp) const;
49
53 uint8_t get32(uint32_t cp) const;
54
62 static uint32_t general_category_to_mask(uint8_t gc);
63
72
81
97
103 ICU4XCodePointSetData get_set_for_value(uint8_t value) const;
104
109
114
119
124
129
134
139
144
149
154 inline const capi::ICU4XCodePointMapData8* AsFFI() const { return this->inner.get(); }
155 inline capi::ICU4XCodePointMapData8* AsFFIMut() { return this->inner.get(); }
156 inline explicit ICU4XCodePointMapData8(capi::ICU4XCodePointMapData8* i) : inner(i) {}
159 ICU4XCodePointMapData8& operator=(ICU4XCodePointMapData8&& other) noexcept = default;
160 private:
161 std::unique_ptr<capi::ICU4XCodePointMapData8, ICU4XCodePointMapData8Deleter> inner;
162};
163
164#include "CodePointRangeIterator.hpp"
166#include "ICU4XDataProvider.hpp"
167
168inline uint8_t ICU4XCodePointMapData8::get(char32_t cp) const {
169 return capi::ICU4XCodePointMapData8_get(this->inner.get(), cp);
170}
171inline uint8_t ICU4XCodePointMapData8::get32(uint32_t cp) const {
172 return capi::ICU4XCodePointMapData8_get32(this->inner.get(), cp);
173}
175 return capi::ICU4XCodePointMapData8_general_category_to_mask(gc);
176}
178 return CodePointRangeIterator(capi::ICU4XCodePointMapData8_iter_ranges_for_value(this->inner.get(), value));
179}
181 return CodePointRangeIterator(capi::ICU4XCodePointMapData8_iter_ranges_for_value_complemented(this->inner.get(), value));
182}
184 return CodePointRangeIterator(capi::ICU4XCodePointMapData8_iter_ranges_for_mask(this->inner.get(), mask));
185}
187 return ICU4XCodePointSetData(capi::ICU4XCodePointMapData8_get_set_for_value(this->inner.get(), value));
188}
190 auto diplomat_result_raw_out_value = capi::ICU4XCodePointMapData8_load_general_category(provider.AsFFI());
192 if (diplomat_result_raw_out_value.is_ok) {
193 diplomat_result_out_value = diplomat::Ok<ICU4XCodePointMapData8>(ICU4XCodePointMapData8(diplomat_result_raw_out_value.ok));
194 } else {
195 diplomat_result_out_value = diplomat::Err<ICU4XError>(static_cast<ICU4XError>(diplomat_result_raw_out_value.err));
196 }
197 return diplomat_result_out_value;
198}
200 auto diplomat_result_raw_out_value = capi::ICU4XCodePointMapData8_load_bidi_class(provider.AsFFI());
202 if (diplomat_result_raw_out_value.is_ok) {
203 diplomat_result_out_value = diplomat::Ok<ICU4XCodePointMapData8>(ICU4XCodePointMapData8(diplomat_result_raw_out_value.ok));
204 } else {
205 diplomat_result_out_value = diplomat::Err<ICU4XError>(static_cast<ICU4XError>(diplomat_result_raw_out_value.err));
206 }
207 return diplomat_result_out_value;
208}
210 auto diplomat_result_raw_out_value = capi::ICU4XCodePointMapData8_load_east_asian_width(provider.AsFFI());
212 if (diplomat_result_raw_out_value.is_ok) {
213 diplomat_result_out_value = diplomat::Ok<ICU4XCodePointMapData8>(ICU4XCodePointMapData8(diplomat_result_raw_out_value.ok));
214 } else {
215 diplomat_result_out_value = diplomat::Err<ICU4XError>(static_cast<ICU4XError>(diplomat_result_raw_out_value.err));
216 }
217 return diplomat_result_out_value;
218}
220 auto diplomat_result_raw_out_value = capi::ICU4XCodePointMapData8_load_hangul_syllable_type(provider.AsFFI());
222 if (diplomat_result_raw_out_value.is_ok) {
223 diplomat_result_out_value = diplomat::Ok<ICU4XCodePointMapData8>(ICU4XCodePointMapData8(diplomat_result_raw_out_value.ok));
224 } else {
225 diplomat_result_out_value = diplomat::Err<ICU4XError>(static_cast<ICU4XError>(diplomat_result_raw_out_value.err));
226 }
227 return diplomat_result_out_value;
228}
230 auto diplomat_result_raw_out_value = capi::ICU4XCodePointMapData8_load_indic_syllabic_category(provider.AsFFI());
232 if (diplomat_result_raw_out_value.is_ok) {
233 diplomat_result_out_value = diplomat::Ok<ICU4XCodePointMapData8>(ICU4XCodePointMapData8(diplomat_result_raw_out_value.ok));
234 } else {
235 diplomat_result_out_value = diplomat::Err<ICU4XError>(static_cast<ICU4XError>(diplomat_result_raw_out_value.err));
236 }
237 return diplomat_result_out_value;
238}
240 auto diplomat_result_raw_out_value = capi::ICU4XCodePointMapData8_load_line_break(provider.AsFFI());
242 if (diplomat_result_raw_out_value.is_ok) {
243 diplomat_result_out_value = diplomat::Ok<ICU4XCodePointMapData8>(ICU4XCodePointMapData8(diplomat_result_raw_out_value.ok));
244 } else {
245 diplomat_result_out_value = diplomat::Err<ICU4XError>(static_cast<ICU4XError>(diplomat_result_raw_out_value.err));
246 }
247 return diplomat_result_out_value;
248}
250 auto diplomat_result_raw_out_value = capi::ICU4XCodePointMapData8_try_grapheme_cluster_break(provider.AsFFI());
252 if (diplomat_result_raw_out_value.is_ok) {
253 diplomat_result_out_value = diplomat::Ok<ICU4XCodePointMapData8>(ICU4XCodePointMapData8(diplomat_result_raw_out_value.ok));
254 } else {
255 diplomat_result_out_value = diplomat::Err<ICU4XError>(static_cast<ICU4XError>(diplomat_result_raw_out_value.err));
256 }
257 return diplomat_result_out_value;
258}
260 auto diplomat_result_raw_out_value = capi::ICU4XCodePointMapData8_load_word_break(provider.AsFFI());
262 if (diplomat_result_raw_out_value.is_ok) {
263 diplomat_result_out_value = diplomat::Ok<ICU4XCodePointMapData8>(ICU4XCodePointMapData8(diplomat_result_raw_out_value.ok));
264 } else {
265 diplomat_result_out_value = diplomat::Err<ICU4XError>(static_cast<ICU4XError>(diplomat_result_raw_out_value.err));
266 }
267 return diplomat_result_out_value;
268}
270 auto diplomat_result_raw_out_value = capi::ICU4XCodePointMapData8_load_sentence_break(provider.AsFFI());
272 if (diplomat_result_raw_out_value.is_ok) {
273 diplomat_result_out_value = diplomat::Ok<ICU4XCodePointMapData8>(ICU4XCodePointMapData8(diplomat_result_raw_out_value.ok));
274 } else {
275 diplomat_result_out_value = diplomat::Err<ICU4XError>(static_cast<ICU4XError>(diplomat_result_raw_out_value.err));
276 }
277 return diplomat_result_out_value;
278}
280 auto diplomat_result_raw_out_value = capi::ICU4XCodePointMapData8_load_joining_type(provider.AsFFI());
282 if (diplomat_result_raw_out_value.is_ok) {
283 diplomat_result_out_value = diplomat::Ok<ICU4XCodePointMapData8>(ICU4XCodePointMapData8(diplomat_result_raw_out_value.ok));
284 } else {
285 diplomat_result_out_value = diplomat::Err<ICU4XError>(static_cast<ICU4XError>(diplomat_result_raw_out_value.err));
286 }
287 return diplomat_result_out_value;
288}
289#endif
ICU4XError
Definition ICU4XError.hpp:23
Definition CodePointRangeIterator.hpp:29
Definition ICU4XCodePointMapData8.hpp:40
static diplomat::result< ICU4XCodePointMapData8, ICU4XError > load_word_break(const ICU4XDataProvider &provider)
Definition ICU4XCodePointMapData8.hpp:259
static diplomat::result< ICU4XCodePointMapData8, ICU4XError > load_line_break(const ICU4XDataProvider &provider)
Definition ICU4XCodePointMapData8.hpp:239
static diplomat::result< ICU4XCodePointMapData8, ICU4XError > load_bidi_class(const ICU4XDataProvider &provider)
Definition ICU4XCodePointMapData8.hpp:199
static diplomat::result< ICU4XCodePointMapData8, ICU4XError > load_joining_type(const ICU4XDataProvider &provider)
Definition ICU4XCodePointMapData8.hpp:279
static diplomat::result< ICU4XCodePointMapData8, ICU4XError > load_general_category(const ICU4XDataProvider &provider)
Definition ICU4XCodePointMapData8.hpp:189
static diplomat::result< ICU4XCodePointMapData8, ICU4XError > load_hangul_syllable_type(const ICU4XDataProvider &provider)
Definition ICU4XCodePointMapData8.hpp:219
ICU4XCodePointMapData8(capi::ICU4XCodePointMapData8 *i)
Definition ICU4XCodePointMapData8.hpp:156
static diplomat::result< ICU4XCodePointMapData8, ICU4XError > try_grapheme_cluster_break(const ICU4XDataProvider &provider)
Definition ICU4XCodePointMapData8.hpp:249
CodePointRangeIterator iter_ranges_for_value_complemented(uint8_t value) const
Definition ICU4XCodePointMapData8.hpp:180
static diplomat::result< ICU4XCodePointMapData8, ICU4XError > load_sentence_break(const ICU4XDataProvider &provider)
Definition ICU4XCodePointMapData8.hpp:269
static uint32_t general_category_to_mask(uint8_t gc)
Definition ICU4XCodePointMapData8.hpp:174
CodePointRangeIterator iter_ranges_for_mask(uint32_t mask) const
Definition ICU4XCodePointMapData8.hpp:183
ICU4XCodePointMapData8()=default
uint8_t get(char32_t cp) const
Definition ICU4XCodePointMapData8.hpp:168
ICU4XCodePointMapData8(ICU4XCodePointMapData8 &&) noexcept=default
static diplomat::result< ICU4XCodePointMapData8, ICU4XError > load_east_asian_width(const ICU4XDataProvider &provider)
Definition ICU4XCodePointMapData8.hpp:209
CodePointRangeIterator iter_ranges_for_value(uint8_t value) const
Definition ICU4XCodePointMapData8.hpp:177
uint8_t get32(uint32_t cp) const
Definition ICU4XCodePointMapData8.hpp:171
static diplomat::result< ICU4XCodePointMapData8, ICU4XError > load_indic_syllabic_category(const ICU4XDataProvider &provider)
Definition ICU4XCodePointMapData8.hpp:229
ICU4XCodePointSetData get_set_for_value(uint8_t value) const
Definition ICU4XCodePointMapData8.hpp:186
Definition ICU4XCodePointSetData.hpp:37
Definition ICU4XDataProvider.hpp:32
Definition diplomat_runtime.hpp:84
Definition diplomat_runtime.hpp:69
Definition diplomat_runtime.hpp:55