ScriptWithExtensionsBorrowed.d.hpp (3390B)
1 #ifndef icu4x_ScriptWithExtensionsBorrowed_D_HPP 2 #define icu4x_ScriptWithExtensionsBorrowed_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" 13 14 namespace icu4x { 15 namespace capi { struct CodePointSetData; } 16 class CodePointSetData; 17 namespace capi { struct ScriptExtensionsSet; } 18 class ScriptExtensionsSet; 19 } 20 21 22 namespace icu4x { 23 namespace capi { 24 struct ScriptWithExtensionsBorrowed; 25 } // namespace capi 26 } // namespace 27 28 namespace icu4x { 29 /** 30 * A slightly faster ScriptWithExtensions object 31 * 32 * See the [Rust documentation for `ScriptWithExtensionsBorrowed`](https://docs.rs/icu/latest/icu/properties/script/struct.ScriptWithExtensionsBorrowed.html) for more information. 33 */ 34 class ScriptWithExtensionsBorrowed { 35 public: 36 37 /** 38 * Get the Script property value for a code point 39 * Get the Script property value for a code point 40 * 41 * See the [Rust documentation for `get_script_val`](https://docs.rs/icu/latest/icu/properties/script/struct.ScriptWithExtensionsBorrowed.html#method.get_script_val) for more information. 42 */ 43 inline uint16_t get_script_val(char32_t ch) const; 44 45 /** 46 * Get the Script property value for a code point 47 * 48 * See the [Rust documentation for `get_script_extensions_val`](https://docs.rs/icu/latest/icu/properties/script/struct.ScriptWithExtensionsBorrowed.html#method.get_script_extensions_val) for more information. 49 */ 50 inline std::unique_ptr<icu4x::ScriptExtensionsSet> get_script_extensions_val(char32_t ch) const; 51 52 /** 53 * Check if the Script_Extensions property of the given code point covers the given script 54 * 55 * See the [Rust documentation for `has_script`](https://docs.rs/icu/latest/icu/properties/script/struct.ScriptWithExtensionsBorrowed.html#method.has_script) for more information. 56 */ 57 inline bool has_script(char32_t ch, uint16_t script) const; 58 59 /** 60 * Build the CodePointSetData corresponding to a codepoints matching a particular script 61 * in their Script_Extensions 62 * 63 * See the [Rust documentation for `get_script_extensions_set`](https://docs.rs/icu/latest/icu/properties/script/struct.ScriptWithExtensionsBorrowed.html#method.get_script_extensions_set) for more information. 64 */ 65 inline std::unique_ptr<icu4x::CodePointSetData> get_script_extensions_set(uint16_t script) const; 66 67 inline const icu4x::capi::ScriptWithExtensionsBorrowed* AsFFI() const; 68 inline icu4x::capi::ScriptWithExtensionsBorrowed* AsFFI(); 69 inline static const icu4x::ScriptWithExtensionsBorrowed* FromFFI(const icu4x::capi::ScriptWithExtensionsBorrowed* ptr); 70 inline static icu4x::ScriptWithExtensionsBorrowed* FromFFI(icu4x::capi::ScriptWithExtensionsBorrowed* ptr); 71 inline static void operator delete(void* ptr); 72 private: 73 ScriptWithExtensionsBorrowed() = delete; 74 ScriptWithExtensionsBorrowed(const icu4x::ScriptWithExtensionsBorrowed&) = delete; 75 ScriptWithExtensionsBorrowed(icu4x::ScriptWithExtensionsBorrowed&&) noexcept = delete; 76 ScriptWithExtensionsBorrowed operator=(const icu4x::ScriptWithExtensionsBorrowed&) = delete; 77 ScriptWithExtensionsBorrowed operator=(icu4x::ScriptWithExtensionsBorrowed&&) noexcept = delete; 78 static void operator delete[](void*, size_t) = delete; 79 }; 80 81 } // namespace 82 #endif // icu4x_ScriptWithExtensionsBorrowed_D_HPP