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::WordSegmenter* icu4x_WordSegmenter_create_for_non_complex_scripts_mv1(
void);
53 typedef struct icu4x_WordSegmenter_create_for_non_complex_scripts_with_content_locale_mv1_result {
union {icu4x::capi::WordSegmenter* ok; icu4x::capi::DataError err;};
bool is_ok;} icu4x_WordSegmenter_create_for_non_complex_scripts_with_content_locale_mv1_result;
54 icu4x_WordSegmenter_create_for_non_complex_scripts_with_content_locale_mv1_result icu4x_WordSegmenter_create_for_non_complex_scripts_with_content_locale_mv1(
const icu4x::capi::Locale* locale);
56 typedef struct icu4x_WordSegmenter_create_for_non_complex_scripts_with_content_locale_and_provider_mv1_result {
union {icu4x::capi::WordSegmenter* ok; icu4x::capi::DataError err;};
bool is_ok;} icu4x_WordSegmenter_create_for_non_complex_scripts_with_content_locale_and_provider_mv1_result;
57 icu4x_WordSegmenter_create_for_non_complex_scripts_with_content_locale_and_provider_mv1_result icu4x_WordSegmenter_create_for_non_complex_scripts_with_content_locale_and_provider_mv1(
const icu4x::capi::DataProvider* provider,
const icu4x::capi::Locale* locale);
59 icu4x::capi::WordBreakIteratorUtf8* icu4x_WordSegmenter_segment_utf8_mv1(
const icu4x::capi::WordSegmenter* self, icu4x::diplomat::capi::DiplomatStringView input);
61 icu4x::capi::WordBreakIteratorUtf16* icu4x_WordSegmenter_segment_utf16_mv1(
const icu4x::capi::WordSegmenter* self, icu4x::diplomat::capi::DiplomatString16View input);
63 icu4x::capi::WordBreakIteratorLatin1* icu4x_WordSegmenter_segment_latin1_mv1(
const icu4x::capi::WordSegmenter* self, icu4x::diplomat::capi::DiplomatU8View input);
65 void icu4x_WordSegmenter_destroy_mv1(WordSegmenter* self);
72 auto result = icu4x::capi::icu4x_WordSegmenter_create_auto_mv1();
73 return std::unique_ptr<icu4x::WordSegmenter>(icu4x::WordSegmenter::FromFFI(result));
77 auto result = icu4x::capi::icu4x_WordSegmenter_create_auto_with_content_locale_mv1(locale.AsFFI());
82 auto result = icu4x::capi::icu4x_WordSegmenter_create_auto_with_content_locale_and_provider_mv1(provider.AsFFI(),
88 auto result = icu4x::capi::icu4x_WordSegmenter_create_lstm_mv1();
89 return std::unique_ptr<icu4x::WordSegmenter>(icu4x::WordSegmenter::FromFFI(result));
93 auto result = icu4x::capi::icu4x_WordSegmenter_create_lstm_with_content_locale_mv1(locale.AsFFI());
98 auto result = icu4x::capi::icu4x_WordSegmenter_create_lstm_with_content_locale_and_provider_mv1(provider.AsFFI(),
104 auto result = icu4x::capi::icu4x_WordSegmenter_create_dictionary_mv1();
105 return std::unique_ptr<icu4x::WordSegmenter>(icu4x::WordSegmenter::FromFFI(result));
109 auto result = icu4x::capi::icu4x_WordSegmenter_create_dictionary_with_content_locale_mv1(locale.AsFFI());
114 auto result = icu4x::capi::icu4x_WordSegmenter_create_dictionary_with_content_locale_and_provider_mv1(provider.AsFFI(),
120 auto result = icu4x::capi::icu4x_WordSegmenter_create_for_non_complex_scripts_mv1();
121 return std::unique_ptr<icu4x::WordSegmenter>(icu4x::WordSegmenter::FromFFI(result));
125 auto result = icu4x::capi::icu4x_WordSegmenter_create_for_non_complex_scripts_with_content_locale_mv1(locale.AsFFI());
130 auto result = icu4x::capi::icu4x_WordSegmenter_create_for_non_complex_scripts_with_content_locale_and_provider_mv1(provider.AsFFI(),
136 auto result = icu4x::capi::icu4x_WordSegmenter_segment_utf8_mv1(this->AsFFI(),
137 {input.data(), input.size()});
138 return std::unique_ptr<icu4x::WordBreakIteratorUtf8>(icu4x::WordBreakIteratorUtf8::FromFFI(result));
142 auto result = icu4x::capi::icu4x_WordSegmenter_segment_utf16_mv1(this->AsFFI(),
143 {input.data(), input.size()});
144 return std::unique_ptr<icu4x::WordBreakIteratorUtf16>(icu4x::WordBreakIteratorUtf16::FromFFI(result));
148 auto result = icu4x::capi::icu4x_WordSegmenter_segment_latin1_mv1(this->AsFFI(),
150 return std::unique_ptr<icu4x::WordBreakIteratorLatin1>(icu4x::WordBreakIteratorLatin1::FromFFI(result));
153inline const icu4x::capi::WordSegmenter* icu4x::WordSegmenter::AsFFI()
const {
154 return reinterpret_cast<const icu4x::capi::WordSegmenter*
>(
this);
157inline icu4x::capi::WordSegmenter* icu4x::WordSegmenter::AsFFI() {
158 return reinterpret_cast<icu4x::capi::WordSegmenter*
>(
this);
161inline const icu4x::WordSegmenter* icu4x::WordSegmenter::FromFFI(
const icu4x::capi::WordSegmenter* ptr) {
162 return reinterpret_cast<const icu4x::WordSegmenter*
>(ptr);
165inline icu4x::WordSegmenter* icu4x::WordSegmenter::FromFFI(icu4x::capi::WordSegmenter* ptr) {
166 return reinterpret_cast<icu4x::WordSegmenter*
>(ptr);
169inline void icu4x::WordSegmenter::operator
delete(
void* ptr) {
170 icu4x::capi::icu4x_WordSegmenter_destroy_mv1(
reinterpret_cast<icu4x::capi::WordSegmenter*
>(ptr));
Definition DataError.d.hpp:37
Definition DataProvider.d.hpp:40
Definition Locale.d.hpp:33
static icu4x::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:81
static std::unique_ptr< icu4x::WordSegmenter > create_dictionary()
Definition WordSegmenter.hpp:103
std::unique_ptr< icu4x::WordBreakIteratorUtf8 > segment(std::string_view input) const
Definition WordSegmenter.hpp:135
std::unique_ptr< icu4x::WordBreakIteratorUtf16 > segment16(std::u16string_view input) const
Definition WordSegmenter.hpp:141
static icu4x::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:113
static icu4x::diplomat::result< std::unique_ptr< icu4x::WordSegmenter >, icu4x::DataError > create_lstm_with_content_locale(const icu4x::Locale &locale)
Definition WordSegmenter.hpp:92
static icu4x::diplomat::result< std::unique_ptr< icu4x::WordSegmenter >, icu4x::DataError > create_for_non_complex_scripts_with_content_locale(const icu4x::Locale &locale)
Definition WordSegmenter.hpp:124
static std::unique_ptr< icu4x::WordSegmenter > create_auto()
Definition WordSegmenter.hpp:71
static icu4x::diplomat::result< std::unique_ptr< icu4x::WordSegmenter >, icu4x::DataError > create_dictionary_with_content_locale(const icu4x::Locale &locale)
Definition WordSegmenter.hpp:108
static icu4x::diplomat::result< std::unique_ptr< icu4x::WordSegmenter >, icu4x::DataError > create_for_non_complex_scripts_with_content_locale_and_provider(const icu4x::DataProvider &provider, const icu4x::Locale &locale)
Definition WordSegmenter.hpp:129
static std::unique_ptr< icu4x::WordSegmenter > create_for_non_complex_scripts()
Definition WordSegmenter.hpp:119
static icu4x::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:97
std::unique_ptr< icu4x::WordBreakIteratorLatin1 > segment_latin1(icu4x::diplomat::span< const uint8_t > input) const
Definition WordSegmenter.hpp:147
static std::unique_ptr< icu4x::WordSegmenter > create_lstm()
Definition WordSegmenter.hpp:87
static icu4x::diplomat::result< std::unique_ptr< icu4x::WordSegmenter >, icu4x::DataError > create_auto_with_content_locale(const icu4x::Locale &locale)
Definition WordSegmenter.hpp:76
Definition diplomat_runtime.hpp:166
Definition diplomat_runtime.hpp:252
constexpr T * data() const noexcept
Definition diplomat_runtime.hpp:263
constexpr size_t size() const noexcept
Definition diplomat_runtime.hpp:266
Definition diplomat_runtime.hpp:146
Definition diplomat_runtime.hpp:128