tor-browser

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

Script.hpp (9191B)


      1 #ifndef icu4x_Script_HPP
      2 #define icu4x_Script_HPP
      3 
      4 #include "Script.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 
     16 
     17 namespace icu4x {
     18 namespace capi {
     19    extern "C" {
     20 
     21    icu4x::capi::Script icu4x_Script_for_char_mv1(char32_t ch);
     22 
     23    typedef struct icu4x_Script_long_name_mv1_result {union {diplomat::capi::DiplomatStringView ok; }; bool is_ok;} icu4x_Script_long_name_mv1_result;
     24    icu4x_Script_long_name_mv1_result icu4x_Script_long_name_mv1(icu4x::capi::Script self);
     25 
     26    typedef struct icu4x_Script_short_name_mv1_result {union {diplomat::capi::DiplomatStringView ok; }; bool is_ok;} icu4x_Script_short_name_mv1_result;
     27    icu4x_Script_short_name_mv1_result icu4x_Script_short_name_mv1(icu4x::capi::Script self);
     28 
     29    uint16_t icu4x_Script_to_integer_value_mv1(icu4x::capi::Script self);
     30 
     31    typedef struct icu4x_Script_from_integer_value_mv1_result {union {icu4x::capi::Script ok; }; bool is_ok;} icu4x_Script_from_integer_value_mv1_result;
     32    icu4x_Script_from_integer_value_mv1_result icu4x_Script_from_integer_value_mv1(uint16_t other);
     33 
     34    } // extern "C"
     35 } // namespace capi
     36 } // namespace
     37 
     38 inline icu4x::capi::Script icu4x::Script::AsFFI() const {
     39  return static_cast<icu4x::capi::Script>(value);
     40 }
     41 
     42 inline icu4x::Script icu4x::Script::FromFFI(icu4x::capi::Script c_enum) {
     43  switch (c_enum) {
     44    case icu4x::capi::Script_Adlam:
     45    case icu4x::capi::Script_Ahom:
     46    case icu4x::capi::Script_AnatolianHieroglyphs:
     47    case icu4x::capi::Script_Arabic:
     48    case icu4x::capi::Script_Armenian:
     49    case icu4x::capi::Script_Avestan:
     50    case icu4x::capi::Script_Balinese:
     51    case icu4x::capi::Script_Bamum:
     52    case icu4x::capi::Script_BassaVah:
     53    case icu4x::capi::Script_Batak:
     54    case icu4x::capi::Script_Bengali:
     55    case icu4x::capi::Script_Bhaiksuki:
     56    case icu4x::capi::Script_Bopomofo:
     57    case icu4x::capi::Script_Brahmi:
     58    case icu4x::capi::Script_Braille:
     59    case icu4x::capi::Script_Buginese:
     60    case icu4x::capi::Script_Buhid:
     61    case icu4x::capi::Script_CanadianAboriginal:
     62    case icu4x::capi::Script_Carian:
     63    case icu4x::capi::Script_CaucasianAlbanian:
     64    case icu4x::capi::Script_Chakma:
     65    case icu4x::capi::Script_Cham:
     66    case icu4x::capi::Script_Cherokee:
     67    case icu4x::capi::Script_Chorasmian:
     68    case icu4x::capi::Script_Common:
     69    case icu4x::capi::Script_Coptic:
     70    case icu4x::capi::Script_Cuneiform:
     71    case icu4x::capi::Script_Cypriot:
     72    case icu4x::capi::Script_CyproMinoan:
     73    case icu4x::capi::Script_Cyrillic:
     74    case icu4x::capi::Script_Deseret:
     75    case icu4x::capi::Script_Devanagari:
     76    case icu4x::capi::Script_DivesAkuru:
     77    case icu4x::capi::Script_Dogra:
     78    case icu4x::capi::Script_Duployan:
     79    case icu4x::capi::Script_EgyptianHieroglyphs:
     80    case icu4x::capi::Script_Elbasan:
     81    case icu4x::capi::Script_Elymaic:
     82    case icu4x::capi::Script_Ethiopian:
     83    case icu4x::capi::Script_Georgian:
     84    case icu4x::capi::Script_Glagolitic:
     85    case icu4x::capi::Script_Gothic:
     86    case icu4x::capi::Script_Grantha:
     87    case icu4x::capi::Script_Greek:
     88    case icu4x::capi::Script_Gujarati:
     89    case icu4x::capi::Script_GunjalaGondi:
     90    case icu4x::capi::Script_Gurmukhi:
     91    case icu4x::capi::Script_Han:
     92    case icu4x::capi::Script_Hangul:
     93    case icu4x::capi::Script_HanifiRohingya:
     94    case icu4x::capi::Script_Hanunoo:
     95    case icu4x::capi::Script_Hatran:
     96    case icu4x::capi::Script_Hebrew:
     97    case icu4x::capi::Script_Hiragana:
     98    case icu4x::capi::Script_ImperialAramaic:
     99    case icu4x::capi::Script_Inherited:
    100    case icu4x::capi::Script_InscriptionalPahlavi:
    101    case icu4x::capi::Script_InscriptionalParthian:
    102    case icu4x::capi::Script_Javanese:
    103    case icu4x::capi::Script_Kaithi:
    104    case icu4x::capi::Script_Kannada:
    105    case icu4x::capi::Script_Katakana:
    106    case icu4x::capi::Script_Kawi:
    107    case icu4x::capi::Script_KayahLi:
    108    case icu4x::capi::Script_Kharoshthi:
    109    case icu4x::capi::Script_KhitanSmallScript:
    110    case icu4x::capi::Script_Khmer:
    111    case icu4x::capi::Script_Khojki:
    112    case icu4x::capi::Script_Khudawadi:
    113    case icu4x::capi::Script_Lao:
    114    case icu4x::capi::Script_Latin:
    115    case icu4x::capi::Script_Lepcha:
    116    case icu4x::capi::Script_Limbu:
    117    case icu4x::capi::Script_LinearA:
    118    case icu4x::capi::Script_LinearB:
    119    case icu4x::capi::Script_Lisu:
    120    case icu4x::capi::Script_Lycian:
    121    case icu4x::capi::Script_Lydian:
    122    case icu4x::capi::Script_Mahajani:
    123    case icu4x::capi::Script_Makasar:
    124    case icu4x::capi::Script_Malayalam:
    125    case icu4x::capi::Script_Mandaic:
    126    case icu4x::capi::Script_Manichaean:
    127    case icu4x::capi::Script_Marchen:
    128    case icu4x::capi::Script_MasaramGondi:
    129    case icu4x::capi::Script_Medefaidrin:
    130    case icu4x::capi::Script_MeeteiMayek:
    131    case icu4x::capi::Script_MendeKikakui:
    132    case icu4x::capi::Script_MeroiticCursive:
    133    case icu4x::capi::Script_MeroiticHieroglyphs:
    134    case icu4x::capi::Script_Miao:
    135    case icu4x::capi::Script_Modi:
    136    case icu4x::capi::Script_Mongolian:
    137    case icu4x::capi::Script_Mro:
    138    case icu4x::capi::Script_Multani:
    139    case icu4x::capi::Script_Myanmar:
    140    case icu4x::capi::Script_Nabataean:
    141    case icu4x::capi::Script_NagMundari:
    142    case icu4x::capi::Script_Nandinagari:
    143    case icu4x::capi::Script_Nastaliq:
    144    case icu4x::capi::Script_NewTaiLue:
    145    case icu4x::capi::Script_Newa:
    146    case icu4x::capi::Script_Nko:
    147    case icu4x::capi::Script_Nushu:
    148    case icu4x::capi::Script_NyiakengPuachueHmong:
    149    case icu4x::capi::Script_Ogham:
    150    case icu4x::capi::Script_OlChiki:
    151    case icu4x::capi::Script_OldHungarian:
    152    case icu4x::capi::Script_OldItalic:
    153    case icu4x::capi::Script_OldNorthArabian:
    154    case icu4x::capi::Script_OldPermic:
    155    case icu4x::capi::Script_OldPersian:
    156    case icu4x::capi::Script_OldSogdian:
    157    case icu4x::capi::Script_OldSouthArabian:
    158    case icu4x::capi::Script_OldTurkic:
    159    case icu4x::capi::Script_OldUyghur:
    160    case icu4x::capi::Script_Oriya:
    161    case icu4x::capi::Script_Osage:
    162    case icu4x::capi::Script_Osmanya:
    163    case icu4x::capi::Script_PahawhHmong:
    164    case icu4x::capi::Script_Palmyrene:
    165    case icu4x::capi::Script_PauCinHau:
    166    case icu4x::capi::Script_PhagsPa:
    167    case icu4x::capi::Script_Phoenician:
    168    case icu4x::capi::Script_PsalterPahlavi:
    169    case icu4x::capi::Script_Rejang:
    170    case icu4x::capi::Script_Runic:
    171    case icu4x::capi::Script_Samaritan:
    172    case icu4x::capi::Script_Saurashtra:
    173    case icu4x::capi::Script_Sharada:
    174    case icu4x::capi::Script_Shavian:
    175    case icu4x::capi::Script_Siddham:
    176    case icu4x::capi::Script_SignWriting:
    177    case icu4x::capi::Script_Sinhala:
    178    case icu4x::capi::Script_Sogdian:
    179    case icu4x::capi::Script_SoraSompeng:
    180    case icu4x::capi::Script_Soyombo:
    181    case icu4x::capi::Script_Sundanese:
    182    case icu4x::capi::Script_SylotiNagri:
    183    case icu4x::capi::Script_Syriac:
    184    case icu4x::capi::Script_Tagalog:
    185    case icu4x::capi::Script_Tagbanwa:
    186    case icu4x::capi::Script_TaiLe:
    187    case icu4x::capi::Script_TaiTham:
    188    case icu4x::capi::Script_TaiViet:
    189    case icu4x::capi::Script_Takri:
    190    case icu4x::capi::Script_Tamil:
    191    case icu4x::capi::Script_Tangsa:
    192    case icu4x::capi::Script_Tangut:
    193    case icu4x::capi::Script_Telugu:
    194    case icu4x::capi::Script_Thaana:
    195    case icu4x::capi::Script_Thai:
    196    case icu4x::capi::Script_Tibetan:
    197    case icu4x::capi::Script_Tifinagh:
    198    case icu4x::capi::Script_Tirhuta:
    199    case icu4x::capi::Script_Toto:
    200    case icu4x::capi::Script_Ugaritic:
    201    case icu4x::capi::Script_Unknown:
    202    case icu4x::capi::Script_Vai:
    203    case icu4x::capi::Script_Vithkuqi:
    204    case icu4x::capi::Script_Wancho:
    205    case icu4x::capi::Script_WarangCiti:
    206    case icu4x::capi::Script_Yezidi:
    207    case icu4x::capi::Script_Yi:
    208    case icu4x::capi::Script_ZanabazarSquare:
    209      return static_cast<icu4x::Script::Value>(c_enum);
    210    default:
    211      std::abort();
    212  }
    213 }
    214 
    215 inline icu4x::Script icu4x::Script::for_char(char32_t ch) {
    216  auto result = icu4x::capi::icu4x_Script_for_char_mv1(ch);
    217  return icu4x::Script::FromFFI(result);
    218 }
    219 
    220 inline std::optional<std::string_view> icu4x::Script::long_name() const {
    221  auto result = icu4x::capi::icu4x_Script_long_name_mv1(this->AsFFI());
    222  return result.is_ok ? std::optional<std::string_view>(std::string_view(result.ok.data, result.ok.len)) : std::nullopt;
    223 }
    224 
    225 inline std::optional<std::string_view> icu4x::Script::short_name() const {
    226  auto result = icu4x::capi::icu4x_Script_short_name_mv1(this->AsFFI());
    227  return result.is_ok ? std::optional<std::string_view>(std::string_view(result.ok.data, result.ok.len)) : std::nullopt;
    228 }
    229 
    230 inline uint16_t icu4x::Script::to_integer_value() const {
    231  auto result = icu4x::capi::icu4x_Script_to_integer_value_mv1(this->AsFFI());
    232  return result;
    233 }
    234 
    235 inline std::optional<icu4x::Script> icu4x::Script::from_integer_value(uint16_t other) {
    236  auto result = icu4x::capi::icu4x_Script_from_integer_value_mv1(other);
    237  return result.is_ok ? std::optional<icu4x::Script>(icu4x::Script::FromFFI(result.ok)) : std::nullopt;
    238 }
    239 #endif // icu4x_Script_HPP