tor-browser

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

WordBreak.hpp (3822B)


      1 #ifndef icu4x_WordBreak_HPP
      2 #define icu4x_WordBreak_HPP
      3 
      4 #include "WordBreak.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::WordBreak icu4x_WordBreak_for_char_mv1(char32_t ch);
     22 
     23    typedef struct icu4x_WordBreak_long_name_mv1_result {union {diplomat::capi::DiplomatStringView ok; }; bool is_ok;} icu4x_WordBreak_long_name_mv1_result;
     24    icu4x_WordBreak_long_name_mv1_result icu4x_WordBreak_long_name_mv1(icu4x::capi::WordBreak self);
     25 
     26    typedef struct icu4x_WordBreak_short_name_mv1_result {union {diplomat::capi::DiplomatStringView ok; }; bool is_ok;} icu4x_WordBreak_short_name_mv1_result;
     27    icu4x_WordBreak_short_name_mv1_result icu4x_WordBreak_short_name_mv1(icu4x::capi::WordBreak self);
     28 
     29    uint8_t icu4x_WordBreak_to_integer_value_mv1(icu4x::capi::WordBreak self);
     30 
     31    typedef struct icu4x_WordBreak_from_integer_value_mv1_result {union {icu4x::capi::WordBreak ok; }; bool is_ok;} icu4x_WordBreak_from_integer_value_mv1_result;
     32    icu4x_WordBreak_from_integer_value_mv1_result icu4x_WordBreak_from_integer_value_mv1(uint8_t other);
     33 
     34    } // extern "C"
     35 } // namespace capi
     36 } // namespace
     37 
     38 inline icu4x::capi::WordBreak icu4x::WordBreak::AsFFI() const {
     39  return static_cast<icu4x::capi::WordBreak>(value);
     40 }
     41 
     42 inline icu4x::WordBreak icu4x::WordBreak::FromFFI(icu4x::capi::WordBreak c_enum) {
     43  switch (c_enum) {
     44    case icu4x::capi::WordBreak_Other:
     45    case icu4x::capi::WordBreak_ALetter:
     46    case icu4x::capi::WordBreak_Format:
     47    case icu4x::capi::WordBreak_Katakana:
     48    case icu4x::capi::WordBreak_MidLetter:
     49    case icu4x::capi::WordBreak_MidNum:
     50    case icu4x::capi::WordBreak_Numeric:
     51    case icu4x::capi::WordBreak_ExtendNumLet:
     52    case icu4x::capi::WordBreak_CR:
     53    case icu4x::capi::WordBreak_Extend:
     54    case icu4x::capi::WordBreak_LF:
     55    case icu4x::capi::WordBreak_MidNumLet:
     56    case icu4x::capi::WordBreak_Newline:
     57    case icu4x::capi::WordBreak_RegionalIndicator:
     58    case icu4x::capi::WordBreak_HebrewLetter:
     59    case icu4x::capi::WordBreak_SingleQuote:
     60    case icu4x::capi::WordBreak_DoubleQuote:
     61    case icu4x::capi::WordBreak_EBase:
     62    case icu4x::capi::WordBreak_EBaseGAZ:
     63    case icu4x::capi::WordBreak_EModifier:
     64    case icu4x::capi::WordBreak_GlueAfterZwj:
     65    case icu4x::capi::WordBreak_ZWJ:
     66    case icu4x::capi::WordBreak_WSegSpace:
     67      return static_cast<icu4x::WordBreak::Value>(c_enum);
     68    default:
     69      std::abort();
     70  }
     71 }
     72 
     73 inline icu4x::WordBreak icu4x::WordBreak::for_char(char32_t ch) {
     74  auto result = icu4x::capi::icu4x_WordBreak_for_char_mv1(ch);
     75  return icu4x::WordBreak::FromFFI(result);
     76 }
     77 
     78 inline std::optional<std::string_view> icu4x::WordBreak::long_name() const {
     79  auto result = icu4x::capi::icu4x_WordBreak_long_name_mv1(this->AsFFI());
     80  return result.is_ok ? std::optional<std::string_view>(std::string_view(result.ok.data, result.ok.len)) : std::nullopt;
     81 }
     82 
     83 inline std::optional<std::string_view> icu4x::WordBreak::short_name() const {
     84  auto result = icu4x::capi::icu4x_WordBreak_short_name_mv1(this->AsFFI());
     85  return result.is_ok ? std::optional<std::string_view>(std::string_view(result.ok.data, result.ok.len)) : std::nullopt;
     86 }
     87 
     88 inline uint8_t icu4x::WordBreak::to_integer_value() const {
     89  auto result = icu4x::capi::icu4x_WordBreak_to_integer_value_mv1(this->AsFFI());
     90  return result;
     91 }
     92 
     93 inline std::optional<icu4x::WordBreak> icu4x::WordBreak::from_integer_value(uint8_t other) {
     94  auto result = icu4x::capi::icu4x_WordBreak_from_integer_value_mv1(other);
     95  return result.is_ok ? std::optional<icu4x::WordBreak>(icu4x::WordBreak::FromFFI(result.ok)) : std::nullopt;
     96 }
     97 #endif // icu4x_WordBreak_HPP