TimeZoneAndCanonical.hpp (1091B)
1 #ifndef icu4x_TimeZoneAndCanonical_HPP 2 #define icu4x_TimeZoneAndCanonical_HPP 3 4 #include "TimeZoneAndCanonical.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 "TimeZone.hpp" 16 17 18 namespace icu4x { 19 namespace capi { 20 extern "C" { 21 22 } // extern "C" 23 } // namespace capi 24 } // namespace 25 26 27 inline icu4x::capi::TimeZoneAndCanonical icu4x::TimeZoneAndCanonical::AsFFI() const { 28 return icu4x::capi::TimeZoneAndCanonical { 29 /* .time_zone = */ time_zone->AsFFI(), 30 /* .canonical = */ {canonical.data(), canonical.size()}, 31 }; 32 } 33 34 inline icu4x::TimeZoneAndCanonical icu4x::TimeZoneAndCanonical::FromFFI(icu4x::capi::TimeZoneAndCanonical c_struct) { 35 return icu4x::TimeZoneAndCanonical { 36 /* .time_zone = */ std::unique_ptr<icu4x::TimeZone>(icu4x::TimeZone::FromFFI(c_struct.time_zone)), 37 /* .canonical = */ std::string_view(c_struct.canonical.data, c_struct.canonical.len), 38 }; 39 } 40 41 42 #endif // icu4x_TimeZoneAndCanonical_HPP