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>
13
14namespace icu4x {
15class TimePrecision;
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
65 TimePrecision() = default;
66 // Implicit conversions between enum and ::Value
67 constexpr TimePrecision(Value v) : value(v) {}
68 constexpr operator Value() const { return value; }
69 // Prevent usage as boolean value
70 explicit operator bool() const = delete;
71
75 inline static std::optional<icu4x::TimePrecision> from_subsecond_digits(uint8_t digits);
76
77 inline icu4x::capi::TimePrecision AsFFI() const;
78 inline static icu4x::TimePrecision FromFFI(icu4x::capi::TimePrecision c_enum);
79private:
80 Value value;
81};
82
83} // namespace
84#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:67
static std::optional< icu4x::TimePrecision > from_subsecond_digits(uint8_t digits)
Definition TimePrecision.hpp:53
Definition Bidi.d.hpp:14