tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

CanonicalCombiningClass.d.hpp (5927B)


      1 #ifndef icu4x_CanonicalCombiningClass_D_HPP
      2 #define icu4x_CanonicalCombiningClass_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 <cstdlib>
     12 #include "../diplomat_runtime.hpp"
     13 
     14 namespace icu4x {
     15 class CanonicalCombiningClass;
     16 }
     17 
     18 
     19 namespace icu4x {
     20 namespace capi {
     21    enum CanonicalCombiningClass {
     22      CanonicalCombiningClass_NotReordered = 0,
     23      CanonicalCombiningClass_Overlay = 1,
     24      CanonicalCombiningClass_HanReading = 6,
     25      CanonicalCombiningClass_Nukta = 7,
     26      CanonicalCombiningClass_KanaVoicing = 8,
     27      CanonicalCombiningClass_Virama = 9,
     28      CanonicalCombiningClass_CCC10 = 10,
     29      CanonicalCombiningClass_CCC11 = 11,
     30      CanonicalCombiningClass_CCC12 = 12,
     31      CanonicalCombiningClass_CCC13 = 13,
     32      CanonicalCombiningClass_CCC14 = 14,
     33      CanonicalCombiningClass_CCC15 = 15,
     34      CanonicalCombiningClass_CCC16 = 16,
     35      CanonicalCombiningClass_CCC17 = 17,
     36      CanonicalCombiningClass_CCC18 = 18,
     37      CanonicalCombiningClass_CCC19 = 19,
     38      CanonicalCombiningClass_CCC20 = 20,
     39      CanonicalCombiningClass_CCC21 = 21,
     40      CanonicalCombiningClass_CCC22 = 22,
     41      CanonicalCombiningClass_CCC23 = 23,
     42      CanonicalCombiningClass_CCC24 = 24,
     43      CanonicalCombiningClass_CCC25 = 25,
     44      CanonicalCombiningClass_CCC26 = 26,
     45      CanonicalCombiningClass_CCC27 = 27,
     46      CanonicalCombiningClass_CCC28 = 28,
     47      CanonicalCombiningClass_CCC29 = 29,
     48      CanonicalCombiningClass_CCC30 = 30,
     49      CanonicalCombiningClass_CCC31 = 31,
     50      CanonicalCombiningClass_CCC32 = 32,
     51      CanonicalCombiningClass_CCC33 = 33,
     52      CanonicalCombiningClass_CCC34 = 34,
     53      CanonicalCombiningClass_CCC35 = 35,
     54      CanonicalCombiningClass_CCC36 = 36,
     55      CanonicalCombiningClass_CCC84 = 84,
     56      CanonicalCombiningClass_CCC91 = 91,
     57      CanonicalCombiningClass_CCC103 = 103,
     58      CanonicalCombiningClass_CCC107 = 107,
     59      CanonicalCombiningClass_CCC118 = 118,
     60      CanonicalCombiningClass_CCC122 = 122,
     61      CanonicalCombiningClass_CCC129 = 129,
     62      CanonicalCombiningClass_CCC130 = 130,
     63      CanonicalCombiningClass_CCC132 = 132,
     64      CanonicalCombiningClass_CCC133 = 133,
     65      CanonicalCombiningClass_AttachedBelowLeft = 200,
     66      CanonicalCombiningClass_AttachedBelow = 202,
     67      CanonicalCombiningClass_AttachedAbove = 214,
     68      CanonicalCombiningClass_AttachedAboveRight = 216,
     69      CanonicalCombiningClass_BelowLeft = 218,
     70      CanonicalCombiningClass_Below = 220,
     71      CanonicalCombiningClass_BelowRight = 222,
     72      CanonicalCombiningClass_Left = 224,
     73      CanonicalCombiningClass_Right = 226,
     74      CanonicalCombiningClass_AboveLeft = 228,
     75      CanonicalCombiningClass_Above = 230,
     76      CanonicalCombiningClass_AboveRight = 232,
     77      CanonicalCombiningClass_DoubleBelow = 233,
     78      CanonicalCombiningClass_DoubleAbove = 234,
     79      CanonicalCombiningClass_IotaSubscript = 240,
     80    };
     81 
     82    typedef struct CanonicalCombiningClass_option {union { CanonicalCombiningClass ok; }; bool is_ok; } CanonicalCombiningClass_option;
     83 } // namespace capi
     84 } // namespace
     85 
     86 namespace icu4x {
     87 /**
     88 * See the [Rust documentation for `CanonicalCombiningClass`](https://docs.rs/icu/latest/icu/properties/props/struct.CanonicalCombiningClass.html) for more information.
     89 */
     90 class CanonicalCombiningClass {
     91 public:
     92  enum Value {
     93    NotReordered = 0,
     94    Overlay = 1,
     95    HanReading = 6,
     96    Nukta = 7,
     97    KanaVoicing = 8,
     98    Virama = 9,
     99    CCC10 = 10,
    100    CCC11 = 11,
    101    CCC12 = 12,
    102    CCC13 = 13,
    103    CCC14 = 14,
    104    CCC15 = 15,
    105    CCC16 = 16,
    106    CCC17 = 17,
    107    CCC18 = 18,
    108    CCC19 = 19,
    109    CCC20 = 20,
    110    CCC21 = 21,
    111    CCC22 = 22,
    112    CCC23 = 23,
    113    CCC24 = 24,
    114    CCC25 = 25,
    115    CCC26 = 26,
    116    CCC27 = 27,
    117    CCC28 = 28,
    118    CCC29 = 29,
    119    CCC30 = 30,
    120    CCC31 = 31,
    121    CCC32 = 32,
    122    CCC33 = 33,
    123    CCC34 = 34,
    124    CCC35 = 35,
    125    CCC36 = 36,
    126    CCC84 = 84,
    127    CCC91 = 91,
    128    CCC103 = 103,
    129    CCC107 = 107,
    130    CCC118 = 118,
    131    CCC122 = 122,
    132    CCC129 = 129,
    133    CCC130 = 130,
    134    CCC132 = 132,
    135    CCC133 = 133,
    136    AttachedBelowLeft = 200,
    137    AttachedBelow = 202,
    138    AttachedAbove = 214,
    139    AttachedAboveRight = 216,
    140    BelowLeft = 218,
    141    Below = 220,
    142    BelowRight = 222,
    143    Left = 224,
    144    Right = 226,
    145    AboveLeft = 228,
    146    Above = 230,
    147    AboveRight = 232,
    148    DoubleBelow = 233,
    149    DoubleAbove = 234,
    150    IotaSubscript = 240,
    151  };
    152 
    153  CanonicalCombiningClass() = default;
    154  // Implicit conversions between enum and ::Value
    155  constexpr CanonicalCombiningClass(Value v) : value(v) {}
    156  constexpr operator Value() const { return value; }
    157  // Prevent usage as boolean value
    158  explicit operator bool() const = delete;
    159 
    160  /**
    161   * See the [Rust documentation for `for_char`](https://docs.rs/icu/latest/icu/properties/props/trait.EnumeratedProperty.html#tymethod.for_char) for more information.
    162   */
    163  inline static icu4x::CanonicalCombiningClass for_char(char32_t ch);
    164 
    165  /**
    166   * Convert to an integer value usable with ICU4C and CodePointMapData
    167   *
    168   * See the [Rust documentation for `to_icu4c_value`](https://docs.rs/icu/latest/icu/properties/props/struct.CanonicalCombiningClass.html#method.to_icu4c_value) for more information.
    169   */
    170  inline uint8_t to_integer_value() const;
    171 
    172  /**
    173   * Convert from an integer value from ICU4C or CodePointMapData
    174   *
    175   * See the [Rust documentation for `from_icu4c_value`](https://docs.rs/icu/latest/icu/properties/props/struct.CanonicalCombiningClass.html#method.from_icu4c_value) for more information.
    176   */
    177  inline static std::optional<icu4x::CanonicalCombiningClass> from_integer_value(uint8_t other);
    178 
    179  inline icu4x::capi::CanonicalCombiningClass AsFFI() const;
    180  inline static icu4x::CanonicalCombiningClass FromFFI(icu4x::capi::CanonicalCombiningClass c_enum);
    181 private:
    182    Value value;
    183 };
    184 
    185 } // namespace
    186 #endif // icu4x_CanonicalCombiningClass_D_HPP