ICU4X
International Components for Unicode
Loading...
Searching...
No Matches
Locale.d.hpp
Go to the documentation of this file.
1#ifndef ICU4X_Locale_D_HPP
2#define ICU4X_Locale_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 Locale; }
15class Locale;
17} // namespace icu4x
18
19
20
21namespace icu4x {
22namespace capi {
23 struct Locale;
24} // namespace capi
25} // namespace
26
27namespace icu4x {
33class Locale {
34public:
35
46
52 inline static std::unique_ptr<icu4x::Locale> unknown();
53
59 inline static const icu4x::Locale& unknown_ref();
60
66 inline std::unique_ptr<icu4x::Locale> clone() const;
67
74 inline std::string basename() const;
75 template<typename W>
76 inline void basename_write(W& writeable_output) const;
77
83 inline std::optional<std::string> get_unicode_extension(std::string_view s) const;
84 template<typename W>
85 inline std::optional<std::monostate> get_unicode_extension_write(std::string_view s, W& writeable_output) const;
86
92 inline std::optional<std::monostate> set_unicode_extension(std::string_view k, std::string_view v);
93
99 inline std::string language() const;
100 template<typename W>
101 inline void language_write(W& writeable_output) const;
102
109
115 inline std::optional<std::string> region() const;
116 template<typename W>
117 inline std::optional<std::monostate> region_write(W& writeable_output) const;
118
125
131 inline std::optional<std::string> script() const;
132 template<typename W>
133 inline std::optional<std::monostate> script_write(W& writeable_output) const;
134
141
147 inline std::string variants() const;
148 template<typename W>
149 inline void variants_write(W& writeable_output) const;
150
156 inline size_t variant_count() const;
157
163 inline std::optional<std::string> variant_at(size_t index) const;
164 template<typename W>
165 inline std::optional<std::monostate> variant_at_write(size_t index, W& writeable_output) const;
166
172 inline bool has_variant(std::string_view s) const;
173
183
192 inline bool remove_variant(std::string_view s);
193
199 inline void clear_variants();
200
207 template<typename W>
208 inline static icu4x::diplomat::result<std::monostate, icu4x::LocaleParseError> normalize_write(std::string_view s, W& writeable_output);
209
215 inline std::string to_string() const;
216 template<typename W>
217 inline void to_string_write(W& writeable_output) const;
218
222 inline bool normalizing_eq(std::string_view other) const;
223
227 inline int8_t compare_to_string(std::string_view other) const;
228
232 inline int8_t compare_to(const icu4x::Locale& other) const;
233 inline bool operator==(const icu4x::Locale& other) const;
234 inline bool operator!=(const icu4x::Locale& other) const;
235 inline bool operator<=(const icu4x::Locale& other) const;
236 inline bool operator>=(const icu4x::Locale& other) const;
237 inline bool operator<(const icu4x::Locale& other) const;
238 inline bool operator>(const icu4x::Locale& other) const;
239
240 inline const icu4x::capi::Locale* AsFFI() const;
241 inline icu4x::capi::Locale* AsFFI();
242 inline static const icu4x::Locale* FromFFI(const icu4x::capi::Locale* ptr);
243 inline static icu4x::Locale* FromFFI(icu4x::capi::Locale* ptr);
244 inline static void operator delete(void* ptr);
245private:
246 Locale() = delete;
247 Locale(const icu4x::Locale&) = delete;
248 Locale(icu4x::Locale&&) noexcept = delete;
249 Locale operator=(const icu4x::Locale&) = delete;
250 Locale operator=(icu4x::Locale&&) noexcept = delete;
251 static void operator delete[](void*, size_t) = delete;
252};
253
254} // namespace
255#endif // ICU4X_Locale_D_HPP
Definition LocaleParseError.d.hpp:32
Definition Locale.d.hpp:33
std::optional< std::string > script() const
Definition Locale.hpp:188
int8_t compare_to(const icu4x::Locale &other) const
Definition Locale.hpp:308
std::unique_ptr< icu4x::Locale > clone() const
Definition Locale.hpp:104
std::string variants() const
Definition Locale.hpp:209
std::optional< std::monostate > script_write(W &writeable_output) const
Definition Locale.hpp:196
icu4x::diplomat::result< bool, icu4x::LocaleParseError > add_variant(std::string_view s)
Definition Locale.hpp:251
std::string basename() const
Definition Locale.hpp:109
static icu4x::diplomat::result< std::string, icu4x::LocaleParseError > normalize(std::string_view s)
Definition Locale.hpp:267
bool operator>=(const icu4x::Locale &other) const
Definition Locale.hpp:325
static std::unique_ptr< icu4x::Locale > unknown()
Definition Locale.hpp:94
void basename_write(W &writeable_output) const
Definition Locale.hpp:117
void language_write(W &writeable_output) const
Definition Locale.hpp:155
bool operator>(const icu4x::Locale &other) const
Definition Locale.hpp:333
bool remove_variant(std::string_view s)
Definition Locale.hpp:257
std::string to_string() const
Definition Locale.hpp:282
bool normalizing_eq(std::string_view other) const
Definition Locale.hpp:296
std::optional< std::string > get_unicode_extension(std::string_view s) const
Definition Locale.hpp:123
bool operator<=(const icu4x::Locale &other) const
Definition Locale.hpp:321
icu4x::diplomat::result< std::monostate, icu4x::LocaleParseError > set_script(std::string_view s)
Definition Locale.hpp:203
std::optional< std::monostate > get_unicode_extension_write(std::string_view s, W &writeable_output) const
Definition Locale.hpp:132
bool operator<(const icu4x::Locale &other) const
Definition Locale.hpp:329
static icu4x::diplomat::result< std::monostate, icu4x::LocaleParseError > normalize_write(std::string_view s, W &writeable_output)
Definition Locale.hpp:275
std::optional< std::monostate > region_write(W &writeable_output) const
Definition Locale.hpp:175
void variants_write(W &writeable_output) const
Definition Locale.hpp:217
std::optional< std::monostate > set_unicode_extension(std::string_view k, std::string_view v)
Definition Locale.hpp:140
void to_string_write(W &writeable_output) const
Definition Locale.hpp:290
bool has_variant(std::string_view s) const
Definition Locale.hpp:245
size_t variant_count() const
Definition Locale.hpp:223
bool operator!=(const icu4x::Locale &other) const
Definition Locale.hpp:317
void clear_variants()
Definition Locale.hpp:263
static icu4x::diplomat::result< std::unique_ptr< icu4x::Locale >, icu4x::LocaleParseError > from_string(std::string_view name)
Definition Locale.hpp:89
std::optional< std::string > region() const
Definition Locale.hpp:167
bool operator==(const icu4x::Locale &other) const
Definition Locale.hpp:313
icu4x::diplomat::result< std::monostate, icu4x::LocaleParseError > set_region(std::string_view s)
Definition Locale.hpp:182
icu4x::diplomat::result< std::monostate, icu4x::LocaleParseError > set_language(std::string_view s)
Definition Locale.hpp:161
std::string language() const
Definition Locale.hpp:147
std::optional< std::string > variant_at(size_t index) const
Definition Locale.hpp:228
static const icu4x::Locale & unknown_ref()
Definition Locale.hpp:99
int8_t compare_to_string(std::string_view other) const
Definition Locale.hpp:302
std::optional< std::monostate > variant_at_write(size_t index, W &writeable_output) const
Definition Locale.hpp:237
Definition diplomat_runtime.hpp:166
Definition Bidi.d.hpp:13