• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef icu4x_LineBreakOptionsV2_HPP
2 #define icu4x_LineBreakOptionsV2_HPP
3 
4 #include "LineBreakOptionsV2.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 "../diplomat_runtime.hpp"
14 #include "LineBreakStrictness.hpp"
15 #include "LineBreakWordOption.hpp"
16 
17 
18 namespace icu4x {
19 namespace capi {
20     extern "C" {
21 
22 
23     } // extern "C"
24 } // namespace capi
25 } // namespace
26 
27 
AsFFI() const28 inline icu4x::capi::LineBreakOptionsV2 icu4x::LineBreakOptionsV2::AsFFI() const {
29   return icu4x::capi::LineBreakOptionsV2 {
30     /* .strictness = */ strictness.has_value() ? (icu4x::capi::LineBreakStrictness_option{ { strictness.value().AsFFI() }, true }) : (icu4x::capi::LineBreakStrictness_option{ {}, false }),
31     /* .word_option = */ word_option.has_value() ? (icu4x::capi::LineBreakWordOption_option{ { word_option.value().AsFFI() }, true }) : (icu4x::capi::LineBreakWordOption_option{ {}, false }),
32   };
33 }
34 
FromFFI(icu4x::capi::LineBreakOptionsV2 c_struct)35 inline icu4x::LineBreakOptionsV2 icu4x::LineBreakOptionsV2::FromFFI(icu4x::capi::LineBreakOptionsV2 c_struct) {
36   return icu4x::LineBreakOptionsV2 {
37     /* .strictness = */ c_struct.strictness.is_ok ? std::optional(icu4x::LineBreakStrictness::FromFFI(c_struct.strictness.ok)) : std::nullopt,
38     /* .word_option = */ c_struct.word_option.is_ok ? std::optional(icu4x::LineBreakWordOption::FromFFI(c_struct.word_option.ok)) : std::nullopt,
39   };
40 }
41 
42 
43 #endif // icu4x_LineBreakOptionsV2_HPP
44