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>
13
14namespace icu4x {
15namespace capi { struct Bidi; }
16class Bidi;
17namespace capi { struct BidiInfo; }
18class BidiInfo;
19namespace capi { struct DataProvider; }
20class DataProvider;
21namespace capi { struct ReorderedIndexMap; }
23class DataError;
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(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 diplomat_runtime.hpp:140
Definition diplomat_runtime.hpp:223
Definition BidiInfo.d.hpp:32
Definition Bidi.d.hpp:39
static diplomat::result< std::unique_ptr< icu4x::Bidi >, icu4x::DataError > create_with_provider(const icu4x::DataProvider &provider)
Definition Bidi.hpp:53
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
static uint8_t level_rtl()
Definition Bidi.hpp:81
static std::unique_ptr< icu4x::Bidi > create()
Definition Bidi.hpp:48
std::unique_ptr< icu4x::ReorderedIndexMap > reorder_visual(diplomat::span< const uint8_t > levels) const
Definition Bidi.hpp:65
static bool level_is_rtl(uint8_t level)
Definition Bidi.hpp:71
Definition DataError.d.hpp:37
Definition DataProvider.d.hpp:40
Definition ReorderedIndexMap.d.hpp:29
Definition Bidi.d.hpp:14