BidiMirroringGlyph.hpp (1614B)
1 #ifndef icu4x_BidiMirroringGlyph_HPP 2 #define icu4x_BidiMirroringGlyph_HPP 3 4 #include "BidiMirroringGlyph.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 <cstdlib> 14 #include "../diplomat_runtime.hpp" 15 #include "BidiPairedBracketType.hpp" 16 17 18 namespace icu4x { 19 namespace capi { 20 extern "C" { 21 22 icu4x::capi::BidiMirroringGlyph icu4x_BidiMirroringGlyph_for_char_mv1(char32_t ch); 23 24 } // extern "C" 25 } // namespace capi 26 } // namespace 27 28 inline icu4x::BidiMirroringGlyph icu4x::BidiMirroringGlyph::for_char(char32_t ch) { 29 auto result = icu4x::capi::icu4x_BidiMirroringGlyph_for_char_mv1(ch); 30 return icu4x::BidiMirroringGlyph::FromFFI(result); 31 } 32 33 34 inline icu4x::capi::BidiMirroringGlyph icu4x::BidiMirroringGlyph::AsFFI() const { 35 return icu4x::capi::BidiMirroringGlyph { 36 /* .mirroring_glyph = */ mirroring_glyph.has_value() ? (diplomat::capi::OptionChar{ { mirroring_glyph.value() }, true }) : (diplomat::capi::OptionChar{ {}, false }), 37 /* .mirrored = */ mirrored, 38 /* .paired_bracket_type = */ paired_bracket_type.AsFFI(), 39 }; 40 } 41 42 inline icu4x::BidiMirroringGlyph icu4x::BidiMirroringGlyph::FromFFI(icu4x::capi::BidiMirroringGlyph c_struct) { 43 return icu4x::BidiMirroringGlyph { 44 /* .mirroring_glyph = */ c_struct.mirroring_glyph.is_ok ? std::optional(c_struct.mirroring_glyph.ok) : std::nullopt, 45 /* .mirrored = */ c_struct.mirrored, 46 /* .paired_bracket_type = */ icu4x::BidiPairedBracketType::FromFFI(c_struct.paired_bracket_type), 47 }; 48 } 49 50 51 #endif // icu4x_BidiMirroringGlyph_HPP