summaryrefslogtreecommitdiffstats
path: root/intl/icu_capi/cpp/include/ICU4XLocaleFallbackConfig.hpp
blob: 8c177d718af342d58c1de6799ef22e950dafba7d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#ifndef ICU4XLocaleFallbackConfig_HPP
#define ICU4XLocaleFallbackConfig_HPP
#include <stdint.h>
#include <stddef.h>
#include <stdbool.h>
#include <algorithm>
#include <memory>
#include <variant>
#include <optional>
#include "diplomat_runtime.hpp"

#include "ICU4XLocaleFallbackConfig.h"

#include "ICU4XLocaleFallbackPriority.hpp"
#include "ICU4XLocaleFallbackSupplement.hpp"


/**
 * Collection of configurations for the ICU4X fallback algorithm.
 * 
 * See the [Rust documentation for `LocaleFallbackConfig`](https://docs.rs/icu/latest/icu/locid_transform/fallback/struct.LocaleFallbackConfig.html) for more information.
 */
struct ICU4XLocaleFallbackConfig {
 public:

  /**
   * Choice of priority mode.
   */
  ICU4XLocaleFallbackPriority priority;

  /**
   * An empty string is considered `None`.
   */
  std::string_view extension_key;

  /**
   * Fallback supplement data key to customize fallback rules.
   */
  ICU4XLocaleFallbackSupplement fallback_supplement;
};


#endif