1 #ifndef icu4x_CanonicalCombiningClass_HPP 2 #define icu4x_CanonicalCombiningClass_HPP 3 4 #include "CanonicalCombiningClass.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::CanonicalCombiningClass icu4x_CanonicalCombiningClass_for_char_mv1(char32_t ch); 21 22 uint8_t icu4x_CanonicalCombiningClass_to_integer_value_mv1(icu4x::capi::CanonicalCombiningClass self); 23 24 typedef struct icu4x_CanonicalCombiningClass_from_integer_value_mv1_result {union {icu4x::capi::CanonicalCombiningClass ok; }; bool is_ok;} icu4x_CanonicalCombiningClass_from_integer_value_mv1_result; 25 icu4x_CanonicalCombiningClass_from_integer_value_mv1_result icu4x_CanonicalCombiningClass_from_integer_value_mv1(uint8_t other); 26 27 28 } // extern "C" 29 } // namespace capi 30 } // namespace 31 AsFFI() const32inline icu4x::capi::CanonicalCombiningClass icu4x::CanonicalCombiningClass::AsFFI() const { 33 return static_cast<icu4x::capi::CanonicalCombiningClass>(value); 34 } 35 FromFFI(icu4x::capi::CanonicalCombiningClass c_enum)36inline icu4x::CanonicalCombiningClass icu4x::CanonicalCombiningClass::FromFFI(icu4x::capi::CanonicalCombiningClass c_enum) { 37 switch (c_enum) { 38 case icu4x::capi::CanonicalCombiningClass_NotReordered: 39 case icu4x::capi::CanonicalCombiningClass_Overlay: 40 case icu4x::capi::CanonicalCombiningClass_HanReading: 41 case icu4x::capi::CanonicalCombiningClass_Nukta: 42 case icu4x::capi::CanonicalCombiningClass_KanaVoicing: 43 case icu4x::capi::CanonicalCombiningClass_Virama: 44 case icu4x::capi::CanonicalCombiningClass_CCC10: 45 case icu4x::capi::CanonicalCombiningClass_CCC11: 46 case icu4x::capi::CanonicalCombiningClass_CCC12: 47 case icu4x::capi::CanonicalCombiningClass_CCC13: 48 case icu4x::capi::CanonicalCombiningClass_CCC14: 49 case icu4x::capi::CanonicalCombiningClass_CCC15: 50 case icu4x::capi::CanonicalCombiningClass_CCC16: 51 case icu4x::capi::CanonicalCombiningClass_CCC17: 52 case icu4x::capi::CanonicalCombiningClass_CCC18: 53 case icu4x::capi::CanonicalCombiningClass_CCC19: 54 case icu4x::capi::CanonicalCombiningClass_CCC20: 55 case icu4x::capi::CanonicalCombiningClass_CCC21: 56 case icu4x::capi::CanonicalCombiningClass_CCC22: 57 case icu4x::capi::CanonicalCombiningClass_CCC23: 58 case icu4x::capi::CanonicalCombiningClass_CCC24: 59 case icu4x::capi::CanonicalCombiningClass_CCC25: 60 case icu4x::capi::CanonicalCombiningClass_CCC26: 61 case icu4x::capi::CanonicalCombiningClass_CCC27: 62 case icu4x::capi::CanonicalCombiningClass_CCC28: 63 case icu4x::capi::CanonicalCombiningClass_CCC29: 64 case icu4x::capi::CanonicalCombiningClass_CCC30: 65 case icu4x::capi::CanonicalCombiningClass_CCC31: 66 case icu4x::capi::CanonicalCombiningClass_CCC32: 67 case icu4x::capi::CanonicalCombiningClass_CCC33: 68 case icu4x::capi::CanonicalCombiningClass_CCC34: 69 case icu4x::capi::CanonicalCombiningClass_CCC35: 70 case icu4x::capi::CanonicalCombiningClass_CCC36: 71 case icu4x::capi::CanonicalCombiningClass_CCC84: 72 case icu4x::capi::CanonicalCombiningClass_CCC91: 73 case icu4x::capi::CanonicalCombiningClass_CCC103: 74 case icu4x::capi::CanonicalCombiningClass_CCC107: 75 case icu4x::capi::CanonicalCombiningClass_CCC118: 76 case icu4x::capi::CanonicalCombiningClass_CCC122: 77 case icu4x::capi::CanonicalCombiningClass_CCC129: 78 case icu4x::capi::CanonicalCombiningClass_CCC130: 79 case icu4x::capi::CanonicalCombiningClass_CCC132: 80 case icu4x::capi::CanonicalCombiningClass_CCC133: 81 case icu4x::capi::CanonicalCombiningClass_AttachedBelowLeft: 82 case icu4x::capi::CanonicalCombiningClass_AttachedBelow: 83 case icu4x::capi::CanonicalCombiningClass_AttachedAbove: 84 case icu4x::capi::CanonicalCombiningClass_AttachedAboveRight: 85 case icu4x::capi::CanonicalCombiningClass_BelowLeft: 86 case icu4x::capi::CanonicalCombiningClass_Below: 87 case icu4x::capi::CanonicalCombiningClass_BelowRight: 88 case icu4x::capi::CanonicalCombiningClass_Left: 89 case icu4x::capi::CanonicalCombiningClass_Right: 90 case icu4x::capi::CanonicalCombiningClass_AboveLeft: 91 case icu4x::capi::CanonicalCombiningClass_Above: 92 case icu4x::capi::CanonicalCombiningClass_AboveRight: 93 case icu4x::capi::CanonicalCombiningClass_DoubleBelow: 94 case icu4x::capi::CanonicalCombiningClass_DoubleAbove: 95 case icu4x::capi::CanonicalCombiningClass_IotaSubscript: 96 return static_cast<icu4x::CanonicalCombiningClass::Value>(c_enum); 97 default: 98 abort(); 99 } 100 } 101 for_char(char32_t ch)102inline icu4x::CanonicalCombiningClass icu4x::CanonicalCombiningClass::for_char(char32_t ch) { 103 auto result = icu4x::capi::icu4x_CanonicalCombiningClass_for_char_mv1(ch); 104 return icu4x::CanonicalCombiningClass::FromFFI(result); 105 } 106 to_integer_value()107inline uint8_t icu4x::CanonicalCombiningClass::to_integer_value() { 108 auto result = icu4x::capi::icu4x_CanonicalCombiningClass_to_integer_value_mv1(this->AsFFI()); 109 return result; 110 } 111 from_integer_value(uint8_t other)112inline std::optional<icu4x::CanonicalCombiningClass> icu4x::CanonicalCombiningClass::from_integer_value(uint8_t other) { 113 auto result = icu4x::capi::icu4x_CanonicalCombiningClass_from_integer_value_mv1(other); 114 return result.is_ok ? std::optional<icu4x::CanonicalCombiningClass>(icu4x::CanonicalCombiningClass::FromFFI(result.ok)) : std::nullopt; 115 } 116 #endif // icu4x_CanonicalCombiningClass_HPP 117