tor-browser

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

SentenceBreak.hpp (3681B)


      1 #ifndef icu4x_SentenceBreak_HPP
      2 #define icu4x_SentenceBreak_HPP
      3 
      4 #include "SentenceBreak.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::SentenceBreak icu4x_SentenceBreak_for_char_mv1(char32_t ch);
     22 
     23    typedef struct icu4x_SentenceBreak_long_name_mv1_result {union {diplomat::capi::DiplomatStringView ok; }; bool is_ok;} icu4x_SentenceBreak_long_name_mv1_result;
     24    icu4x_SentenceBreak_long_name_mv1_result icu4x_SentenceBreak_long_name_mv1(icu4x::capi::SentenceBreak self);
     25 
     26    typedef struct icu4x_SentenceBreak_short_name_mv1_result {union {diplomat::capi::DiplomatStringView ok; }; bool is_ok;} icu4x_SentenceBreak_short_name_mv1_result;
     27    icu4x_SentenceBreak_short_name_mv1_result icu4x_SentenceBreak_short_name_mv1(icu4x::capi::SentenceBreak self);
     28 
     29    uint8_t icu4x_SentenceBreak_to_integer_value_mv1(icu4x::capi::SentenceBreak self);
     30 
     31    typedef struct icu4x_SentenceBreak_from_integer_value_mv1_result {union {icu4x::capi::SentenceBreak ok; }; bool is_ok;} icu4x_SentenceBreak_from_integer_value_mv1_result;
     32    icu4x_SentenceBreak_from_integer_value_mv1_result icu4x_SentenceBreak_from_integer_value_mv1(uint8_t other);
     33 
     34    } // extern "C"
     35 } // namespace capi
     36 } // namespace
     37 
     38 inline icu4x::capi::SentenceBreak icu4x::SentenceBreak::AsFFI() const {
     39  return static_cast<icu4x::capi::SentenceBreak>(value);
     40 }
     41 
     42 inline icu4x::SentenceBreak icu4x::SentenceBreak::FromFFI(icu4x::capi::SentenceBreak c_enum) {
     43  switch (c_enum) {
     44    case icu4x::capi::SentenceBreak_Other:
     45    case icu4x::capi::SentenceBreak_ATerm:
     46    case icu4x::capi::SentenceBreak_Close:
     47    case icu4x::capi::SentenceBreak_Format:
     48    case icu4x::capi::SentenceBreak_Lower:
     49    case icu4x::capi::SentenceBreak_Numeric:
     50    case icu4x::capi::SentenceBreak_OLetter:
     51    case icu4x::capi::SentenceBreak_Sep:
     52    case icu4x::capi::SentenceBreak_Sp:
     53    case icu4x::capi::SentenceBreak_STerm:
     54    case icu4x::capi::SentenceBreak_Upper:
     55    case icu4x::capi::SentenceBreak_CR:
     56    case icu4x::capi::SentenceBreak_Extend:
     57    case icu4x::capi::SentenceBreak_LF:
     58    case icu4x::capi::SentenceBreak_SContinue:
     59      return static_cast<icu4x::SentenceBreak::Value>(c_enum);
     60    default:
     61      std::abort();
     62  }
     63 }
     64 
     65 inline icu4x::SentenceBreak icu4x::SentenceBreak::for_char(char32_t ch) {
     66  auto result = icu4x::capi::icu4x_SentenceBreak_for_char_mv1(ch);
     67  return icu4x::SentenceBreak::FromFFI(result);
     68 }
     69 
     70 inline std::optional<std::string_view> icu4x::SentenceBreak::long_name() const {
     71  auto result = icu4x::capi::icu4x_SentenceBreak_long_name_mv1(this->AsFFI());
     72  return result.is_ok ? std::optional<std::string_view>(std::string_view(result.ok.data, result.ok.len)) : std::nullopt;
     73 }
     74 
     75 inline std::optional<std::string_view> icu4x::SentenceBreak::short_name() const {
     76  auto result = icu4x::capi::icu4x_SentenceBreak_short_name_mv1(this->AsFFI());
     77  return result.is_ok ? std::optional<std::string_view>(std::string_view(result.ok.data, result.ok.len)) : std::nullopt;
     78 }
     79 
     80 inline uint8_t icu4x::SentenceBreak::to_integer_value() const {
     81  auto result = icu4x::capi::icu4x_SentenceBreak_to_integer_value_mv1(this->AsFFI());
     82  return result;
     83 }
     84 
     85 inline std::optional<icu4x::SentenceBreak> icu4x::SentenceBreak::from_integer_value(uint8_t other) {
     86  auto result = icu4x::capi::icu4x_SentenceBreak_from_integer_value_mv1(other);
     87  return result.is_ok ? std::optional<icu4x::SentenceBreak>(icu4x::SentenceBreak::FromFFI(result.ok)) : std::nullopt;
     88 }
     89 #endif // icu4x_SentenceBreak_HPP