TimeZoneIterator.d.hpp (1633B)
1 #ifndef icu4x_TimeZoneIterator_D_HPP 2 #define icu4x_TimeZoneIterator_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> 12 #include "../diplomat_runtime.hpp" 13 14 namespace icu4x { 15 namespace capi { struct TimeZone; } 16 class TimeZone; 17 } 18 19 20 namespace icu4x { 21 namespace capi { 22 struct TimeZoneIterator; 23 } // namespace capi 24 } // namespace 25 26 namespace icu4x { 27 /** 28 * See the [Rust documentation for `TimeZoneIter`](https://docs.rs/icu/latest/icu/time/zone/iana/struct.TimeZoneIter.html) for more information. 29 */ 30 class TimeZoneIterator { 31 public: 32 33 /** 34 * See the [Rust documentation for `next`](https://docs.rs/icu/latest/icu/time/zone/iana/struct.TimeZoneIter.html#method.next) for more information. 35 */ 36 inline std::unique_ptr<icu4x::TimeZone> next(); 37 38 inline const icu4x::capi::TimeZoneIterator* AsFFI() const; 39 inline icu4x::capi::TimeZoneIterator* AsFFI(); 40 inline static const icu4x::TimeZoneIterator* FromFFI(const icu4x::capi::TimeZoneIterator* ptr); 41 inline static icu4x::TimeZoneIterator* FromFFI(icu4x::capi::TimeZoneIterator* ptr); 42 inline static void operator delete(void* ptr); 43 private: 44 TimeZoneIterator() = delete; 45 TimeZoneIterator(const icu4x::TimeZoneIterator&) = delete; 46 TimeZoneIterator(icu4x::TimeZoneIterator&&) noexcept = delete; 47 TimeZoneIterator operator=(const icu4x::TimeZoneIterator&) = delete; 48 TimeZoneIterator operator=(icu4x::TimeZoneIterator&&) noexcept = delete; 49 static void operator delete[](void*, size_t) = delete; 50 }; 51 52 } // namespace 53 #endif // icu4x_TimeZoneIterator_D_HPP