• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef icu4x_WordBreak_HPP
2 #define icu4x_WordBreak_HPP
3 
4 #include "WordBreak.d.hpp"
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 "../diplomat_runtime.hpp"
14 
15 
16 namespace icu4x {
17 namespace capi {
18     extern "C" {
19 
20     icu4x::capi::WordBreak icu4x_WordBreak_for_char_mv1(char32_t ch);
21 
22     typedef struct icu4x_WordBreak_long_name_mv1_result {union {diplomat::capi::DiplomatStringView ok; }; bool is_ok;} icu4x_WordBreak_long_name_mv1_result;
23     icu4x_WordBreak_long_name_mv1_result icu4x_WordBreak_long_name_mv1(icu4x::capi::WordBreak self);
24 
25     typedef struct icu4x_WordBreak_short_name_mv1_result {union {diplomat::capi::DiplomatStringView ok; }; bool is_ok;} icu4x_WordBreak_short_name_mv1_result;
26     icu4x_WordBreak_short_name_mv1_result icu4x_WordBreak_short_name_mv1(icu4x::capi::WordBreak self);
27 
28     uint8_t icu4x_WordBreak_to_integer_value_mv1(icu4x::capi::WordBreak self);
29 
30     typedef struct icu4x_WordBreak_from_integer_value_mv1_result {union {icu4x::capi::WordBreak ok; }; bool is_ok;} icu4x_WordBreak_from_integer_value_mv1_result;
31     icu4x_WordBreak_from_integer_value_mv1_result icu4x_WordBreak_from_integer_value_mv1(uint8_t other);
32 
33 
34     } // extern "C"
35 } // namespace capi
36 } // namespace
37 
AsFFI() const38 inline icu4x::capi::WordBreak icu4x::WordBreak::AsFFI() const {
39   return static_cast<icu4x::capi::WordBreak>(value);
40 }
41 
FromFFI(icu4x::capi::WordBreak c_enum)42 inline icu4x::WordBreak icu4x::WordBreak::FromFFI(icu4x::capi::WordBreak c_enum) {
43   switch (c_enum) {
44     case icu4x::capi::WordBreak_Other:
45     case icu4x::capi::WordBreak_ALetter:
46     case icu4x::capi::WordBreak_Format:
47     case icu4x::capi::WordBreak_Katakana:
48     case icu4x::capi::WordBreak_MidLetter:
49     case icu4x::capi::WordBreak_MidNum:
50     case icu4x::capi::WordBreak_Numeric:
51     case icu4x::capi::WordBreak_ExtendNumLet:
52     case icu4x::capi::WordBreak_CR:
53     case icu4x::capi::WordBreak_Extend:
54     case icu4x::capi::WordBreak_LF:
55     case icu4x::capi::WordBreak_MidNumLet:
56     case icu4x::capi::WordBreak_Newline:
57     case icu4x::capi::WordBreak_RegionalIndicator:
58     case icu4x::capi::WordBreak_HebrewLetter:
59     case icu4x::capi::WordBreak_SingleQuote:
60     case icu4x::capi::WordBreak_DoubleQuote:
61     case icu4x::capi::WordBreak_EBase:
62     case icu4x::capi::WordBreak_EBaseGAZ:
63     case icu4x::capi::WordBreak_EModifier:
64     case icu4x::capi::WordBreak_GlueAfterZwj:
65     case icu4x::capi::WordBreak_ZWJ:
66     case icu4x::capi::WordBreak_WSegSpace:
67       return static_cast<icu4x::WordBreak::Value>(c_enum);
68     default:
69       abort();
70   }
71 }
72 
for_char(char32_t ch)73 inline icu4x::WordBreak icu4x::WordBreak::for_char(char32_t ch) {
74   auto result = icu4x::capi::icu4x_WordBreak_for_char_mv1(ch);
75   return icu4x::WordBreak::FromFFI(result);
76 }
77 
long_name()78 inline std::optional<std::string_view> icu4x::WordBreak::long_name() {
79   auto result = icu4x::capi::icu4x_WordBreak_long_name_mv1(this->AsFFI());
80   return result.is_ok ? std::optional<std::string_view>(std::string_view(result.ok.data, result.ok.len)) : std::nullopt;
81 }
82 
short_name()83 inline std::optional<std::string_view> icu4x::WordBreak::short_name() {
84   auto result = icu4x::capi::icu4x_WordBreak_short_name_mv1(this->AsFFI());
85   return result.is_ok ? std::optional<std::string_view>(std::string_view(result.ok.data, result.ok.len)) : std::nullopt;
86 }
87 
to_integer_value()88 inline uint8_t icu4x::WordBreak::to_integer_value() {
89   auto result = icu4x::capi::icu4x_WordBreak_to_integer_value_mv1(this->AsFFI());
90   return result;
91 }
92 
from_integer_value(uint8_t other)93 inline std::optional<icu4x::WordBreak> icu4x::WordBreak::from_integer_value(uint8_t other) {
94   auto result = icu4x::capi::icu4x_WordBreak_from_integer_value_mv1(other);
95   return result.is_ok ? std::optional<icu4x::WordBreak>(icu4x::WordBreak::FromFFI(result.ok)) : std::nullopt;
96 }
97 #endif // icu4x_WordBreak_HPP
98