ICU4X
International Components for Unicode
Loading...
Searching...
No Matches
DisplayNamesStyle.d.hpp
Go to the documentation of this file.
1#ifndef icu4x_DisplayNamesStyle_D_HPP
2#define icu4x_DisplayNamesStyle_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 <cstdlib>
13
14
15namespace icu4x {
16namespace capi {
17 enum DisplayNamesStyle {
18 DisplayNamesStyle_Narrow = 0,
19 DisplayNamesStyle_Short = 1,
20 DisplayNamesStyle_Long = 2,
21 DisplayNamesStyle_Menu = 3,
22 };
23
24 typedef struct DisplayNamesStyle_option {union { DisplayNamesStyle ok; }; bool is_ok; } DisplayNamesStyle_option;
25} // namespace capi
26} // namespace
27
28namespace icu4x {
33public:
34 enum Value {
35 Narrow = 0,
36 Short = 1,
37 Long = 2,
38 Menu = 3,
39 };
40
41 DisplayNamesStyle() = default;
42 // Implicit conversions between enum and ::Value
43 constexpr DisplayNamesStyle(Value v) : value(v) {}
44 constexpr operator Value() const { return value; }
45 // Prevent usage as boolean value
46 explicit operator bool() const = delete;
47
48 inline icu4x::capi::DisplayNamesStyle AsFFI() const;
49 inline static icu4x::DisplayNamesStyle FromFFI(icu4x::capi::DisplayNamesStyle c_enum);
50private:
51 Value value;
52};
53
54} // namespace
55#endif // icu4x_DisplayNamesStyle_D_HPP
Definition DisplayNamesStyle.d.hpp:32
Value
Definition DisplayNamesStyle.d.hpp:34
@ Menu
Definition DisplayNamesStyle.d.hpp:38
@ Short
Definition DisplayNamesStyle.d.hpp:36
@ Narrow
Definition DisplayNamesStyle.d.hpp:35
@ Long
Definition DisplayNamesStyle.d.hpp:37
constexpr DisplayNamesStyle(Value v)
Definition DisplayNamesStyle.d.hpp:43
Definition Bidi.d.hpp:14