1 #ifndef icu4x_ScriptExtensionsSet_D_HPP 2 #define icu4x_ScriptExtensionsSet_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 14 namespace icu4x { 15 namespace capi { 16 struct ScriptExtensionsSet; 17 } // namespace capi 18 } // namespace 19 20 namespace icu4x { 21 class ScriptExtensionsSet { 22 public: 23 24 inline bool contains(uint16_t script) const; 25 26 inline size_t count() const; 27 28 inline std::optional<uint16_t> script_at(size_t index) const; 29 30 inline const icu4x::capi::ScriptExtensionsSet* AsFFI() const; 31 inline icu4x::capi::ScriptExtensionsSet* AsFFI(); 32 inline static const icu4x::ScriptExtensionsSet* FromFFI(const icu4x::capi::ScriptExtensionsSet* ptr); 33 inline static icu4x::ScriptExtensionsSet* FromFFI(icu4x::capi::ScriptExtensionsSet* ptr); 34 inline static void operator delete(void* ptr); 35 private: 36 ScriptExtensionsSet() = delete; 37 ScriptExtensionsSet(const icu4x::ScriptExtensionsSet&) = delete; 38 ScriptExtensionsSet(icu4x::ScriptExtensionsSet&&) noexcept = delete; 39 ScriptExtensionsSet operator=(const icu4x::ScriptExtensionsSet&) = delete; 40 ScriptExtensionsSet operator=(icu4x::ScriptExtensionsSet&&) noexcept = delete; 41 static void operator delete[](void*, size_t) = delete; 42 }; 43 44 } // namespace 45 #endif // icu4x_ScriptExtensionsSet_D_HPP 46