• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef icu4x_CodePointMapData8_D_HPP
2 #define icu4x_CodePointMapData8_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 "../diplomat_runtime.hpp"
12 
13 namespace icu4x {
14 namespace capi { struct CodePointMapData8; }
15 class CodePointMapData8;
16 namespace capi { struct CodePointRangeIterator; }
17 class CodePointRangeIterator;
18 namespace capi { struct CodePointSetData; }
19 class CodePointSetData;
20 namespace capi { struct DataProvider; }
21 class DataProvider;
22 struct GeneralCategoryGroup;
23 class DataError;
24 }
25 
26 
27 namespace icu4x {
28 namespace capi {
29     struct CodePointMapData8;
30 } // namespace capi
31 } // namespace
32 
33 namespace icu4x {
34 class CodePointMapData8 {
35 public:
36 
37   inline uint8_t get(char32_t cp) const;
38 
39   inline std::unique_ptr<icu4x::CodePointRangeIterator> iter_ranges_for_value(uint8_t value) const;
40 
41   inline std::unique_ptr<icu4x::CodePointRangeIterator> iter_ranges_for_value_complemented(uint8_t value) const;
42 
43   inline std::unique_ptr<icu4x::CodePointRangeIterator> iter_ranges_for_group(icu4x::GeneralCategoryGroup group) const;
44 
45   inline std::unique_ptr<icu4x::CodePointSetData> get_set_for_value(uint8_t value) const;
46 
47   inline static std::unique_ptr<icu4x::CodePointMapData8> create_general_category();
48 
49   inline static diplomat::result<std::unique_ptr<icu4x::CodePointMapData8>, icu4x::DataError> create_general_category_with_provider(const icu4x::DataProvider& provider);
50 
51   inline static std::unique_ptr<icu4x::CodePointMapData8> create_bidi_class();
52 
53   inline static diplomat::result<std::unique_ptr<icu4x::CodePointMapData8>, icu4x::DataError> create_bidi_class_with_provider(const icu4x::DataProvider& provider);
54 
55   inline static std::unique_ptr<icu4x::CodePointMapData8> create_east_asian_width();
56 
57   inline static diplomat::result<std::unique_ptr<icu4x::CodePointMapData8>, icu4x::DataError> create_east_asian_width_with_provider(const icu4x::DataProvider& provider);
58 
59   inline static std::unique_ptr<icu4x::CodePointMapData8> create_hangul_syllable_type();
60 
61   inline static diplomat::result<std::unique_ptr<icu4x::CodePointMapData8>, icu4x::DataError> create_hangul_syllable_type_with_provider(const icu4x::DataProvider& provider);
62 
63   inline static std::unique_ptr<icu4x::CodePointMapData8> create_indic_syllabic_category();
64 
65   inline static diplomat::result<std::unique_ptr<icu4x::CodePointMapData8>, icu4x::DataError> create_indic_syllabic_category_with_provider(const icu4x::DataProvider& provider);
66 
67   inline static std::unique_ptr<icu4x::CodePointMapData8> create_line_break();
68 
69   inline static diplomat::result<std::unique_ptr<icu4x::CodePointMapData8>, icu4x::DataError> create_line_break_with_provider(const icu4x::DataProvider& provider);
70 
71   inline static std::unique_ptr<icu4x::CodePointMapData8> create_grapheme_cluster_break();
72 
73   inline static diplomat::result<std::unique_ptr<icu4x::CodePointMapData8>, icu4x::DataError> create_grapheme_cluster_break_with_provider(const icu4x::DataProvider& provider);
74 
75   inline static std::unique_ptr<icu4x::CodePointMapData8> create_word_break();
76 
77   inline static diplomat::result<std::unique_ptr<icu4x::CodePointMapData8>, icu4x::DataError> create_word_break_with_provider(const icu4x::DataProvider& provider);
78 
79   inline static std::unique_ptr<icu4x::CodePointMapData8> create_sentence_break();
80 
81   inline static diplomat::result<std::unique_ptr<icu4x::CodePointMapData8>, icu4x::DataError> create_sentence_break_with_provider(const icu4x::DataProvider& provider);
82 
83   inline static std::unique_ptr<icu4x::CodePointMapData8> create_joining_type();
84 
85   inline static diplomat::result<std::unique_ptr<icu4x::CodePointMapData8>, icu4x::DataError> create_joining_type_with_provider(const icu4x::DataProvider& provider);
86 
87   inline static std::unique_ptr<icu4x::CodePointMapData8> create_canonical_combining_class();
88 
89   inline static diplomat::result<std::unique_ptr<icu4x::CodePointMapData8>, icu4x::DataError> create_canonical_combining_class_with_provider(const icu4x::DataProvider& provider);
90 
91   inline const icu4x::capi::CodePointMapData8* AsFFI() const;
92   inline icu4x::capi::CodePointMapData8* AsFFI();
93   inline static const icu4x::CodePointMapData8* FromFFI(const icu4x::capi::CodePointMapData8* ptr);
94   inline static icu4x::CodePointMapData8* FromFFI(icu4x::capi::CodePointMapData8* ptr);
95   inline static void operator delete(void* ptr);
96 private:
97   CodePointMapData8() = delete;
98   CodePointMapData8(const icu4x::CodePointMapData8&) = delete;
99   CodePointMapData8(icu4x::CodePointMapData8&&) noexcept = delete;
100   CodePointMapData8 operator=(const icu4x::CodePointMapData8&) = delete;
101   CodePointMapData8 operator=(icu4x::CodePointMapData8&&) noexcept = delete;
102   static void operator delete[](void*, size_t) = delete;
103 };
104 
105 } // namespace
106 #endif // icu4x_CodePointMapData8_D_HPP
107