• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef icu4x_CollatorOptionsV1_D_HPP
2 #define icu4x_CollatorOptionsV1_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 "CollatorAlternateHandling.d.hpp"
13 #include "CollatorBackwardSecondLevel.d.hpp"
14 #include "CollatorCaseLevel.d.hpp"
15 #include "CollatorMaxVariable.d.hpp"
16 #include "CollatorStrength.d.hpp"
17 
18 namespace icu4x {
19 class CollatorAlternateHandling;
20 class CollatorBackwardSecondLevel;
21 class CollatorCaseLevel;
22 class CollatorMaxVariable;
23 class CollatorStrength;
24 }
25 
26 
27 namespace icu4x {
28 namespace capi {
29     struct CollatorOptionsV1 {
30       icu4x::capi::CollatorStrength_option strength;
31       icu4x::capi::CollatorAlternateHandling_option alternate_handling;
32       icu4x::capi::CollatorMaxVariable_option max_variable;
33       icu4x::capi::CollatorCaseLevel_option case_level;
34       icu4x::capi::CollatorBackwardSecondLevel_option backward_second_level;
35     };
36 
37     typedef struct CollatorOptionsV1_option {union { CollatorOptionsV1 ok; }; bool is_ok; } CollatorOptionsV1_option;
38 } // namespace capi
39 } // namespace
40 
41 
42 namespace icu4x {
43 struct CollatorOptionsV1 {
44   std::optional<icu4x::CollatorStrength> strength;
45   std::optional<icu4x::CollatorAlternateHandling> alternate_handling;
46   std::optional<icu4x::CollatorMaxVariable> max_variable;
47   std::optional<icu4x::CollatorCaseLevel> case_level;
48   std::optional<icu4x::CollatorBackwardSecondLevel> backward_second_level;
49 
50   inline icu4x::capi::CollatorOptionsV1 AsFFI() const;
51   inline static icu4x::CollatorOptionsV1 FromFFI(icu4x::capi::CollatorOptionsV1 c_struct);
52 };
53 
54 } // namespace
55 #endif // icu4x_CollatorOptionsV1_D_HPP
56