CodePointMapData16.hpp (4748B)
1 #ifndef icu4x_CodePointMapData16_HPP 2 #define icu4x_CodePointMapData16_HPP 3 4 #include "CodePointMapData16.d.hpp" 5 6 #include <stdio.h> 7 #include <stdint.h> 8 #include <stddef.h> 9 #include <stdbool.h> 10 #include <memory> 11 #include <functional> 12 #include <optional> 13 #include <cstdlib> 14 #include "../diplomat_runtime.hpp" 15 #include "CodePointRangeIterator.hpp" 16 #include "CodePointSetData.hpp" 17 #include "DataError.hpp" 18 #include "DataProvider.hpp" 19 20 21 namespace icu4x { 22 namespace capi { 23 extern "C" { 24 25 uint16_t icu4x_CodePointMapData16_get_mv1(const icu4x::capi::CodePointMapData16* self, char32_t cp); 26 27 icu4x::capi::CodePointRangeIterator* icu4x_CodePointMapData16_iter_ranges_for_value_mv1(const icu4x::capi::CodePointMapData16* self, uint16_t value); 28 29 icu4x::capi::CodePointRangeIterator* icu4x_CodePointMapData16_iter_ranges_for_value_complemented_mv1(const icu4x::capi::CodePointMapData16* self, uint16_t value); 30 31 icu4x::capi::CodePointSetData* icu4x_CodePointMapData16_get_set_for_value_mv1(const icu4x::capi::CodePointMapData16* self, uint16_t value); 32 33 icu4x::capi::CodePointMapData16* icu4x_CodePointMapData16_create_script_mv1(void); 34 35 typedef struct icu4x_CodePointMapData16_create_script_with_provider_mv1_result {union {icu4x::capi::CodePointMapData16* ok; icu4x::capi::DataError err;}; bool is_ok;} icu4x_CodePointMapData16_create_script_with_provider_mv1_result; 36 icu4x_CodePointMapData16_create_script_with_provider_mv1_result icu4x_CodePointMapData16_create_script_with_provider_mv1(const icu4x::capi::DataProvider* provider); 37 38 void icu4x_CodePointMapData16_destroy_mv1(CodePointMapData16* self); 39 40 } // extern "C" 41 } // namespace capi 42 } // namespace 43 44 inline uint16_t icu4x::CodePointMapData16::operator[](char32_t cp) const { 45 auto result = icu4x::capi::icu4x_CodePointMapData16_get_mv1(this->AsFFI(), 46 cp); 47 return result; 48 } 49 50 inline std::unique_ptr<icu4x::CodePointRangeIterator> icu4x::CodePointMapData16::iter_ranges_for_value(uint16_t value) const { 51 auto result = icu4x::capi::icu4x_CodePointMapData16_iter_ranges_for_value_mv1(this->AsFFI(), 52 value); 53 return std::unique_ptr<icu4x::CodePointRangeIterator>(icu4x::CodePointRangeIterator::FromFFI(result)); 54 } 55 56 inline std::unique_ptr<icu4x::CodePointRangeIterator> icu4x::CodePointMapData16::iter_ranges_for_value_complemented(uint16_t value) const { 57 auto result = icu4x::capi::icu4x_CodePointMapData16_iter_ranges_for_value_complemented_mv1(this->AsFFI(), 58 value); 59 return std::unique_ptr<icu4x::CodePointRangeIterator>(icu4x::CodePointRangeIterator::FromFFI(result)); 60 } 61 62 inline std::unique_ptr<icu4x::CodePointSetData> icu4x::CodePointMapData16::get_set_for_value(uint16_t value) const { 63 auto result = icu4x::capi::icu4x_CodePointMapData16_get_set_for_value_mv1(this->AsFFI(), 64 value); 65 return std::unique_ptr<icu4x::CodePointSetData>(icu4x::CodePointSetData::FromFFI(result)); 66 } 67 68 inline std::unique_ptr<icu4x::CodePointMapData16> icu4x::CodePointMapData16::create_script() { 69 auto result = icu4x::capi::icu4x_CodePointMapData16_create_script_mv1(); 70 return std::unique_ptr<icu4x::CodePointMapData16>(icu4x::CodePointMapData16::FromFFI(result)); 71 } 72 73 inline diplomat::result<std::unique_ptr<icu4x::CodePointMapData16>, icu4x::DataError> icu4x::CodePointMapData16::create_script_with_provider(const icu4x::DataProvider& provider) { 74 auto result = icu4x::capi::icu4x_CodePointMapData16_create_script_with_provider_mv1(provider.AsFFI()); 75 return result.is_ok ? diplomat::result<std::unique_ptr<icu4x::CodePointMapData16>, icu4x::DataError>(diplomat::Ok<std::unique_ptr<icu4x::CodePointMapData16>>(std::unique_ptr<icu4x::CodePointMapData16>(icu4x::CodePointMapData16::FromFFI(result.ok)))) : diplomat::result<std::unique_ptr<icu4x::CodePointMapData16>, icu4x::DataError>(diplomat::Err<icu4x::DataError>(icu4x::DataError::FromFFI(result.err))); 76 } 77 78 inline const icu4x::capi::CodePointMapData16* icu4x::CodePointMapData16::AsFFI() const { 79 return reinterpret_cast<const icu4x::capi::CodePointMapData16*>(this); 80 } 81 82 inline icu4x::capi::CodePointMapData16* icu4x::CodePointMapData16::AsFFI() { 83 return reinterpret_cast<icu4x::capi::CodePointMapData16*>(this); 84 } 85 86 inline const icu4x::CodePointMapData16* icu4x::CodePointMapData16::FromFFI(const icu4x::capi::CodePointMapData16* ptr) { 87 return reinterpret_cast<const icu4x::CodePointMapData16*>(ptr); 88 } 89 90 inline icu4x::CodePointMapData16* icu4x::CodePointMapData16::FromFFI(icu4x::capi::CodePointMapData16* ptr) { 91 return reinterpret_cast<icu4x::CodePointMapData16*>(ptr); 92 } 93 94 inline void icu4x::CodePointMapData16::operator delete(void* ptr) { 95 icu4x::capi::icu4x_CodePointMapData16_destroy_mv1(reinterpret_cast<icu4x::capi::CodePointMapData16*>(ptr)); 96 } 97 98 99 #endif // icu4x_CodePointMapData16_HPP