ICU4X
International Components for Unicode
Loading...
Searching...
No Matches
ICU4XScriptExtensionsSet.hpp
Go to the documentation of this file.
1#ifndef ICU4XScriptExtensionsSet_HPP
2#define ICU4XScriptExtensionsSet_HPP
3#include <stdint.h>
4#include <stddef.h>
5#include <stdbool.h>
6#include <algorithm>
7#include <memory>
8#include <variant>
9#include <optional>
10#include "diplomat_runtime.hpp"
11
12#include "ICU4XScriptExtensionsSet.h"
13
14
18struct ICU4XScriptExtensionsSetDeleter {
19 void operator()(capi::ICU4XScriptExtensionsSet* l) const noexcept {
20 capi::ICU4XScriptExtensionsSet_destroy(l);
21 }
22};
23
30 public:
31
37 bool contains(uint16_t script) const;
38
44 size_t count() const;
45
52 inline const capi::ICU4XScriptExtensionsSet* AsFFI() const { return this->inner.get(); }
53 inline capi::ICU4XScriptExtensionsSet* AsFFIMut() { return this->inner.get(); }
54 inline explicit ICU4XScriptExtensionsSet(capi::ICU4XScriptExtensionsSet* i) : inner(i) {}
57 ICU4XScriptExtensionsSet& operator=(ICU4XScriptExtensionsSet&& other) noexcept = default;
58 private:
59 std::unique_ptr<capi::ICU4XScriptExtensionsSet, ICU4XScriptExtensionsSetDeleter> inner;
60};
61
62
63inline bool ICU4XScriptExtensionsSet::contains(uint16_t script) const {
64 return capi::ICU4XScriptExtensionsSet_contains(this->inner.get(), script);
65}
66inline size_t ICU4XScriptExtensionsSet::count() const {
67 return capi::ICU4XScriptExtensionsSet_count(this->inner.get());
68}
70 auto diplomat_result_raw_out_value = capi::ICU4XScriptExtensionsSet_script_at(this->inner.get(), index);
71 diplomat::result<uint16_t, std::monostate> diplomat_result_out_value;
72 if (diplomat_result_raw_out_value.is_ok) {
73 diplomat_result_out_value = diplomat::Ok<uint16_t>(diplomat_result_raw_out_value.ok);
74 } else {
75 diplomat_result_out_value = diplomat::Err<std::monostate>(std::monostate());
76 }
77 return diplomat_result_out_value;
78}
79#endif
ICU4XScriptExtensionsSet()=default
diplomat::result< uint16_t, std::monostate > script_at(size_t index) const
Definition ICU4XScriptExtensionsSet.hpp:69
size_t count() const
Definition ICU4XScriptExtensionsSet.hpp:66
ICU4XScriptExtensionsSet(ICU4XScriptExtensionsSet &&) noexcept=default
ICU4XScriptExtensionsSet(capi::ICU4XScriptExtensionsSet *i)
Definition ICU4XScriptExtensionsSet.hpp:54
bool contains(uint16_t script) const
Definition ICU4XScriptExtensionsSet.hpp:63
Definition diplomat_runtime.hpp:84
Definition diplomat_runtime.hpp:69
Definition diplomat_runtime.hpp:55