LocaleDirectionality.d.hpp (3958B)
1 #ifndef icu4x_LocaleDirectionality_D_HPP 2 #define icu4x_LocaleDirectionality_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 Locale; } 18 class Locale; 19 namespace capi { struct LocaleDirectionality; } 20 class LocaleDirectionality; 21 class DataError; 22 class LocaleDirection; 23 } 24 25 26 namespace icu4x { 27 namespace capi { 28 struct LocaleDirectionality; 29 } // namespace capi 30 } // namespace 31 32 namespace icu4x { 33 /** 34 * See the [Rust documentation for `LocaleDirectionality`](https://docs.rs/icu/latest/icu/locale/struct.LocaleDirectionality.html) for more information. 35 */ 36 class LocaleDirectionality { 37 public: 38 39 /** 40 * Construct a new LocaleDirectionality instance using compiled data. 41 * 42 * See the [Rust documentation for `new_common`](https://docs.rs/icu/latest/icu/locale/struct.LocaleDirectionality.html#method.new_common) for more information. 43 */ 44 inline static std::unique_ptr<icu4x::LocaleDirectionality> create_common(); 45 46 /** 47 * Construct a new LocaleDirectionality instance using a particular data source. 48 * 49 * See the [Rust documentation for `new_common`](https://docs.rs/icu/latest/icu/locale/struct.LocaleDirectionality.html#method.new_common) for more information. 50 */ 51 inline static diplomat::result<std::unique_ptr<icu4x::LocaleDirectionality>, icu4x::DataError> create_common_with_provider(const icu4x::DataProvider& provider); 52 53 /** 54 * Construct a new LocaleDirectionality instance using compiled data. 55 * 56 * See the [Rust documentation for `new_extended`](https://docs.rs/icu/latest/icu/locale/struct.LocaleDirectionality.html#method.new_extended) for more information. 57 */ 58 inline static std::unique_ptr<icu4x::LocaleDirectionality> create_extended(); 59 60 /** 61 * Construct a new LocaleDirectionality instance using a particular data source. 62 * 63 * See the [Rust documentation for `new_extended`](https://docs.rs/icu/latest/icu/locale/struct.LocaleDirectionality.html#method.new_extended) for more information. 64 */ 65 inline static diplomat::result<std::unique_ptr<icu4x::LocaleDirectionality>, icu4x::DataError> create_extended_with_provider(const icu4x::DataProvider& provider); 66 67 /** 68 * See the [Rust documentation for `get`](https://docs.rs/icu/latest/icu/locale/struct.LocaleDirectionality.html#method.get) for more information. 69 */ 70 inline icu4x::LocaleDirection operator[](const icu4x::Locale& locale) const; 71 72 /** 73 * See the [Rust documentation for `is_left_to_right`](https://docs.rs/icu/latest/icu/locale/struct.LocaleDirectionality.html#method.is_left_to_right) for more information. 74 */ 75 inline bool is_left_to_right(const icu4x::Locale& locale) const; 76 77 /** 78 * See the [Rust documentation for `is_right_to_left`](https://docs.rs/icu/latest/icu/locale/struct.LocaleDirectionality.html#method.is_right_to_left) for more information. 79 */ 80 inline bool is_right_to_left(const icu4x::Locale& locale) const; 81 82 inline const icu4x::capi::LocaleDirectionality* AsFFI() const; 83 inline icu4x::capi::LocaleDirectionality* AsFFI(); 84 inline static const icu4x::LocaleDirectionality* FromFFI(const icu4x::capi::LocaleDirectionality* ptr); 85 inline static icu4x::LocaleDirectionality* FromFFI(icu4x::capi::LocaleDirectionality* ptr); 86 inline static void operator delete(void* ptr); 87 private: 88 LocaleDirectionality() = delete; 89 LocaleDirectionality(const icu4x::LocaleDirectionality&) = delete; 90 LocaleDirectionality(icu4x::LocaleDirectionality&&) noexcept = delete; 91 LocaleDirectionality operator=(const icu4x::LocaleDirectionality&) = delete; 92 LocaleDirectionality operator=(icu4x::LocaleDirectionality&&) noexcept = delete; 93 static void operator delete[](void*, size_t) = delete; 94 }; 95 96 } // namespace 97 #endif // icu4x_LocaleDirectionality_D_HPP