TitlecaseOptionsV1.hpp (1798B)
1 #ifndef icu4x_TitlecaseOptionsV1_HPP 2 #define icu4x_TitlecaseOptionsV1_HPP 3 4 #include "TitlecaseOptionsV1.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 "LeadingAdjustment.hpp" 16 #include "TrailingCase.hpp" 17 18 19 namespace icu4x { 20 namespace capi { 21 extern "C" { 22 23 icu4x::capi::TitlecaseOptionsV1 icu4x_TitlecaseOptionsV1_default_mv1(void); 24 25 } // extern "C" 26 } // namespace capi 27 } // namespace 28 29 inline icu4x::TitlecaseOptionsV1 icu4x::TitlecaseOptionsV1::default_options() { 30 auto result = icu4x::capi::icu4x_TitlecaseOptionsV1_default_mv1(); 31 return icu4x::TitlecaseOptionsV1::FromFFI(result); 32 } 33 34 35 inline icu4x::capi::TitlecaseOptionsV1 icu4x::TitlecaseOptionsV1::AsFFI() const { 36 return icu4x::capi::TitlecaseOptionsV1 { 37 /* .leading_adjustment = */ leading_adjustment.has_value() ? (icu4x::capi::LeadingAdjustment_option{ { leading_adjustment.value().AsFFI() }, true }) : (icu4x::capi::LeadingAdjustment_option{ {}, false }), 38 /* .trailing_case = */ trailing_case.has_value() ? (icu4x::capi::TrailingCase_option{ { trailing_case.value().AsFFI() }, true }) : (icu4x::capi::TrailingCase_option{ {}, false }), 39 }; 40 } 41 42 inline icu4x::TitlecaseOptionsV1 icu4x::TitlecaseOptionsV1::FromFFI(icu4x::capi::TitlecaseOptionsV1 c_struct) { 43 return icu4x::TitlecaseOptionsV1 { 44 /* .leading_adjustment = */ c_struct.leading_adjustment.is_ok ? std::optional(icu4x::LeadingAdjustment::FromFFI(c_struct.leading_adjustment.ok)) : std::nullopt, 45 /* .trailing_case = */ c_struct.trailing_case.is_ok ? std::optional(icu4x::TrailingCase::FromFFI(c_struct.trailing_case.ok)) : std::nullopt, 46 }; 47 } 48 49 50 #endif // icu4x_TitlecaseOptionsV1_HPP