CanonicalCombiningClassMap.d.hpp (2990B)
1 #ifndef icu4x_CanonicalCombiningClassMap_D_HPP 2 #define icu4x_CanonicalCombiningClassMap_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 CanonicalCombiningClassMap; } 16 class CanonicalCombiningClassMap; 17 namespace capi { struct DataProvider; } 18 class DataProvider; 19 class DataError; 20 } 21 22 23 namespace icu4x { 24 namespace capi { 25 struct CanonicalCombiningClassMap; 26 } // namespace capi 27 } // namespace 28 29 namespace icu4x { 30 /** 31 * Lookup of the Canonical_Combining_Class Unicode property 32 * 33 * See the [Rust documentation for `CanonicalCombiningClassMap`](https://docs.rs/icu/latest/icu/normalizer/properties/struct.CanonicalCombiningClassMap.html) for more information. 34 */ 35 class CanonicalCombiningClassMap { 36 public: 37 38 /** 39 * Construct a new CanonicalCombiningClassMap instance for NFC using compiled data. 40 * 41 * See the [Rust documentation for `new`](https://docs.rs/icu/latest/icu/normalizer/properties/struct.CanonicalCombiningClassMap.html#method.new) for more information. 42 */ 43 inline static std::unique_ptr<icu4x::CanonicalCombiningClassMap> create(); 44 45 /** 46 * Construct a new CanonicalCombiningClassMap instance for NFC using a particular data source. 47 * 48 * See the [Rust documentation for `new`](https://docs.rs/icu/latest/icu/normalizer/properties/struct.CanonicalCombiningClassMap.html#method.new) for more information. 49 */ 50 inline static diplomat::result<std::unique_ptr<icu4x::CanonicalCombiningClassMap>, icu4x::DataError> create_with_provider(const icu4x::DataProvider& provider); 51 52 /** 53 * See the [Rust documentation for `get`](https://docs.rs/icu/latest/icu/normalizer/properties/struct.CanonicalCombiningClassMapBorrowed.html#method.get) for more information. 54 * 55 * Additional information: [1](https://docs.rs/icu/latest/icu/properties/props/struct.CanonicalCombiningClass.html) 56 */ 57 inline uint8_t operator[](char32_t ch) const; 58 59 inline const icu4x::capi::CanonicalCombiningClassMap* AsFFI() const; 60 inline icu4x::capi::CanonicalCombiningClassMap* AsFFI(); 61 inline static const icu4x::CanonicalCombiningClassMap* FromFFI(const icu4x::capi::CanonicalCombiningClassMap* ptr); 62 inline static icu4x::CanonicalCombiningClassMap* FromFFI(icu4x::capi::CanonicalCombiningClassMap* ptr); 63 inline static void operator delete(void* ptr); 64 private: 65 CanonicalCombiningClassMap() = delete; 66 CanonicalCombiningClassMap(const icu4x::CanonicalCombiningClassMap&) = delete; 67 CanonicalCombiningClassMap(icu4x::CanonicalCombiningClassMap&&) noexcept = delete; 68 CanonicalCombiningClassMap operator=(const icu4x::CanonicalCombiningClassMap&) = delete; 69 CanonicalCombiningClassMap operator=(icu4x::CanonicalCombiningClassMap&&) noexcept = delete; 70 static void operator delete[](void*, size_t) = delete; 71 }; 72 73 } // namespace 74 #endif // icu4x_CanonicalCombiningClassMap_D_HPP