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 "../diplomat_runtime.hpp" 12 13 namespace icu4x { 14 namespace capi { struct CodePointSetData; } 15 class CodePointSetData; 16 namespace capi { struct ScriptExtensionsSet; } 17 class ScriptExtensionsSet; 18 } 19 20 21 namespace icu4x { 22 namespace capi { 23 struct ScriptWithExtensionsBorrowed; 24 } // namespace capi 25 } // namespace 26 27 namespace icu4x { 28 class ScriptWithExtensionsBorrowed { 29 public: 30 31 inline uint16_t get_script_val(char32_t ch) const; 32 33 inline std::unique_ptr<icu4x::ScriptExtensionsSet> get_script_extensions_val(char32_t ch) const; 34 35 inline bool has_script(char32_t ch, uint16_t script) const; 36 37 inline std::unique_ptr<icu4x::CodePointSetData> get_script_extensions_set(uint16_t script) const; 38 39 inline const icu4x::capi::ScriptWithExtensionsBorrowed* AsFFI() const; 40 inline icu4x::capi::ScriptWithExtensionsBorrowed* AsFFI(); 41 inline static const icu4x::ScriptWithExtensionsBorrowed* FromFFI(const icu4x::capi::ScriptWithExtensionsBorrowed* ptr); 42 inline static icu4x::ScriptWithExtensionsBorrowed* FromFFI(icu4x::capi::ScriptWithExtensionsBorrowed* ptr); 43 inline static void operator delete(void* ptr); 44 private: 45 ScriptWithExtensionsBorrowed() = delete; 46 ScriptWithExtensionsBorrowed(const icu4x::ScriptWithExtensionsBorrowed&) = delete; 47 ScriptWithExtensionsBorrowed(icu4x::ScriptWithExtensionsBorrowed&&) noexcept = delete; 48 ScriptWithExtensionsBorrowed operator=(const icu4x::ScriptWithExtensionsBorrowed&) = delete; 49 ScriptWithExtensionsBorrowed operator=(icu4x::ScriptWithExtensionsBorrowed&&) noexcept = delete; 50 static void operator delete[](void*, size_t) = delete; 51 }; 52 53 } // namespace 54 #endif // icu4x_ScriptWithExtensionsBorrowed_D_HPP 55