ICU4X
International Components for Unicode
Loading...
Searching...
No Matches
CaseMapper.d.hpp
Go to the documentation of this file.
1#ifndef ICU4X_CaseMapper_D_HPP
2#define ICU4X_CaseMapper_D_HPP
3
4#include <stdio.h>
5#include <stdint.h>
6#include <stddef.h>
7#include <stdbool.h>
8#include <memory>
9#include <functional>
10#include <optional>
11#include <cstdlib>
12#include "diplomat_runtime.hpp"
13namespace icu4x {
14namespace capi { struct CaseMapper; }
15class CaseMapper;
16namespace capi { struct CodePointSetBuilder; }
18namespace capi { struct DataProvider; }
19class DataProvider;
20namespace capi { struct Locale; }
21class Locale;
23class DataError;
24} // namespace icu4x
25
26
27
28namespace icu4x {
29namespace capi {
30 struct CaseMapper;
31} // namespace capi
32} // namespace
33
34namespace icu4x {
38class CaseMapper {
39public:
40
46 inline static std::unique_ptr<icu4x::CaseMapper> create();
47
54
61 template<typename W>
62 inline icu4x::diplomat::result<std::monostate, icu4x::diplomat::Utf8Error> lowercase_write(std::string_view s, const icu4x::Locale& locale, W& writeable_output) const;
63
70 template<typename W>
71 inline icu4x::diplomat::result<std::monostate, icu4x::diplomat::Utf8Error> uppercase_write(std::string_view s, const icu4x::Locale& locale, W& writeable_output) const;
72
79 template<typename W>
80 inline static icu4x::diplomat::result<std::monostate, icu4x::diplomat::Utf8Error> lowercase_with_compiled_data_write(std::string_view s, const icu4x::Locale& locale, W& writeable_output);
81
88 template<typename W>
89 inline static icu4x::diplomat::result<std::monostate, icu4x::diplomat::Utf8Error> uppercase_with_compiled_data_write(std::string_view s, const icu4x::Locale& locale, W& writeable_output);
90
101 template<typename W>
103
115 template<typename W>
117
124 template<typename W>
125 inline icu4x::diplomat::result<std::monostate, icu4x::diplomat::Utf8Error> fold_write(std::string_view s, W& writeable_output) const;
126
134 template<typename W>
135 inline icu4x::diplomat::result<std::monostate, icu4x::diplomat::Utf8Error> fold_turkic_write(std::string_view s, W& writeable_output) const;
136
152 inline void add_case_closure_to(char32_t c, icu4x::CodePointSetBuilder& builder) const;
153
163 inline char32_t simple_lowercase(char32_t ch) const;
164
170 inline static char32_t simple_lowercase_with_compiled_data(char32_t ch);
171
181 inline char32_t simple_uppercase(char32_t ch) const;
182
188 inline static char32_t simple_uppercase_with_compiled_data(char32_t ch);
189
199 inline char32_t simple_titlecase(char32_t ch) const;
200
206 inline static char32_t simple_titlecase_with_compiled_data(char32_t ch);
207
216 inline char32_t simple_fold(char32_t ch) const;
217
223 inline static char32_t simple_fold_with_compiled_data(char32_t ch);
224
233 inline char32_t simple_fold_turkic(char32_t ch) const;
234
240 inline static char32_t simple_fold_turkic_with_compiled_data(char32_t ch);
241
242 inline const icu4x::capi::CaseMapper* AsFFI() const;
243 inline icu4x::capi::CaseMapper* AsFFI();
244 inline static const icu4x::CaseMapper* FromFFI(const icu4x::capi::CaseMapper* ptr);
245 inline static icu4x::CaseMapper* FromFFI(icu4x::capi::CaseMapper* ptr);
246 inline static void operator delete(void* ptr);
247private:
248 CaseMapper() = delete;
249 CaseMapper(const icu4x::CaseMapper&) = delete;
250 CaseMapper(icu4x::CaseMapper&&) noexcept = delete;
251 CaseMapper operator=(const icu4x::CaseMapper&) = delete;
252 CaseMapper operator=(icu4x::CaseMapper&&) noexcept = delete;
253 static void operator delete[](void*, size_t) = delete;
254};
255
256} // namespace
257#endif // ICU4X_CaseMapper_D_HPP
Definition CaseMapper.d.hpp:38
static std::unique_ptr< icu4x::CaseMapper > create()
Definition CaseMapper.hpp:75
icu4x::diplomat::result< std::string, icu4x::diplomat::Utf8Error > fold(std::string_view s) const
Definition CaseMapper.hpp:233
static icu4x::diplomat::result< std::monostate, icu4x::diplomat::Utf8Error > uppercase_with_compiled_data_write(std::string_view s, const icu4x::Locale &locale, W &writeable_output)
Definition CaseMapper.hpp:170
icu4x::diplomat::result< std::string, icu4x::diplomat::Utf8Error > titlecase_segment_with_only_case_data_v1(std::string_view s, const icu4x::Locale &locale, icu4x::TitlecaseOptionsV1 options) const
Definition CaseMapper.hpp:181
icu4x::diplomat::result< std::string, icu4x::diplomat::Utf8Error > uppercase(std::string_view s, const icu4x::Locale &locale) const
Definition CaseMapper.hpp:110
char32_t simple_fold(char32_t ch) const
Definition CaseMapper.hpp:318
icu4x::diplomat::result< std::monostate, icu4x::diplomat::Utf8Error > fold_write(std::string_view s, W &writeable_output) const
Definition CaseMapper.hpp:245
static icu4x::diplomat::result< std::string, icu4x::diplomat::Utf8Error > titlecase_segment_with_only_case_compiled_data_v1(std::string_view s, const icu4x::Locale &locale, icu4x::TitlecaseOptionsV1 options)
Definition CaseMapper.hpp:208
static icu4x::diplomat::result< std::unique_ptr< icu4x::CaseMapper >, icu4x::DataError > create_with_provider(const icu4x::DataProvider &provider)
Definition CaseMapper.hpp:80
icu4x::diplomat::result< std::monostate, icu4x::diplomat::Utf8Error > lowercase_write(std::string_view s, const icu4x::Locale &locale, W &writeable_output) const
Definition CaseMapper.hpp:98
char32_t simple_titlecase(char32_t ch) const
Definition CaseMapper.hpp:307
void add_case_closure_to(char32_t c, icu4x::CodePointSetBuilder &builder) const
Definition CaseMapper.hpp:279
icu4x::diplomat::result< std::monostate, icu4x::diplomat::Utf8Error > titlecase_segment_with_only_case_data_v1_write(std::string_view s, const icu4x::Locale &locale, icu4x::TitlecaseOptionsV1 options, W &writeable_output) const
Definition CaseMapper.hpp:195
static icu4x::diplomat::result< std::string, icu4x::diplomat::Utf8Error > lowercase_with_compiled_data(std::string_view s, const icu4x::Locale &locale)
Definition CaseMapper.hpp:135
static char32_t simple_uppercase_with_compiled_data(char32_t ch)
Definition CaseMapper.hpp:302
icu4x::diplomat::result< std::string, icu4x::diplomat::Utf8Error > lowercase(std::string_view s, const icu4x::Locale &locale) const
Definition CaseMapper.hpp:85
icu4x::diplomat::result< std::monostate, icu4x::diplomat::Utf8Error > fold_turkic_write(std::string_view s, W &writeable_output) const
Definition CaseMapper.hpp:268
static char32_t simple_fold_turkic_with_compiled_data(char32_t ch)
Definition CaseMapper.hpp:335
char32_t simple_fold_turkic(char32_t ch) const
Definition CaseMapper.hpp:329
static icu4x::diplomat::result< std::string, icu4x::diplomat::Utf8Error > uppercase_with_compiled_data(std::string_view s, const icu4x::Locale &locale)
Definition CaseMapper.hpp:158
static char32_t simple_fold_with_compiled_data(char32_t ch)
Definition CaseMapper.hpp:324
icu4x::diplomat::result< std::string, icu4x::diplomat::Utf8Error > fold_turkic(std::string_view s) const
Definition CaseMapper.hpp:256
icu4x::diplomat::result< std::monostate, icu4x::diplomat::Utf8Error > uppercase_write(std::string_view s, const icu4x::Locale &locale, W &writeable_output) const
Definition CaseMapper.hpp:123
static char32_t simple_titlecase_with_compiled_data(char32_t ch)
Definition CaseMapper.hpp:313
static char32_t simple_lowercase_with_compiled_data(char32_t ch)
Definition CaseMapper.hpp:291
char32_t simple_lowercase(char32_t ch) const
Definition CaseMapper.hpp:285
static icu4x::diplomat::result< std::monostate, icu4x::diplomat::Utf8Error > lowercase_with_compiled_data_write(std::string_view s, const icu4x::Locale &locale, W &writeable_output)
Definition CaseMapper.hpp:147
static icu4x::diplomat::result< std::monostate, icu4x::diplomat::Utf8Error > titlecase_segment_with_only_case_compiled_data_v1_write(std::string_view s, const icu4x::Locale &locale, icu4x::TitlecaseOptionsV1 options, W &writeable_output)
Definition CaseMapper.hpp:221
char32_t simple_uppercase(char32_t ch) const
Definition CaseMapper.hpp:296
Definition CodePointSetBuilder.d.hpp:32
Definition DataError.d.hpp:37
Definition DataProvider.d.hpp:40
Definition Locale.d.hpp:33
Definition diplomat_runtime.hpp:166
Definition Bidi.d.hpp:13
Definition TitlecaseOptionsV1.d.hpp:39