ICU4X
International Components for Unicode
Loading...
Searching...
No Matches
TimePrecision.d.hpp
Go to the documentation of this file.
1#ifndef ICU4X_TimePrecision_D_HPP
2#define ICU4X_TimePrecision_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"
13namespace icu4x {
14class TimePrecision;
15} // namespace icu4x
16
17
18
19namespace icu4x {
20namespace capi {
21 enum TimePrecision {
22 TimePrecision_Hour = 0,
23 TimePrecision_Minute = 1,
24 TimePrecision_MinuteOptional = 2,
25 TimePrecision_Second = 3,
26 TimePrecision_Subsecond1 = 4,
27 TimePrecision_Subsecond2 = 5,
28 TimePrecision_Subsecond3 = 6,
29 TimePrecision_Subsecond4 = 7,
30 TimePrecision_Subsecond5 = 8,
31 TimePrecision_Subsecond6 = 9,
32 TimePrecision_Subsecond7 = 10,
33 TimePrecision_Subsecond8 = 11,
34 TimePrecision_Subsecond9 = 12,
35 };
36
37 typedef struct TimePrecision_option {union { TimePrecision ok; }; bool is_ok; } TimePrecision_option;
38} // namespace capi
39} // namespace
40
41namespace icu4x {
48public:
64
66
67 // Implicit conversions between enum and ::Value
68 constexpr TimePrecision(Value v) : value(v) {}
69 constexpr operator Value() const { return value; }
70 // Prevent usage as boolean value
71 explicit operator bool() const = delete;
72
76 inline static std::optional<icu4x::TimePrecision> from_subsecond_digits(uint8_t digits);
77
78 inline icu4x::capi::TimePrecision AsFFI() const;
79 inline static icu4x::TimePrecision FromFFI(icu4x::capi::TimePrecision c_enum);
80private:
81 Value value;
82};
83
84} // namespace
85#endif // ICU4X_TimePrecision_D_HPP
Definition TimePrecision.d.hpp:47
Value
Definition TimePrecision.d.hpp:49
@ Hour
Definition TimePrecision.d.hpp:50
@ Subsecond7
Definition TimePrecision.d.hpp:60
@ Subsecond1
Definition TimePrecision.d.hpp:54
@ Subsecond9
Definition TimePrecision.d.hpp:62
@ Minute
Definition TimePrecision.d.hpp:51
@ Subsecond6
Definition TimePrecision.d.hpp:59
@ Second
Definition TimePrecision.d.hpp:53
@ Subsecond3
Definition TimePrecision.d.hpp:56
@ MinuteOptional
Definition TimePrecision.d.hpp:52
@ Subsecond4
Definition TimePrecision.d.hpp:57
@ Subsecond8
Definition TimePrecision.d.hpp:61
@ Subsecond2
Definition TimePrecision.d.hpp:55
@ Subsecond5
Definition TimePrecision.d.hpp:58
constexpr TimePrecision(Value v)
Definition TimePrecision.d.hpp:68
static std::optional< icu4x::TimePrecision > from_subsecond_digits(uint8_t digits)
Definition TimePrecision.hpp:53
TimePrecision()
Definition TimePrecision.d.hpp:65
Definition Bidi.d.hpp:13