LocaleFallbackIterator.hpp (1845B)
1 #ifndef icu4x_LocaleFallbackIterator_HPP 2 #define icu4x_LocaleFallbackIterator_HPP 3 4 #include "LocaleFallbackIterator.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 "Locale.hpp" 16 17 18 namespace icu4x { 19 namespace capi { 20 extern "C" { 21 22 icu4x::capi::Locale* icu4x_LocaleFallbackIterator_next_mv1(icu4x::capi::LocaleFallbackIterator* self); 23 24 void icu4x_LocaleFallbackIterator_destroy_mv1(LocaleFallbackIterator* self); 25 26 } // extern "C" 27 } // namespace capi 28 } // namespace 29 30 inline std::unique_ptr<icu4x::Locale> icu4x::LocaleFallbackIterator::next() { 31 auto result = icu4x::capi::icu4x_LocaleFallbackIterator_next_mv1(this->AsFFI()); 32 return std::unique_ptr<icu4x::Locale>(icu4x::Locale::FromFFI(result)); 33 } 34 35 inline const icu4x::capi::LocaleFallbackIterator* icu4x::LocaleFallbackIterator::AsFFI() const { 36 return reinterpret_cast<const icu4x::capi::LocaleFallbackIterator*>(this); 37 } 38 39 inline icu4x::capi::LocaleFallbackIterator* icu4x::LocaleFallbackIterator::AsFFI() { 40 return reinterpret_cast<icu4x::capi::LocaleFallbackIterator*>(this); 41 } 42 43 inline const icu4x::LocaleFallbackIterator* icu4x::LocaleFallbackIterator::FromFFI(const icu4x::capi::LocaleFallbackIterator* ptr) { 44 return reinterpret_cast<const icu4x::LocaleFallbackIterator*>(ptr); 45 } 46 47 inline icu4x::LocaleFallbackIterator* icu4x::LocaleFallbackIterator::FromFFI(icu4x::capi::LocaleFallbackIterator* ptr) { 48 return reinterpret_cast<icu4x::LocaleFallbackIterator*>(ptr); 49 } 50 51 inline void icu4x::LocaleFallbackIterator::operator delete(void* ptr) { 52 icu4x::capi::icu4x_LocaleFallbackIterator_destroy_mv1(reinterpret_cast<icu4x::capi::LocaleFallbackIterator*>(ptr)); 53 } 54 55 56 #endif // icu4x_LocaleFallbackIterator_HPP