1#ifndef icu4x_WordSegmenter_HPP
2#define icu4x_WordSegmenter_HPP
27 icu4x::capi::WordSegmenter* icu4x_WordSegmenter_create_auto_mv1(
void);
29 typedef struct icu4x_WordSegmenter_create_auto_with_content_locale_mv1_result {
union {icu4x::capi::WordSegmenter* ok; icu4x::capi::DataError err;};
bool is_ok;} icu4x_WordSegmenter_create_auto_with_content_locale_mv1_result;
30 icu4x_WordSegmenter_create_auto_with_content_locale_mv1_result icu4x_WordSegmenter_create_auto_with_content_locale_mv1(
const icu4x::capi::Locale* locale);
32 typedef struct icu4x_WordSegmenter_create_auto_with_content_locale_and_provider_mv1_result {
union {icu4x::capi::WordSegmenter* ok; icu4x::capi::DataError err;};
bool is_ok;} icu4x_WordSegmenter_create_auto_with_content_locale_and_provider_mv1_result;
33 icu4x_WordSegmenter_create_auto_with_content_locale_and_provider_mv1_result icu4x_WordSegmenter_create_auto_with_content_locale_and_provider_mv1(
const icu4x::capi::DataProvider* provider,
const icu4x::capi::Locale* locale);
35 icu4x::capi::WordSegmenter* icu4x_WordSegmenter_create_lstm_mv1(
void);
37 typedef struct icu4x_WordSegmenter_create_lstm_with_content_locale_mv1_result {
union {icu4x::capi::WordSegmenter* ok; icu4x::capi::DataError err;};
bool is_ok;} icu4x_WordSegmenter_create_lstm_with_content_locale_mv1_result;
38 icu4x_WordSegmenter_create_lstm_with_content_locale_mv1_result icu4x_WordSegmenter_create_lstm_with_content_locale_mv1(
const icu4x::capi::Locale* locale);
40 typedef struct icu4x_WordSegmenter_create_lstm_with_content_locale_and_provider_mv1_result {
union {icu4x::capi::WordSegmenter* ok; icu4x::capi::DataError err;};
bool is_ok;} icu4x_WordSegmenter_create_lstm_with_content_locale_and_provider_mv1_result;
41 icu4x_WordSegmenter_create_lstm_with_content_locale_and_provider_mv1_result icu4x_WordSegmenter_create_lstm_with_content_locale_and_provider_mv1(
const icu4x::capi::DataProvider* provider,
const icu4x::capi::Locale* locale);
43 icu4x::capi::WordSegmenter* icu4x_WordSegmenter_create_dictionary_mv1(
void);
45 typedef struct icu4x_WordSegmenter_create_dictionary_with_content_locale_mv1_result {
union {icu4x::capi::WordSegmenter* ok; icu4x::capi::DataError err;};
bool is_ok;} icu4x_WordSegmenter_create_dictionary_with_content_locale_mv1_result;
46 icu4x_WordSegmenter_create_dictionary_with_content_locale_mv1_result icu4x_WordSegmenter_create_dictionary_with_content_locale_mv1(
const icu4x::capi::Locale* locale);
48 typedef struct icu4x_WordSegmenter_create_dictionary_with_content_locale_and_provider_mv1_result {
union {icu4x::capi::WordSegmenter* ok; icu4x::capi::DataError err;};
bool is_ok;} icu4x_WordSegmenter_create_dictionary_with_content_locale_and_provider_mv1_result;
49 icu4x_WordSegmenter_create_dictionary_with_content_locale_and_provider_mv1_result icu4x_WordSegmenter_create_dictionary_with_content_locale_and_provider_mv1(
const icu4x::capi::DataProvider* provider,
const icu4x::capi::Locale* locale);
51 icu4x::capi::WordBreakIteratorUtf8* icu4x_WordSegmenter_segment_utf8_mv1(
const icu4x::capi::WordSegmenter* self, diplomat::capi::DiplomatStringView input);
53 icu4x::capi::WordBreakIteratorUtf16* icu4x_WordSegmenter_segment_utf16_mv1(
const icu4x::capi::WordSegmenter* self, diplomat::capi::DiplomatString16View input);
55 icu4x::capi::WordBreakIteratorLatin1* icu4x_WordSegmenter_segment_latin1_mv1(
const icu4x::capi::WordSegmenter* self, diplomat::capi::DiplomatU8View input);
57 void icu4x_WordSegmenter_destroy_mv1(WordSegmenter* self);
64 auto result = icu4x::capi::icu4x_WordSegmenter_create_auto_mv1();
65 return std::unique_ptr<icu4x::WordSegmenter>(icu4x::WordSegmenter::FromFFI(result));
69 auto result = icu4x::capi::icu4x_WordSegmenter_create_auto_with_content_locale_mv1(locale.AsFFI());
74 auto result = icu4x::capi::icu4x_WordSegmenter_create_auto_with_content_locale_and_provider_mv1(provider.AsFFI(),
80 auto result = icu4x::capi::icu4x_WordSegmenter_create_lstm_mv1();
81 return std::unique_ptr<icu4x::WordSegmenter>(icu4x::WordSegmenter::FromFFI(result));
85 auto result = icu4x::capi::icu4x_WordSegmenter_create_lstm_with_content_locale_mv1(locale.AsFFI());
90 auto result = icu4x::capi::icu4x_WordSegmenter_create_lstm_with_content_locale_and_provider_mv1(provider.AsFFI(),
96 auto result = icu4x::capi::icu4x_WordSegmenter_create_dictionary_mv1();
97 return std::unique_ptr<icu4x::WordSegmenter>(icu4x::WordSegmenter::FromFFI(result));
101 auto result = icu4x::capi::icu4x_WordSegmenter_create_dictionary_with_content_locale_mv1(locale.AsFFI());
106 auto result = icu4x::capi::icu4x_WordSegmenter_create_dictionary_with_content_locale_and_provider_mv1(provider.AsFFI(),
112 auto result = icu4x::capi::icu4x_WordSegmenter_segment_utf8_mv1(this->AsFFI(),
113 {input.data(), input.size()});
114 return std::unique_ptr<icu4x::WordBreakIteratorUtf8>(icu4x::WordBreakIteratorUtf8::FromFFI(result));
118 auto result = icu4x::capi::icu4x_WordSegmenter_segment_utf16_mv1(this->AsFFI(),
119 {input.data(), input.size()});
120 return std::unique_ptr<icu4x::WordBreakIteratorUtf16>(icu4x::WordBreakIteratorUtf16::FromFFI(result));
124 auto result = icu4x::capi::icu4x_WordSegmenter_segment_latin1_mv1(this->AsFFI(),
126 return std::unique_ptr<icu4x::WordBreakIteratorLatin1>(icu4x::WordBreakIteratorLatin1::FromFFI(result));
129inline const icu4x::capi::WordSegmenter* icu4x::WordSegmenter::AsFFI()
const {
130 return reinterpret_cast<const icu4x::capi::WordSegmenter*
>(
this);
133inline icu4x::capi::WordSegmenter* icu4x::WordSegmenter::AsFFI() {
134 return reinterpret_cast<icu4x::capi::WordSegmenter*
>(
this);
137inline const icu4x::WordSegmenter* icu4x::WordSegmenter::FromFFI(
const icu4x::capi::WordSegmenter* ptr) {
138 return reinterpret_cast<const icu4x::WordSegmenter*
>(ptr);
141inline icu4x::WordSegmenter* icu4x::WordSegmenter::FromFFI(icu4x::capi::WordSegmenter* ptr) {
142 return reinterpret_cast<icu4x::WordSegmenter*
>(ptr);
145inline void icu4x::WordSegmenter::operator
delete(
void* ptr) {
146 icu4x::capi::icu4x_WordSegmenter_destroy_mv1(
reinterpret_cast<icu4x::capi::WordSegmenter*
>(ptr));
Definition diplomat_runtime.hpp:140
Definition diplomat_runtime.hpp:223
constexpr T * data() const noexcept
Definition diplomat_runtime.hpp:234
constexpr size_t size() const noexcept
Definition diplomat_runtime.hpp:237
Definition DataError.d.hpp:37
Definition DataProvider.d.hpp:40
Definition Locale.d.hpp:33
static diplomat::result< std::unique_ptr< icu4x::WordSegmenter >, icu4x::DataError > create_lstm_with_content_locale(const icu4x::Locale &locale)
Definition WordSegmenter.hpp:84
static std::unique_ptr< icu4x::WordSegmenter > create_dictionary()
Definition WordSegmenter.hpp:95
std::unique_ptr< icu4x::WordBreakIteratorUtf8 > segment(std::string_view input) const
Definition WordSegmenter.hpp:111
std::unique_ptr< icu4x::WordBreakIteratorUtf16 > segment16(std::u16string_view input) const
Definition WordSegmenter.hpp:117
static diplomat::result< std::unique_ptr< icu4x::WordSegmenter >, icu4x::DataError > create_dictionary_with_content_locale(const icu4x::Locale &locale)
Definition WordSegmenter.hpp:100
static std::unique_ptr< icu4x::WordSegmenter > create_auto()
Definition WordSegmenter.hpp:63
static diplomat::result< std::unique_ptr< icu4x::WordSegmenter >, icu4x::DataError > create_dictionary_with_content_locale_and_provider(const icu4x::DataProvider &provider, const icu4x::Locale &locale)
Definition WordSegmenter.hpp:105
std::unique_ptr< icu4x::WordBreakIteratorLatin1 > segment_latin1(diplomat::span< const uint8_t > input) const
Definition WordSegmenter.hpp:123
static diplomat::result< std::unique_ptr< icu4x::WordSegmenter >, icu4x::DataError > create_lstm_with_content_locale_and_provider(const icu4x::DataProvider &provider, const icu4x::Locale &locale)
Definition WordSegmenter.hpp:89
static diplomat::result< std::unique_ptr< icu4x::WordSegmenter >, icu4x::DataError > create_auto_with_content_locale_and_provider(const icu4x::DataProvider &provider, const icu4x::Locale &locale)
Definition WordSegmenter.hpp:73
static diplomat::result< std::unique_ptr< icu4x::WordSegmenter >, icu4x::DataError > create_auto_with_content_locale(const icu4x::Locale &locale)
Definition WordSegmenter.hpp:68
static std::unique_ptr< icu4x::WordSegmenter > create_lstm()
Definition WordSegmenter.hpp:79
Definition diplomat_runtime.hpp:125
Definition diplomat_runtime.hpp:111