ICU4X
International Components for Unicode
Loading...
Searching...
No Matches
IndicSyllabicCategory.hpp
Go to the documentation of this file.
1#ifndef icu4x_IndicSyllabicCategory_HPP
2#define icu4x_IndicSyllabicCategory_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>
15
16
17namespace icu4x {
18namespace capi {
19 extern "C" {
20
21 icu4x::capi::IndicSyllabicCategory icu4x_IndicSyllabicCategory_for_char_mv1(char32_t ch);
22
23 uint8_t icu4x_IndicSyllabicCategory_to_integer_value_mv1(icu4x::capi::IndicSyllabicCategory self);
24
25 typedef struct icu4x_IndicSyllabicCategory_from_integer_value_mv1_result {union {icu4x::capi::IndicSyllabicCategory ok; }; bool is_ok;} icu4x_IndicSyllabicCategory_from_integer_value_mv1_result;
26 icu4x_IndicSyllabicCategory_from_integer_value_mv1_result icu4x_IndicSyllabicCategory_from_integer_value_mv1(uint8_t other);
27
28 } // extern "C"
29} // namespace capi
30} // namespace
31
32inline icu4x::capi::IndicSyllabicCategory icu4x::IndicSyllabicCategory::AsFFI() const {
33 return static_cast<icu4x::capi::IndicSyllabicCategory>(value);
34}
35
36inline icu4x::IndicSyllabicCategory icu4x::IndicSyllabicCategory::FromFFI(icu4x::capi::IndicSyllabicCategory c_enum) {
37 switch (c_enum) {
38 case icu4x::capi::IndicSyllabicCategory_Other:
39 case icu4x::capi::IndicSyllabicCategory_Avagraha:
40 case icu4x::capi::IndicSyllabicCategory_Bindu:
41 case icu4x::capi::IndicSyllabicCategory_BrahmiJoiningNumber:
42 case icu4x::capi::IndicSyllabicCategory_CantillationMark:
43 case icu4x::capi::IndicSyllabicCategory_Consonant:
44 case icu4x::capi::IndicSyllabicCategory_ConsonantDead:
45 case icu4x::capi::IndicSyllabicCategory_ConsonantFinal:
46 case icu4x::capi::IndicSyllabicCategory_ConsonantHeadLetter:
47 case icu4x::capi::IndicSyllabicCategory_ConsonantInitialPostfixed:
48 case icu4x::capi::IndicSyllabicCategory_ConsonantKiller:
49 case icu4x::capi::IndicSyllabicCategory_ConsonantMedial:
50 case icu4x::capi::IndicSyllabicCategory_ConsonantPlaceholder:
51 case icu4x::capi::IndicSyllabicCategory_ConsonantPrecedingRepha:
52 case icu4x::capi::IndicSyllabicCategory_ConsonantPrefixed:
53 case icu4x::capi::IndicSyllabicCategory_ConsonantSucceedingRepha:
54 case icu4x::capi::IndicSyllabicCategory_ConsonantSubjoined:
55 case icu4x::capi::IndicSyllabicCategory_ConsonantWithStacker:
56 case icu4x::capi::IndicSyllabicCategory_GeminationMark:
57 case icu4x::capi::IndicSyllabicCategory_InvisibleStacker:
58 case icu4x::capi::IndicSyllabicCategory_Joiner:
59 case icu4x::capi::IndicSyllabicCategory_ModifyingLetter:
60 case icu4x::capi::IndicSyllabicCategory_NonJoiner:
61 case icu4x::capi::IndicSyllabicCategory_Nukta:
62 case icu4x::capi::IndicSyllabicCategory_Number:
63 case icu4x::capi::IndicSyllabicCategory_NumberJoiner:
64 case icu4x::capi::IndicSyllabicCategory_PureKiller:
65 case icu4x::capi::IndicSyllabicCategory_RegisterShifter:
66 case icu4x::capi::IndicSyllabicCategory_SyllableModifier:
67 case icu4x::capi::IndicSyllabicCategory_ToneLetter:
68 case icu4x::capi::IndicSyllabicCategory_ToneMark:
69 case icu4x::capi::IndicSyllabicCategory_Virama:
70 case icu4x::capi::IndicSyllabicCategory_Visarga:
71 case icu4x::capi::IndicSyllabicCategory_Vowel:
72 case icu4x::capi::IndicSyllabicCategory_VowelDependent:
73 case icu4x::capi::IndicSyllabicCategory_VowelIndependent:
74 case icu4x::capi::IndicSyllabicCategory_ReorderingKiller:
75 return static_cast<icu4x::IndicSyllabicCategory::Value>(c_enum);
76 default:
77 std::abort();
78 }
79}
80
82 auto result = icu4x::capi::icu4x_IndicSyllabicCategory_for_char_mv1(ch);
83 return icu4x::IndicSyllabicCategory::FromFFI(result);
84}
85
87 auto result = icu4x::capi::icu4x_IndicSyllabicCategory_to_integer_value_mv1(this->AsFFI());
88 return result;
89}
90
91inline std::optional<icu4x::IndicSyllabicCategory> icu4x::IndicSyllabicCategory::from_integer_value(uint8_t other) {
92 auto result = icu4x::capi::icu4x_IndicSyllabicCategory_from_integer_value_mv1(other);
93 return result.is_ok ? std::optional<icu4x::IndicSyllabicCategory>(icu4x::IndicSyllabicCategory::FromFFI(result.ok)) : std::nullopt;
94}
95#endif // icu4x_IndicSyllabicCategory_HPP
Definition IndicSyllabicCategory.d.hpp:69
static std::optional< icu4x::IndicSyllabicCategory > from_integer_value(uint8_t other)
Definition IndicSyllabicCategory.hpp:91
uint8_t to_integer_value() const
Definition IndicSyllabicCategory.hpp:86
Value
Definition IndicSyllabicCategory.d.hpp:71
static icu4x::IndicSyllabicCategory for_char(char32_t ch)
Definition IndicSyllabicCategory.hpp:81
Definition Bidi.d.hpp:14