ICU4X
International Components for Unicode
Loading...
Searching...
No Matches
Bidi.d.hpp
Go to the documentation of this file.
1#ifndef ICU4X_Bidi_D_HPP
2#define ICU4X_Bidi_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"
13namespace icu4x {
14namespace capi { struct Bidi; }
15class Bidi;
16namespace capi { struct BidiInfo; }
17class BidiInfo;
18namespace capi { struct DataProvider; }
19class DataProvider;
20namespace capi { struct ReorderedIndexMap; }
22class DataError;
23} // namespace icu4x
24
25
26
27namespace icu4x {
28namespace capi {
29 struct Bidi;
30} // namespace capi
31} // namespace
32
33namespace icu4x {
39class Bidi {
40public:
41
45 inline static std::unique_ptr<icu4x::Bidi> create();
46
51
61 inline std::unique_ptr<icu4x::BidiInfo> for_text(std::string_view text, std::optional<uint8_t> default_level) const;
62
75 inline std::unique_ptr<icu4x::ReorderedIndexMap> reorder_visual(icu4x::diplomat::span<const uint8_t> levels) const;
76
84 inline static bool level_is_rtl(uint8_t level);
85
93 inline static bool level_is_ltr(uint8_t level);
94
100 inline static uint8_t level_rtl();
101
107 inline static uint8_t level_ltr();
108
109 inline const icu4x::capi::Bidi* AsFFI() const;
110 inline icu4x::capi::Bidi* AsFFI();
111 inline static const icu4x::Bidi* FromFFI(const icu4x::capi::Bidi* ptr);
112 inline static icu4x::Bidi* FromFFI(icu4x::capi::Bidi* ptr);
113 inline static void operator delete(void* ptr);
114private:
115 Bidi() = delete;
116 Bidi(const icu4x::Bidi&) = delete;
117 Bidi(icu4x::Bidi&&) noexcept = delete;
118 Bidi operator=(const icu4x::Bidi&) = delete;
119 Bidi operator=(icu4x::Bidi&&) noexcept = delete;
120 static void operator delete[](void*, size_t) = delete;
121};
122
123} // namespace
124#endif // ICU4X_Bidi_D_HPP
Definition BidiInfo.d.hpp:32
Definition Bidi.d.hpp:39
static uint8_t level_ltr()
Definition Bidi.hpp:86
static bool level_is_ltr(uint8_t level)
Definition Bidi.hpp:76
std::unique_ptr< icu4x::BidiInfo > for_text(std::string_view text, std::optional< uint8_t > default_level) const
Definition Bidi.hpp:58
std::unique_ptr< icu4x::ReorderedIndexMap > reorder_visual(icu4x::diplomat::span< const uint8_t > levels) const
Definition Bidi.hpp:65
static uint8_t level_rtl()
Definition Bidi.hpp:81
static std::unique_ptr< icu4x::Bidi > create()
Definition Bidi.hpp:48
static bool level_is_rtl(uint8_t level)
Definition Bidi.hpp:71
static icu4x::diplomat::result< std::unique_ptr< icu4x::Bidi >, icu4x::DataError > create_with_provider(const icu4x::DataProvider &provider)
Definition Bidi.hpp:53
Definition DataError.d.hpp:37
Definition DataProvider.d.hpp:40
Definition ReorderedIndexMap.d.hpp:29
Definition diplomat_runtime.hpp:166
Definition diplomat_runtime.hpp:252
Definition Bidi.d.hpp:13