ICU4X
International Components for Unicode
Loading...
Searching...
No Matches
HangulSyllableType.hpp
Go to the documentation of this file.
1#ifndef icu4x_HangulSyllableType_HPP
2#define icu4x_HangulSyllableType_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::HangulSyllableType icu4x_HangulSyllableType_for_char_mv1(char32_t ch);
22
23 uint8_t icu4x_HangulSyllableType_to_integer_value_mv1(icu4x::capi::HangulSyllableType self);
24
25 typedef struct icu4x_HangulSyllableType_from_integer_value_mv1_result {union {icu4x::capi::HangulSyllableType ok; }; bool is_ok;} icu4x_HangulSyllableType_from_integer_value_mv1_result;
26 icu4x_HangulSyllableType_from_integer_value_mv1_result icu4x_HangulSyllableType_from_integer_value_mv1(uint8_t other);
27
28 } // extern "C"
29} // namespace capi
30} // namespace
31
32inline icu4x::capi::HangulSyllableType icu4x::HangulSyllableType::AsFFI() const {
33 return static_cast<icu4x::capi::HangulSyllableType>(value);
34}
35
36inline icu4x::HangulSyllableType icu4x::HangulSyllableType::FromFFI(icu4x::capi::HangulSyllableType c_enum) {
37 switch (c_enum) {
38 case icu4x::capi::HangulSyllableType_NotApplicable:
39 case icu4x::capi::HangulSyllableType_LeadingJamo:
40 case icu4x::capi::HangulSyllableType_VowelJamo:
41 case icu4x::capi::HangulSyllableType_TrailingJamo:
42 case icu4x::capi::HangulSyllableType_LeadingVowelSyllable:
43 case icu4x::capi::HangulSyllableType_LeadingVowelTrailingSyllable:
44 return static_cast<icu4x::HangulSyllableType::Value>(c_enum);
45 default:
46 std::abort();
47 }
48}
49
51 auto result = icu4x::capi::icu4x_HangulSyllableType_for_char_mv1(ch);
52 return icu4x::HangulSyllableType::FromFFI(result);
53}
54
56 auto result = icu4x::capi::icu4x_HangulSyllableType_to_integer_value_mv1(this->AsFFI());
57 return result;
58}
59
60inline std::optional<icu4x::HangulSyllableType> icu4x::HangulSyllableType::from_integer_value(uint8_t other) {
61 auto result = icu4x::capi::icu4x_HangulSyllableType_from_integer_value_mv1(other);
62 return result.is_ok ? std::optional<icu4x::HangulSyllableType>(icu4x::HangulSyllableType::FromFFI(result.ok)) : std::nullopt;
63}
64#endif // icu4x_HangulSyllableType_HPP
Definition HangulSyllableType.d.hpp:38
static icu4x::HangulSyllableType for_char(char32_t ch)
Definition HangulSyllableType.hpp:50
Value
Definition HangulSyllableType.d.hpp:40
uint8_t to_integer_value() const
Definition HangulSyllableType.hpp:55
static std::optional< icu4x::HangulSyllableType > from_integer_value(uint8_t other)
Definition HangulSyllableType.hpp:60
Definition Bidi.d.hpp:14