ICU4X
International Components for Unicode
Loading...
Searching...
No Matches
TrailingCase.d.hpp
Go to the documentation of this file.
1#ifndef ICU4X_TrailingCase_D_HPP
2#define ICU4X_TrailingCase_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>
12#include "diplomat_runtime.hpp"
13
14
15namespace icu4x {
16namespace capi {
17 enum TrailingCase {
18 TrailingCase_Lower = 0,
19 TrailingCase_Unchanged = 1,
20 };
21
22 typedef struct TrailingCase_option {union { TrailingCase ok; }; bool is_ok; } TrailingCase_option;
23} // namespace capi
24} // namespace
25
26namespace icu4x {
31public:
32 enum Value {
33 Lower = 0,
35 };
36
37 TrailingCase(): value(Value::Lower) {}
38
39 // Implicit conversions between enum and ::Value
40 constexpr TrailingCase(Value v) : value(v) {}
41 constexpr operator Value() const { return value; }
42 // Prevent usage as boolean value
43 explicit operator bool() const = delete;
44
45 inline icu4x::capi::TrailingCase AsFFI() const;
46 inline static icu4x::TrailingCase FromFFI(icu4x::capi::TrailingCase c_enum);
47private:
48 Value value;
49};
50
51} // namespace
52#endif // ICU4X_TrailingCase_D_HPP
Definition TrailingCase.d.hpp:30
constexpr TrailingCase(Value v)
Definition TrailingCase.d.hpp:40
Value
Definition TrailingCase.d.hpp:32
@ Lower
Definition TrailingCase.d.hpp:33
@ Unchanged
Definition TrailingCase.d.hpp:34
TrailingCase()
Definition TrailingCase.d.hpp:37
Definition Bidi.d.hpp:13