ICU4X
International Components for Unicode
Loading...
Searching...
No Matches
DecomposingNormalizer.hpp
Go to the documentation of this file.
1#ifndef ICU4X_DecomposingNormalizer_HPP
2#define ICU4X_DecomposingNormalizer_HPP
3
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 "DataError.hpp"
15#include "DataProvider.hpp"
16#include "diplomat_runtime.hpp"
17
18
19namespace icu4x {
20namespace capi {
21 extern "C" {
22
23 icu4x::capi::DecomposingNormalizer* icu4x_DecomposingNormalizer_create_nfd_mv1(void);
24
25 typedef struct icu4x_DecomposingNormalizer_create_nfd_with_provider_mv1_result {union {icu4x::capi::DecomposingNormalizer* ok; icu4x::capi::DataError err;}; bool is_ok;} icu4x_DecomposingNormalizer_create_nfd_with_provider_mv1_result;
26 icu4x_DecomposingNormalizer_create_nfd_with_provider_mv1_result icu4x_DecomposingNormalizer_create_nfd_with_provider_mv1(const icu4x::capi::DataProvider* provider);
27
28 icu4x::capi::DecomposingNormalizer* icu4x_DecomposingNormalizer_create_nfkd_mv1(void);
29
30 typedef struct icu4x_DecomposingNormalizer_create_nfkd_with_provider_mv1_result {union {icu4x::capi::DecomposingNormalizer* ok; icu4x::capi::DataError err;}; bool is_ok;} icu4x_DecomposingNormalizer_create_nfkd_with_provider_mv1_result;
31 icu4x_DecomposingNormalizer_create_nfkd_with_provider_mv1_result icu4x_DecomposingNormalizer_create_nfkd_with_provider_mv1(const icu4x::capi::DataProvider* provider);
32
33 void icu4x_DecomposingNormalizer_normalize_mv1(const icu4x::capi::DecomposingNormalizer* self, icu4x::diplomat::capi::DiplomatStringView s, icu4x::diplomat::capi::DiplomatWrite* write);
34
35 void icu4x_DecomposingNormalizer_normalize_utf16_mv1(const icu4x::capi::DecomposingNormalizer* self, icu4x::diplomat::capi::DiplomatString16View s, icu4x::diplomat::capi::DiplomatWrite* write);
36
37 bool icu4x_DecomposingNormalizer_is_normalized_mv1(const icu4x::capi::DecomposingNormalizer* self, icu4x::diplomat::capi::DiplomatStringView s);
38
39 bool icu4x_DecomposingNormalizer_is_normalized_utf16_mv1(const icu4x::capi::DecomposingNormalizer* self, icu4x::diplomat::capi::DiplomatString16View s);
40
41 size_t icu4x_DecomposingNormalizer_is_normalized_up_to_mv1(const icu4x::capi::DecomposingNormalizer* self, icu4x::diplomat::capi::DiplomatStringView s);
42
43 size_t icu4x_DecomposingNormalizer_is_normalized_utf16_up_to_mv1(const icu4x::capi::DecomposingNormalizer* self, icu4x::diplomat::capi::DiplomatString16View s);
44
45 void icu4x_DecomposingNormalizer_destroy_mv1(DecomposingNormalizer* self);
46
47 } // extern "C"
48} // namespace capi
49} // namespace
50
51inline std::unique_ptr<icu4x::DecomposingNormalizer> icu4x::DecomposingNormalizer::create_nfd() {
52 auto result = icu4x::capi::icu4x_DecomposingNormalizer_create_nfd_mv1();
53 return std::unique_ptr<icu4x::DecomposingNormalizer>(icu4x::DecomposingNormalizer::FromFFI(result));
54}
55
57 auto result = icu4x::capi::icu4x_DecomposingNormalizer_create_nfd_with_provider_mv1(provider.AsFFI());
59}
60
61inline std::unique_ptr<icu4x::DecomposingNormalizer> icu4x::DecomposingNormalizer::create_nfkd() {
62 auto result = icu4x::capi::icu4x_DecomposingNormalizer_create_nfkd_mv1();
63 return std::unique_ptr<icu4x::DecomposingNormalizer>(icu4x::DecomposingNormalizer::FromFFI(result));
64}
65
67 auto result = icu4x::capi::icu4x_DecomposingNormalizer_create_nfkd_with_provider_mv1(provider.AsFFI());
69}
70
71inline std::string icu4x::DecomposingNormalizer::normalize(std::string_view s) const {
72 std::string output;
73 icu4x::diplomat::capi::DiplomatWrite write = icu4x::diplomat::WriteFromString(output);
74 icu4x::capi::icu4x_DecomposingNormalizer_normalize_mv1(this->AsFFI(),
75 {s.data(), s.size()},
76 &write);
77 return output;
78}
79template<typename W>
80inline void icu4x::DecomposingNormalizer::normalize_write(std::string_view s, W& writeable) const {
81 icu4x::diplomat::capi::DiplomatWrite write = icu4x::diplomat::WriteTrait<W>::Construct(writeable);
82 icu4x::capi::icu4x_DecomposingNormalizer_normalize_mv1(this->AsFFI(),
83 {s.data(), s.size()},
84 &write);
85}
86
87inline std::u16string icu4x::DecomposingNormalizer::normalize16(std::u16string_view s) const {
88 std::u16string output;
89 icu4x::diplomat::capi::DiplomatWrite write = icu4x::diplomat::WriteFromString16(output);
90 icu4x::capi::icu4x_DecomposingNormalizer_normalize_utf16_mv1(this->AsFFI(),
91 {s.data(), s.size()},
92 &write);
93 return output;
94}
95template<typename W>
96inline void icu4x::DecomposingNormalizer::normalize16_write(std::u16string_view s, W& writeable) const {
97 icu4x::diplomat::capi::DiplomatWrite write = icu4x::diplomat::WriteTrait<W>::Construct(writeable);
98 icu4x::capi::icu4x_DecomposingNormalizer_normalize_utf16_mv1(this->AsFFI(),
99 {s.data(), s.size()},
100 &write);
101}
102
103inline bool icu4x::DecomposingNormalizer::is_normalized(std::string_view s) const {
104 auto result = icu4x::capi::icu4x_DecomposingNormalizer_is_normalized_mv1(this->AsFFI(),
105 {s.data(), s.size()});
106 return result;
107}
108
109inline bool icu4x::DecomposingNormalizer::is_normalized16(std::u16string_view s) const {
110 auto result = icu4x::capi::icu4x_DecomposingNormalizer_is_normalized_utf16_mv1(this->AsFFI(),
111 {s.data(), s.size()});
112 return result;
113}
114
115inline size_t icu4x::DecomposingNormalizer::is_normalized_up_to(std::string_view s) const {
116 auto result = icu4x::capi::icu4x_DecomposingNormalizer_is_normalized_up_to_mv1(this->AsFFI(),
117 {s.data(), s.size()});
118 return result;
119}
120
121inline size_t icu4x::DecomposingNormalizer::is_normalized16_up_to(std::u16string_view s) const {
122 auto result = icu4x::capi::icu4x_DecomposingNormalizer_is_normalized_utf16_up_to_mv1(this->AsFFI(),
123 {s.data(), s.size()});
124 return result;
125}
126
127inline const icu4x::capi::DecomposingNormalizer* icu4x::DecomposingNormalizer::AsFFI() const {
128 return reinterpret_cast<const icu4x::capi::DecomposingNormalizer*>(this);
129}
130
131inline icu4x::capi::DecomposingNormalizer* icu4x::DecomposingNormalizer::AsFFI() {
132 return reinterpret_cast<icu4x::capi::DecomposingNormalizer*>(this);
133}
134
135inline const icu4x::DecomposingNormalizer* icu4x::DecomposingNormalizer::FromFFI(const icu4x::capi::DecomposingNormalizer* ptr) {
136 return reinterpret_cast<const icu4x::DecomposingNormalizer*>(ptr);
137}
138
139inline icu4x::DecomposingNormalizer* icu4x::DecomposingNormalizer::FromFFI(icu4x::capi::DecomposingNormalizer* ptr) {
140 return reinterpret_cast<icu4x::DecomposingNormalizer*>(ptr);
141}
142
143inline void icu4x::DecomposingNormalizer::operator delete(void* ptr) {
144 icu4x::capi::icu4x_DecomposingNormalizer_destroy_mv1(reinterpret_cast<icu4x::capi::DecomposingNormalizer*>(ptr));
145}
146
147
148#endif // ICU4X_DecomposingNormalizer_HPP
Definition DataError.d.hpp:37
Definition DataProvider.d.hpp:40
Definition DecomposingNormalizer.d.hpp:33
void normalize16_write(std::u16string_view s, W &writeable_output) const
Definition DecomposingNormalizer.hpp:96
static std::unique_ptr< icu4x::DecomposingNormalizer > create_nfd()
Definition DecomposingNormalizer.hpp:51
std::string normalize(std::string_view s) const
Definition DecomposingNormalizer.hpp:71
static icu4x::diplomat::result< std::unique_ptr< icu4x::DecomposingNormalizer >, icu4x::DataError > create_nfkd_with_provider(const icu4x::DataProvider &provider)
Definition DecomposingNormalizer.hpp:66
void normalize_write(std::string_view s, W &writeable_output) const
Definition DecomposingNormalizer.hpp:80
bool is_normalized16(std::u16string_view s) const
Definition DecomposingNormalizer.hpp:109
std::u16string normalize16(std::u16string_view s) const
Definition DecomposingNormalizer.hpp:87
static std::unique_ptr< icu4x::DecomposingNormalizer > create_nfkd()
Definition DecomposingNormalizer.hpp:61
size_t is_normalized_up_to(std::string_view s) const
Definition DecomposingNormalizer.hpp:115
static icu4x::diplomat::result< std::unique_ptr< icu4x::DecomposingNormalizer >, icu4x::DataError > create_nfd_with_provider(const icu4x::DataProvider &provider)
Definition DecomposingNormalizer.hpp:56
size_t is_normalized16_up_to(std::u16string_view s) const
Definition DecomposingNormalizer.hpp:121
bool is_normalized(std::string_view s) const
Definition DecomposingNormalizer.hpp:103
capi::DiplomatWrite WriteFromString16(std::u16string &string)
Definition diplomat_runtime.hpp:149
Definition Bidi.d.hpp:13
Definition diplomat_runtime.hpp:243
Definition diplomat_runtime.hpp:202