• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef icu4x_TimeZoneAndCanonicalIterator_D_HPP
2 #define icu4x_TimeZoneAndCanonicalIterator_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 struct TimeZoneAndCanonical;
15 }
16 
17 
18 namespace icu4x {
19 namespace capi {
20     struct TimeZoneAndCanonicalIterator;
21 } // namespace capi
22 } // namespace
23 
24 namespace icu4x {
25 class TimeZoneAndCanonicalIterator {
26 public:
27 
28   inline std::optional<icu4x::TimeZoneAndCanonical> next();
29 
30   inline const icu4x::capi::TimeZoneAndCanonicalIterator* AsFFI() const;
31   inline icu4x::capi::TimeZoneAndCanonicalIterator* AsFFI();
32   inline static const icu4x::TimeZoneAndCanonicalIterator* FromFFI(const icu4x::capi::TimeZoneAndCanonicalIterator* ptr);
33   inline static icu4x::TimeZoneAndCanonicalIterator* FromFFI(icu4x::capi::TimeZoneAndCanonicalIterator* ptr);
34   inline static void operator delete(void* ptr);
35 private:
36   TimeZoneAndCanonicalIterator() = delete;
37   TimeZoneAndCanonicalIterator(const icu4x::TimeZoneAndCanonicalIterator&) = delete;
38   TimeZoneAndCanonicalIterator(icu4x::TimeZoneAndCanonicalIterator&&) noexcept = delete;
39   TimeZoneAndCanonicalIterator operator=(const icu4x::TimeZoneAndCanonicalIterator&) = delete;
40   TimeZoneAndCanonicalIterator operator=(icu4x::TimeZoneAndCanonicalIterator&&) noexcept = delete;
41   static void operator delete[](void*, size_t) = delete;
42 };
43 
44 } // namespace
45 #endif // icu4x_TimeZoneAndCanonicalIterator_D_HPP
46