EmojiSetData.d.hpp (3251B)
1 #ifndef icu4x_EmojiSetData_D_HPP 2 #define icu4x_EmojiSetData_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 DataProvider; } 16 class DataProvider; 17 namespace capi { struct EmojiSetData; } 18 class EmojiSetData; 19 class DataError; 20 } 21 22 23 namespace icu4x { 24 namespace capi { 25 struct EmojiSetData; 26 } // namespace capi 27 } // namespace 28 29 namespace icu4x { 30 /** 31 * An ICU4X Unicode Set Property object, capable of querying whether a code point is contained in a set based on a Unicode property. 32 * 33 * See the [Rust documentation for `properties`](https://docs.rs/icu/latest/icu/properties/index.html) for more information. 34 * 35 * See the [Rust documentation for `EmojiSetData`](https://docs.rs/icu/latest/icu/properties/struct.EmojiSetData.html) for more information. 36 * 37 * See the [Rust documentation for `new`](https://docs.rs/icu/latest/icu/properties/struct.EmojiSetData.html#method.new) for more information. 38 * 39 * See the [Rust documentation for `EmojiSetDataBorrowed`](https://docs.rs/icu/latest/icu/properties/struct.EmojiSetDataBorrowed.html) for more information. 40 */ 41 class EmojiSetData { 42 public: 43 44 /** 45 * Checks whether the string is in the set. 46 * 47 * See the [Rust documentation for `contains_str`](https://docs.rs/icu/latest/icu/properties/struct.EmojiSetDataBorrowed.html#method.contains_str) for more information. 48 */ 49 inline bool contains(std::string_view s) const; 50 51 /** 52 * Checks whether the code point is in the set. 53 * 54 * See the [Rust documentation for `contains`](https://docs.rs/icu/latest/icu/properties/struct.EmojiSetDataBorrowed.html#method.contains) for more information. 55 */ 56 inline bool contains(char32_t cp) const; 57 58 /** 59 * Create a map for the `Basic_Emoji` property, using compiled data. 60 * 61 * See the [Rust documentation for `BasicEmoji`](https://docs.rs/icu/latest/icu/properties/props/struct.BasicEmoji.html) for more information. 62 */ 63 inline static std::unique_ptr<icu4x::EmojiSetData> create_basic(); 64 65 /** 66 * Create a map for the `Basic_Emoji` property, using a particular data source. 67 * 68 * See the [Rust documentation for `BasicEmoji`](https://docs.rs/icu/latest/icu/properties/props/struct.BasicEmoji.html) for more information. 69 */ 70 inline static diplomat::result<std::unique_ptr<icu4x::EmojiSetData>, icu4x::DataError> create_basic_with_provider(const icu4x::DataProvider& provider); 71 72 inline const icu4x::capi::EmojiSetData* AsFFI() const; 73 inline icu4x::capi::EmojiSetData* AsFFI(); 74 inline static const icu4x::EmojiSetData* FromFFI(const icu4x::capi::EmojiSetData* ptr); 75 inline static icu4x::EmojiSetData* FromFFI(icu4x::capi::EmojiSetData* ptr); 76 inline static void operator delete(void* ptr); 77 private: 78 EmojiSetData() = delete; 79 EmojiSetData(const icu4x::EmojiSetData&) = delete; 80 EmojiSetData(icu4x::EmojiSetData&&) noexcept = delete; 81 EmojiSetData operator=(const icu4x::EmojiSetData&) = delete; 82 EmojiSetData operator=(icu4x::EmojiSetData&&) noexcept = delete; 83 static void operator delete[](void*, size_t) = delete; 84 }; 85 86 } // namespace 87 #endif // icu4x_EmojiSetData_D_HPP