BidiInfo.hpp (2262B)
1 #ifndef icu4x_BidiInfo_HPP 2 #define icu4x_BidiInfo_HPP 3 4 #include "BidiInfo.d.hpp" 5 6 #include <stdio.h> 7 #include <stdint.h> 8 #include <stddef.h> 9 #include <stdbool.h> 10 #include <memory> 11 #include <functional> 12 #include <optional> 13 #include <cstdlib> 14 #include "../diplomat_runtime.hpp" 15 #include "BidiParagraph.hpp" 16 17 18 namespace icu4x { 19 namespace capi { 20 extern "C" { 21 22 size_t icu4x_BidiInfo_paragraph_count_mv1(const icu4x::capi::BidiInfo* self); 23 24 icu4x::capi::BidiParagraph* icu4x_BidiInfo_paragraph_at_mv1(const icu4x::capi::BidiInfo* self, size_t n); 25 26 size_t icu4x_BidiInfo_size_mv1(const icu4x::capi::BidiInfo* self); 27 28 uint8_t icu4x_BidiInfo_level_at_mv1(const icu4x::capi::BidiInfo* self, size_t pos); 29 30 void icu4x_BidiInfo_destroy_mv1(BidiInfo* self); 31 32 } // extern "C" 33 } // namespace capi 34 } // namespace 35 36 inline size_t icu4x::BidiInfo::paragraph_count() const { 37 auto result = icu4x::capi::icu4x_BidiInfo_paragraph_count_mv1(this->AsFFI()); 38 return result; 39 } 40 41 inline std::unique_ptr<icu4x::BidiParagraph> icu4x::BidiInfo::paragraph_at(size_t n) const { 42 auto result = icu4x::capi::icu4x_BidiInfo_paragraph_at_mv1(this->AsFFI(), 43 n); 44 return std::unique_ptr<icu4x::BidiParagraph>(icu4x::BidiParagraph::FromFFI(result)); 45 } 46 47 inline size_t icu4x::BidiInfo::size() const { 48 auto result = icu4x::capi::icu4x_BidiInfo_size_mv1(this->AsFFI()); 49 return result; 50 } 51 52 inline uint8_t icu4x::BidiInfo::level_at(size_t pos) const { 53 auto result = icu4x::capi::icu4x_BidiInfo_level_at_mv1(this->AsFFI(), 54 pos); 55 return result; 56 } 57 58 inline const icu4x::capi::BidiInfo* icu4x::BidiInfo::AsFFI() const { 59 return reinterpret_cast<const icu4x::capi::BidiInfo*>(this); 60 } 61 62 inline icu4x::capi::BidiInfo* icu4x::BidiInfo::AsFFI() { 63 return reinterpret_cast<icu4x::capi::BidiInfo*>(this); 64 } 65 66 inline const icu4x::BidiInfo* icu4x::BidiInfo::FromFFI(const icu4x::capi::BidiInfo* ptr) { 67 return reinterpret_cast<const icu4x::BidiInfo*>(ptr); 68 } 69 70 inline icu4x::BidiInfo* icu4x::BidiInfo::FromFFI(icu4x::capi::BidiInfo* ptr) { 71 return reinterpret_cast<icu4x::BidiInfo*>(ptr); 72 } 73 74 inline void icu4x::BidiInfo::operator delete(void* ptr) { 75 icu4x::capi::icu4x_BidiInfo_destroy_mv1(reinterpret_cast<icu4x::capi::BidiInfo*>(ptr)); 76 } 77 78 79 #endif // icu4x_BidiInfo_HPP