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