ICU4X
International Components for Unicode
Loading...
Searching...
No Matches
CanonicalCombiningClass.d.hpp
Go to the documentation of this file.
1#ifndef ICU4X_CanonicalCombiningClass_D_HPP
2#define ICU4X_CanonicalCombiningClass_D_HPP
3
4#include <stdio.h>
5#include <stdint.h>
6#include <stddef.h>
7#include <stdbool.h>
8#include <memory>
9#include <functional>
10#include <optional>
11#include <cstdlib>
12#include "diplomat_runtime.hpp"
13namespace icu4x {
15} // namespace icu4x
16
17
18
19namespace icu4x {
20namespace capi {
21 enum CanonicalCombiningClass {
22 CanonicalCombiningClass_NotReordered = 0,
23 CanonicalCombiningClass_Overlay = 1,
24 CanonicalCombiningClass_HanReading = 6,
25 CanonicalCombiningClass_Nukta = 7,
26 CanonicalCombiningClass_KanaVoicing = 8,
27 CanonicalCombiningClass_Virama = 9,
28 CanonicalCombiningClass_CCC10 = 10,
29 CanonicalCombiningClass_CCC11 = 11,
30 CanonicalCombiningClass_CCC12 = 12,
31 CanonicalCombiningClass_CCC13 = 13,
32 CanonicalCombiningClass_CCC14 = 14,
33 CanonicalCombiningClass_CCC15 = 15,
34 CanonicalCombiningClass_CCC16 = 16,
35 CanonicalCombiningClass_CCC17 = 17,
36 CanonicalCombiningClass_CCC18 = 18,
37 CanonicalCombiningClass_CCC19 = 19,
38 CanonicalCombiningClass_CCC20 = 20,
39 CanonicalCombiningClass_CCC21 = 21,
40 CanonicalCombiningClass_CCC22 = 22,
41 CanonicalCombiningClass_CCC23 = 23,
42 CanonicalCombiningClass_CCC24 = 24,
43 CanonicalCombiningClass_CCC25 = 25,
44 CanonicalCombiningClass_CCC26 = 26,
45 CanonicalCombiningClass_CCC27 = 27,
46 CanonicalCombiningClass_CCC28 = 28,
47 CanonicalCombiningClass_CCC29 = 29,
48 CanonicalCombiningClass_CCC30 = 30,
49 CanonicalCombiningClass_CCC31 = 31,
50 CanonicalCombiningClass_CCC32 = 32,
51 CanonicalCombiningClass_CCC33 = 33,
52 CanonicalCombiningClass_CCC34 = 34,
53 CanonicalCombiningClass_CCC35 = 35,
54 CanonicalCombiningClass_CCC36 = 36,
55 CanonicalCombiningClass_CCC84 = 84,
56 CanonicalCombiningClass_CCC91 = 91,
57 CanonicalCombiningClass_CCC103 = 103,
58 CanonicalCombiningClass_CCC107 = 107,
59 CanonicalCombiningClass_CCC118 = 118,
60 CanonicalCombiningClass_CCC122 = 122,
61 CanonicalCombiningClass_CCC129 = 129,
62 CanonicalCombiningClass_CCC130 = 130,
63 CanonicalCombiningClass_CCC132 = 132,
64 CanonicalCombiningClass_CCC133 = 133,
65 CanonicalCombiningClass_AttachedBelowLeft = 200,
66 CanonicalCombiningClass_AttachedBelow = 202,
67 CanonicalCombiningClass_AttachedAbove = 214,
68 CanonicalCombiningClass_AttachedAboveRight = 216,
69 CanonicalCombiningClass_BelowLeft = 218,
70 CanonicalCombiningClass_Below = 220,
71 CanonicalCombiningClass_BelowRight = 222,
72 CanonicalCombiningClass_Left = 224,
73 CanonicalCombiningClass_Right = 226,
74 CanonicalCombiningClass_AboveLeft = 228,
75 CanonicalCombiningClass_Above = 230,
76 CanonicalCombiningClass_AboveRight = 232,
77 CanonicalCombiningClass_DoubleBelow = 233,
78 CanonicalCombiningClass_DoubleAbove = 234,
79 CanonicalCombiningClass_IotaSubscript = 240,
80 };
81
82 typedef struct CanonicalCombiningClass_option {union { CanonicalCombiningClass ok; }; bool is_ok; } CanonicalCombiningClass_option;
83} // namespace capi
84} // namespace
85
86namespace icu4x {
91public:
92 enum Value {
108 Nukta = 7,
120 CCC10 = 10,
124 CCC11 = 11,
128 CCC12 = 12,
132 CCC13 = 13,
136 CCC14 = 14,
140 CCC15 = 15,
144 CCC16 = 16,
148 CCC17 = 17,
152 CCC18 = 18,
156 CCC19 = 19,
160 CCC20 = 20,
164 CCC21 = 21,
168 CCC22 = 22,
172 CCC23 = 23,
176 CCC24 = 24,
180 CCC25 = 25,
184 CCC26 = 26,
188 CCC27 = 27,
192 CCC28 = 28,
196 CCC29 = 29,
200 CCC30 = 30,
204 CCC31 = 31,
208 CCC32 = 32,
212 CCC33 = 33,
216 CCC34 = 34,
220 CCC35 = 35,
224 CCC36 = 36,
228 CCC84 = 84,
232 CCC91 = 91,
236 CCC103 = 103,
240 CCC107 = 107,
244 CCC118 = 118,
248 CCC122 = 122,
252 CCC129 = 129,
256 CCC130 = 130,
260 CCC132 = 132,
264 CCC133 = 133,
288 Below = 220,
296 Left = 224,
300 Right = 226,
308 Above = 230,
325 };
326
328
329 // Implicit conversions between enum and ::Value
330 constexpr CanonicalCombiningClass(Value v) : value(v) {}
331 constexpr operator Value() const { return value; }
332 // Prevent usage as boolean value
333 explicit operator bool() const = delete;
334
338 inline static icu4x::CanonicalCombiningClass for_char(char32_t ch);
339
345 inline std::optional<std::string_view> long_name() const;
346
352 inline std::optional<std::string_view> short_name() const;
353
359 inline uint8_t to_integer_value() const;
360
366 inline static std::optional<icu4x::CanonicalCombiningClass> from_integer_value(uint8_t other);
367
368 inline static std::optional<icu4x::CanonicalCombiningClass> try_from_str(std::string_view s);
369
370 inline icu4x::capi::CanonicalCombiningClass AsFFI() const;
371 inline static icu4x::CanonicalCombiningClass FromFFI(icu4x::capi::CanonicalCombiningClass c_enum);
372private:
373 Value value;
374};
375
376} // namespace
377#endif // ICU4X_CanonicalCombiningClass_D_HPP
Definition CanonicalCombiningClass.d.hpp:90
static std::optional< icu4x::CanonicalCombiningClass > try_from_str(std::string_view s)
Definition CanonicalCombiningClass.hpp:136
CanonicalCombiningClass()
Definition CanonicalCombiningClass.d.hpp:327
constexpr CanonicalCombiningClass(Value v)
Definition CanonicalCombiningClass.d.hpp:330
static std::optional< icu4x::CanonicalCombiningClass > from_integer_value(uint8_t other)
Definition CanonicalCombiningClass.hpp:131
uint8_t to_integer_value() const
Definition CanonicalCombiningClass.hpp:126
Value
Definition CanonicalCombiningClass.d.hpp:92
@ CCC19
Definition CanonicalCombiningClass.d.hpp:156
@ AboveRight
Definition CanonicalCombiningClass.d.hpp:312
@ CCC34
Definition CanonicalCombiningClass.d.hpp:216
@ CCC84
Definition CanonicalCombiningClass.d.hpp:228
@ BelowLeft
Definition CanonicalCombiningClass.d.hpp:284
@ KanaVoicing
Definition CanonicalCombiningClass.d.hpp:112
@ Virama
Definition CanonicalCombiningClass.d.hpp:116
@ CCC26
Definition CanonicalCombiningClass.d.hpp:184
@ CCC14
Definition CanonicalCombiningClass.d.hpp:136
@ CCC22
Definition CanonicalCombiningClass.d.hpp:168
@ IotaSubscript
Definition CanonicalCombiningClass.d.hpp:324
@ CCC24
Definition CanonicalCombiningClass.d.hpp:176
@ CCC31
Definition CanonicalCombiningClass.d.hpp:204
@ CCC21
Definition CanonicalCombiningClass.d.hpp:164
@ CCC11
Definition CanonicalCombiningClass.d.hpp:124
@ CCC20
Definition CanonicalCombiningClass.d.hpp:160
@ CCC107
Definition CanonicalCombiningClass.d.hpp:240
@ CCC29
Definition CanonicalCombiningClass.d.hpp:196
@ HanReading
Definition CanonicalCombiningClass.d.hpp:104
@ AttachedAboveRight
Definition CanonicalCombiningClass.d.hpp:280
@ Below
Definition CanonicalCombiningClass.d.hpp:288
@ CCC15
Definition CanonicalCombiningClass.d.hpp:140
@ NotReordered
Definition CanonicalCombiningClass.d.hpp:96
@ CCC30
Definition CanonicalCombiningClass.d.hpp:200
@ CCC10
Definition CanonicalCombiningClass.d.hpp:120
@ CCC32
Definition CanonicalCombiningClass.d.hpp:208
@ AboveLeft
Definition CanonicalCombiningClass.d.hpp:304
@ CCC25
Definition CanonicalCombiningClass.d.hpp:180
@ Right
Definition CanonicalCombiningClass.d.hpp:300
@ CCC35
Definition CanonicalCombiningClass.d.hpp:220
@ DoubleBelow
Definition CanonicalCombiningClass.d.hpp:316
@ CCC28
Definition CanonicalCombiningClass.d.hpp:192
@ Overlay
Definition CanonicalCombiningClass.d.hpp:100
@ CCC133
Definition CanonicalCombiningClass.d.hpp:264
@ CCC27
Definition CanonicalCombiningClass.d.hpp:188
@ CCC18
Definition CanonicalCombiningClass.d.hpp:152
@ AttachedBelow
Definition CanonicalCombiningClass.d.hpp:272
@ Left
Definition CanonicalCombiningClass.d.hpp:296
@ CCC118
Definition CanonicalCombiningClass.d.hpp:244
@ CCC129
Definition CanonicalCombiningClass.d.hpp:252
@ CCC16
Definition CanonicalCombiningClass.d.hpp:144
@ CCC33
Definition CanonicalCombiningClass.d.hpp:212
@ CCC17
Definition CanonicalCombiningClass.d.hpp:148
@ CCC122
Definition CanonicalCombiningClass.d.hpp:248
@ BelowRight
Definition CanonicalCombiningClass.d.hpp:292
@ DoubleAbove
Definition CanonicalCombiningClass.d.hpp:320
@ CCC91
Definition CanonicalCombiningClass.d.hpp:232
@ CCC13
Definition CanonicalCombiningClass.d.hpp:132
@ CCC132
Definition CanonicalCombiningClass.d.hpp:260
@ CCC36
Definition CanonicalCombiningClass.d.hpp:224
@ Above
Definition CanonicalCombiningClass.d.hpp:308
@ Nukta
Definition CanonicalCombiningClass.d.hpp:108
@ CCC130
Definition CanonicalCombiningClass.d.hpp:256
@ CCC103
Definition CanonicalCombiningClass.d.hpp:236
@ CCC12
Definition CanonicalCombiningClass.d.hpp:128
@ AttachedAbove
Definition CanonicalCombiningClass.d.hpp:276
@ CCC23
Definition CanonicalCombiningClass.d.hpp:172
@ AttachedBelowLeft
Definition CanonicalCombiningClass.d.hpp:268
static icu4x::CanonicalCombiningClass for_char(char32_t ch)
Definition CanonicalCombiningClass.hpp:111
std::optional< std::string_view > short_name() const
Definition CanonicalCombiningClass.hpp:121
std::optional< std::string_view > long_name() const
Definition CanonicalCombiningClass.hpp:116
Definition Bidi.d.hpp:13