ICU4X
International Components for Unicode
Loading...
Searching...
No Matches
CodePointSetBuilder.hpp
Go to the documentation of this file.
1#ifndef icu4x_CodePointSetBuilder_HPP
2#define icu4x_CodePointSetBuilder_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>
15#include "CodePointSetData.hpp"
16
17
18namespace icu4x {
19namespace capi {
20 extern "C" {
21
22 icu4x::capi::CodePointSetBuilder* icu4x_CodePointSetBuilder_create_mv1(void);
23
24 icu4x::capi::CodePointSetData* icu4x_CodePointSetBuilder_build_mv1(icu4x::capi::CodePointSetBuilder* self);
25
26 void icu4x_CodePointSetBuilder_complement_mv1(icu4x::capi::CodePointSetBuilder* self);
27
28 bool icu4x_CodePointSetBuilder_is_empty_mv1(const icu4x::capi::CodePointSetBuilder* self);
29
30 void icu4x_CodePointSetBuilder_add_char_mv1(icu4x::capi::CodePointSetBuilder* self, char32_t ch);
31
32 void icu4x_CodePointSetBuilder_add_inclusive_range_mv1(icu4x::capi::CodePointSetBuilder* self, char32_t start, char32_t end);
33
34 void icu4x_CodePointSetBuilder_add_set_mv1(icu4x::capi::CodePointSetBuilder* self, const icu4x::capi::CodePointSetData* data);
35
36 void icu4x_CodePointSetBuilder_remove_char_mv1(icu4x::capi::CodePointSetBuilder* self, char32_t ch);
37
38 void icu4x_CodePointSetBuilder_remove_inclusive_range_mv1(icu4x::capi::CodePointSetBuilder* self, char32_t start, char32_t end);
39
40 void icu4x_CodePointSetBuilder_remove_set_mv1(icu4x::capi::CodePointSetBuilder* self, const icu4x::capi::CodePointSetData* data);
41
42 void icu4x_CodePointSetBuilder_retain_char_mv1(icu4x::capi::CodePointSetBuilder* self, char32_t ch);
43
44 void icu4x_CodePointSetBuilder_retain_inclusive_range_mv1(icu4x::capi::CodePointSetBuilder* self, char32_t start, char32_t end);
45
46 void icu4x_CodePointSetBuilder_retain_set_mv1(icu4x::capi::CodePointSetBuilder* self, const icu4x::capi::CodePointSetData* data);
47
48 void icu4x_CodePointSetBuilder_complement_char_mv1(icu4x::capi::CodePointSetBuilder* self, char32_t ch);
49
50 void icu4x_CodePointSetBuilder_complement_inclusive_range_mv1(icu4x::capi::CodePointSetBuilder* self, char32_t start, char32_t end);
51
52 void icu4x_CodePointSetBuilder_complement_set_mv1(icu4x::capi::CodePointSetBuilder* self, const icu4x::capi::CodePointSetData* data);
53
54 void icu4x_CodePointSetBuilder_destroy_mv1(CodePointSetBuilder* self);
55
56 } // extern "C"
57} // namespace capi
58} // namespace
59
60inline std::unique_ptr<icu4x::CodePointSetBuilder> icu4x::CodePointSetBuilder::create() {
61 auto result = icu4x::capi::icu4x_CodePointSetBuilder_create_mv1();
62 return std::unique_ptr<icu4x::CodePointSetBuilder>(icu4x::CodePointSetBuilder::FromFFI(result));
63}
64
65inline std::unique_ptr<icu4x::CodePointSetData> icu4x::CodePointSetBuilder::build() {
66 auto result = icu4x::capi::icu4x_CodePointSetBuilder_build_mv1(this->AsFFI());
67 return std::unique_ptr<icu4x::CodePointSetData>(icu4x::CodePointSetData::FromFFI(result));
68}
69
71 icu4x::capi::icu4x_CodePointSetBuilder_complement_mv1(this->AsFFI());
72}
73
75 auto result = icu4x::capi::icu4x_CodePointSetBuilder_is_empty_mv1(this->AsFFI());
76 return result;
77}
78
79inline void icu4x::CodePointSetBuilder::add_char(char32_t ch) {
80 icu4x::capi::icu4x_CodePointSetBuilder_add_char_mv1(this->AsFFI(),
81 ch);
82}
83
84inline void icu4x::CodePointSetBuilder::add_inclusive_range(char32_t start, char32_t end) {
85 icu4x::capi::icu4x_CodePointSetBuilder_add_inclusive_range_mv1(this->AsFFI(),
86 start,
87 end);
88}
89
91 icu4x::capi::icu4x_CodePointSetBuilder_add_set_mv1(this->AsFFI(),
92 data.AsFFI());
93}
94
96 icu4x::capi::icu4x_CodePointSetBuilder_remove_char_mv1(this->AsFFI(),
97 ch);
98}
99
100inline void icu4x::CodePointSetBuilder::remove_inclusive_range(char32_t start, char32_t end) {
101 icu4x::capi::icu4x_CodePointSetBuilder_remove_inclusive_range_mv1(this->AsFFI(),
102 start,
103 end);
104}
105
107 icu4x::capi::icu4x_CodePointSetBuilder_remove_set_mv1(this->AsFFI(),
108 data.AsFFI());
109}
110
112 icu4x::capi::icu4x_CodePointSetBuilder_retain_char_mv1(this->AsFFI(),
113 ch);
114}
115
116inline void icu4x::CodePointSetBuilder::retain_inclusive_range(char32_t start, char32_t end) {
117 icu4x::capi::icu4x_CodePointSetBuilder_retain_inclusive_range_mv1(this->AsFFI(),
118 start,
119 end);
120}
121
123 icu4x::capi::icu4x_CodePointSetBuilder_retain_set_mv1(this->AsFFI(),
124 data.AsFFI());
125}
126
128 icu4x::capi::icu4x_CodePointSetBuilder_complement_char_mv1(this->AsFFI(),
129 ch);
130}
131
132inline void icu4x::CodePointSetBuilder::complement_inclusive_range(char32_t start, char32_t end) {
133 icu4x::capi::icu4x_CodePointSetBuilder_complement_inclusive_range_mv1(this->AsFFI(),
134 start,
135 end);
136}
137
139 icu4x::capi::icu4x_CodePointSetBuilder_complement_set_mv1(this->AsFFI(),
140 data.AsFFI());
141}
142
143inline const icu4x::capi::CodePointSetBuilder* icu4x::CodePointSetBuilder::AsFFI() const {
144 return reinterpret_cast<const icu4x::capi::CodePointSetBuilder*>(this);
145}
146
147inline icu4x::capi::CodePointSetBuilder* icu4x::CodePointSetBuilder::AsFFI() {
148 return reinterpret_cast<icu4x::capi::CodePointSetBuilder*>(this);
149}
150
151inline const icu4x::CodePointSetBuilder* icu4x::CodePointSetBuilder::FromFFI(const icu4x::capi::CodePointSetBuilder* ptr) {
152 return reinterpret_cast<const icu4x::CodePointSetBuilder*>(ptr);
153}
154
155inline icu4x::CodePointSetBuilder* icu4x::CodePointSetBuilder::FromFFI(icu4x::capi::CodePointSetBuilder* ptr) {
156 return reinterpret_cast<icu4x::CodePointSetBuilder*>(ptr);
157}
158
159inline void icu4x::CodePointSetBuilder::operator delete(void* ptr) {
160 icu4x::capi::icu4x_CodePointSetBuilder_destroy_mv1(reinterpret_cast<icu4x::capi::CodePointSetBuilder*>(ptr));
161}
162
163
164#endif // icu4x_CodePointSetBuilder_HPP
void complement_char(char32_t ch)
Definition CodePointSetBuilder.hpp:127
static std::unique_ptr< icu4x::CodePointSetBuilder > create()
Definition CodePointSetBuilder.hpp:60
void complement_set(const icu4x::CodePointSetData &data)
Definition CodePointSetBuilder.hpp:138
bool is_empty() const
Definition CodePointSetBuilder.hpp:74
void remove_inclusive_range(char32_t start, char32_t end)
Definition CodePointSetBuilder.hpp:100
void complement()
Definition CodePointSetBuilder.hpp:70
void add_char(char32_t ch)
Definition CodePointSetBuilder.hpp:79
void retain_char(char32_t ch)
Definition CodePointSetBuilder.hpp:111
std::unique_ptr< icu4x::CodePointSetData > build()
Definition CodePointSetBuilder.hpp:65
void remove_char(char32_t ch)
Definition CodePointSetBuilder.hpp:95
void retain_set(const icu4x::CodePointSetData &data)
Definition CodePointSetBuilder.hpp:122
void complement_inclusive_range(char32_t start, char32_t end)
Definition CodePointSetBuilder.hpp:132
void add_set(const icu4x::CodePointSetData &data)
Definition CodePointSetBuilder.hpp:90
void retain_inclusive_range(char32_t start, char32_t end)
Definition CodePointSetBuilder.hpp:116
void add_inclusive_range(char32_t start, char32_t end)
Definition CodePointSetBuilder.hpp:84
void remove_set(const icu4x::CodePointSetData &data)
Definition CodePointSetBuilder.hpp:106
Definition CodePointSetData.d.hpp:42
Definition Bidi.d.hpp:14