DisplayNamesOptionsV1.hpp (1856B)
1 #ifndef icu4x_DisplayNamesOptionsV1_HPP 2 #define icu4x_DisplayNamesOptionsV1_HPP 3 4 #include "DisplayNamesOptionsV1.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 "DisplayNamesFallback.hpp" 16 #include "DisplayNamesStyle.hpp" 17 #include "LanguageDisplay.hpp" 18 19 20 namespace icu4x { 21 namespace capi { 22 extern "C" { 23 24 } // extern "C" 25 } // namespace capi 26 } // namespace 27 28 29 inline icu4x::capi::DisplayNamesOptionsV1 icu4x::DisplayNamesOptionsV1::AsFFI() const { 30 return icu4x::capi::DisplayNamesOptionsV1 { 31 /* .style = */ style.has_value() ? (icu4x::capi::DisplayNamesStyle_option{ { style.value().AsFFI() }, true }) : (icu4x::capi::DisplayNamesStyle_option{ {}, false }), 32 /* .fallback = */ fallback.has_value() ? (icu4x::capi::DisplayNamesFallback_option{ { fallback.value().AsFFI() }, true }) : (icu4x::capi::DisplayNamesFallback_option{ {}, false }), 33 /* .language_display = */ language_display.has_value() ? (icu4x::capi::LanguageDisplay_option{ { language_display.value().AsFFI() }, true }) : (icu4x::capi::LanguageDisplay_option{ {}, false }), 34 }; 35 } 36 37 inline icu4x::DisplayNamesOptionsV1 icu4x::DisplayNamesOptionsV1::FromFFI(icu4x::capi::DisplayNamesOptionsV1 c_struct) { 38 return icu4x::DisplayNamesOptionsV1 { 39 /* .style = */ c_struct.style.is_ok ? std::optional(icu4x::DisplayNamesStyle::FromFFI(c_struct.style.ok)) : std::nullopt, 40 /* .fallback = */ c_struct.fallback.is_ok ? std::optional(icu4x::DisplayNamesFallback::FromFFI(c_struct.fallback.ok)) : std::nullopt, 41 /* .language_display = */ c_struct.language_display.is_ok ? std::optional(icu4x::LanguageDisplay::FromFFI(c_struct.language_display.ok)) : std::nullopt, 42 }; 43 } 44 45 46 #endif // icu4x_DisplayNamesOptionsV1_HPP