23struct ICU4XBidiDeleter {
24 void operator()(capi::ICU4XBidi* l)
const noexcept {
25 capi::ICU4XBidi_destroy(l);
55 std::optional<ICU4XBidiInfo>
for_text(
const std::string_view text, uint8_t default_level)
const;
102 inline const capi::ICU4XBidi* AsFFI()
const {
return this->inner.get(); }
103 inline capi::ICU4XBidi* AsFFIMut() {
return this->inner.get(); }
104 inline explicit ICU4XBidi(capi::ICU4XBidi* i) : inner(i) {}
109 std::unique_ptr<capi::
ICU4XBidi, ICU4XBidiDeleter> inner;
112#include "ICU4XDataProvider.hpp"
117 auto diplomat_result_raw_out_value = capi::ICU4XBidi_create(provider.AsFFI());
119 if (diplomat_result_raw_out_value.is_ok) {
124 return diplomat_result_out_value;
126inline std::optional<ICU4XBidiInfo>
ICU4XBidi::for_text(
const std::string_view text, uint8_t default_level)
const {
127 auto diplomat_optional_raw_out_value = capi::ICU4XBidi_for_text(this->inner.get(), text.data(), text.size(), default_level);
128 std::optional<ICU4XBidiInfo> diplomat_optional_out_value;
129 if (diplomat_optional_raw_out_value !=
nullptr) {
130 diplomat_optional_out_value =
ICU4XBidiInfo(diplomat_optional_raw_out_value);
132 diplomat_optional_out_value = std::nullopt;
134 return diplomat_optional_out_value;
140 return capi::ICU4XBidi_level_is_rtl(level);
143 return capi::ICU4XBidi_level_is_ltr(level);
146 return capi::ICU4XBidi_level_rtl();
149 return capi::ICU4XBidi_level_ltr();
ICU4XError
Definition ICU4XError.hpp:23
Definition ICU4XBidiInfo.hpp:30
Definition ICU4XBidi.hpp:34
static bool level_is_ltr(uint8_t level)
Definition ICU4XBidi.hpp:142
static bool level_is_rtl(uint8_t level)
Definition ICU4XBidi.hpp:139
static uint8_t level_ltr()
Definition ICU4XBidi.hpp:148
ICU4XBidi(ICU4XBidi &&) noexcept=default
ICU4XBidi(capi::ICU4XBidi *i)
Definition ICU4XBidi.hpp:104
static uint8_t level_rtl()
Definition ICU4XBidi.hpp:145
static diplomat::result< ICU4XBidi, ICU4XError > create(const ICU4XDataProvider &provider)
Definition ICU4XBidi.hpp:116
std::optional< ICU4XBidiInfo > for_text(const std::string_view text, uint8_t default_level) const
Definition ICU4XBidi.hpp:126
ICU4XReorderedIndexMap reorder_visual(const diplomat::span< const uint8_t > levels) const
Definition ICU4XBidi.hpp:136
Definition ICU4XDataProvider.hpp:32
Definition ICU4XReorderedIndexMap.hpp:31
Definition diplomat_runtime.hpp:84
Definition diplomat_runtime.hpp:144
constexpr T * data() const noexcept
Definition diplomat_runtime.hpp:152
constexpr size_t size() const noexcept
Definition diplomat_runtime.hpp:155
Definition diplomat_runtime.hpp:69
Definition diplomat_runtime.hpp:55