• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef icu4x_BidiMirroringGlyph_D_HPP
2 #define icu4x_BidiMirroringGlyph_D_HPP
3 
4 #include <stdio.h>
5 #include <stdint.h>
6 #include <stddef.h>
7 #include <stdbool.h>
8 #include <memory>
9 #include <functional>
10 #include <optional>
11 #include "../diplomat_runtime.hpp"
12 #include "BidiPairedBracketType.d.hpp"
13 
14 namespace icu4x {
15 struct BidiMirroringGlyph;
16 class BidiPairedBracketType;
17 }
18 
19 
20 namespace icu4x {
21 namespace capi {
22     struct BidiMirroringGlyph {
23       diplomat::capi::OptionChar mirroring_glyph;
24       bool mirrored;
25       icu4x::capi::BidiPairedBracketType paired_bracket_type;
26     };
27 
28     typedef struct BidiMirroringGlyph_option {union { BidiMirroringGlyph ok; }; bool is_ok; } BidiMirroringGlyph_option;
29 } // namespace capi
30 } // namespace
31 
32 
33 namespace icu4x {
34 struct BidiMirroringGlyph {
35   std::optional<char32_t> mirroring_glyph;
36   bool mirrored;
37   icu4x::BidiPairedBracketType paired_bracket_type;
38 
39   inline static icu4x::BidiMirroringGlyph for_char(char32_t ch);
40 
41   inline icu4x::capi::BidiMirroringGlyph AsFFI() const;
42   inline static icu4x::BidiMirroringGlyph FromFFI(icu4x::capi::BidiMirroringGlyph c_struct);
43 };
44 
45 } // namespace
46 #endif // icu4x_BidiMirroringGlyph_D_HPP
47