• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef icu4x_TitlecaseOptionsV1_D_HPP
2 #define icu4x_TitlecaseOptionsV1_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 #include "LeadingAdjustment.d.hpp"
13 #include "TrailingCase.d.hpp"
14 
15 namespace icu4x {
16 struct TitlecaseOptionsV1;
17 class LeadingAdjustment;
18 class TrailingCase;
19 }
20 
21 
22 namespace icu4x {
23 namespace capi {
24     struct TitlecaseOptionsV1 {
25       icu4x::capi::LeadingAdjustment_option leading_adjustment;
26       icu4x::capi::TrailingCase_option trailing_case;
27     };
28 
29     typedef struct TitlecaseOptionsV1_option {union { TitlecaseOptionsV1 ok; }; bool is_ok; } TitlecaseOptionsV1_option;
30 } // namespace capi
31 } // namespace
32 
33 
34 namespace icu4x {
35 struct TitlecaseOptionsV1 {
36   std::optional<icu4x::LeadingAdjustment> leading_adjustment;
37   std::optional<icu4x::TrailingCase> trailing_case;
38 
39   inline static icu4x::TitlecaseOptionsV1 default_options();
40 
41   inline icu4x::capi::TitlecaseOptionsV1 AsFFI() const;
42   inline static icu4x::TitlecaseOptionsV1 FromFFI(icu4x::capi::TitlecaseOptionsV1 c_struct);
43 };
44 
45 } // namespace
46 #endif // icu4x_TitlecaseOptionsV1_D_HPP
47