ICU4X
International Components for Unicode
Loading...
Searching...
No Matches
DateDuration.hpp
Go to the documentation of this file.
1#ifndef ICU4X_DateDuration_HPP
2#define ICU4X_DateDuration_HPP
3
4#include "DateDuration.d.hpp"
5
6#include <stdio.h>
7#include <stdint.h>
8#include <stddef.h>
9#include <stdbool.h>
10#include <memory>
11#include <functional>
12#include <optional>
13#include <cstdlib>
15#include "diplomat_runtime.hpp"
16
17
18namespace icu4x {
19namespace capi {
20 extern "C" {
21
22 typedef struct icu4x_DateDuration_from_string_mv1_result {union {icu4x::capi::DateDuration ok; icu4x::capi::DateDurationParseError err;}; bool is_ok;} icu4x_DateDuration_from_string_mv1_result;
23 icu4x_DateDuration_from_string_mv1_result icu4x_DateDuration_from_string_mv1(icu4x::diplomat::capi::DiplomatStringView v);
24
25 icu4x::capi::DateDuration icu4x_DateDuration_for_years_mv1(int32_t years);
26
27 icu4x::capi::DateDuration icu4x_DateDuration_for_months_mv1(int32_t months);
28
29 icu4x::capi::DateDuration icu4x_DateDuration_for_weeks_mv1(int32_t weeks);
30
31 icu4x::capi::DateDuration icu4x_DateDuration_for_days_mv1(int32_t days);
32
33 } // extern "C"
34} // namespace capi
35} // namespace
36
38 auto result = icu4x::capi::icu4x_DateDuration_from_string_mv1({v.data(), v.size()});
40}
41
43 auto result = icu4x::capi::icu4x_DateDuration_for_years_mv1(years);
44 return icu4x::DateDuration::FromFFI(result);
45}
46
48 auto result = icu4x::capi::icu4x_DateDuration_for_months_mv1(months);
49 return icu4x::DateDuration::FromFFI(result);
50}
51
53 auto result = icu4x::capi::icu4x_DateDuration_for_weeks_mv1(weeks);
54 return icu4x::DateDuration::FromFFI(result);
55}
56
58 auto result = icu4x::capi::icu4x_DateDuration_for_days_mv1(days);
59 return icu4x::DateDuration::FromFFI(result);
60}
61
62
63inline icu4x::capi::DateDuration icu4x::DateDuration::AsFFI() const {
64 return icu4x::capi::DateDuration {
65 /* .is_negative = */ is_negative,
66 /* .years = */ years,
67 /* .months = */ months,
68 /* .weeks = */ weeks,
69 /* .days = */ days,
70 };
71}
72
73inline icu4x::DateDuration icu4x::DateDuration::FromFFI(icu4x::capi::DateDuration c_struct) {
74 return icu4x::DateDuration {
75 /* .is_negative = */ c_struct.is_negative,
76 /* .years = */ c_struct.years,
77 /* .months = */ c_struct.months,
78 /* .weeks = */ c_struct.weeks,
79 /* .days = */ c_struct.days,
80 };
81}
82
83
84#endif // ICU4X_DateDuration_HPP
Definition diplomat_runtime.hpp:166
bool is_ok() const
Definition diplomat_runtime.hpp:181
Definition Bidi.d.hpp:13
Definition DateDuration.d.hpp:39
static icu4x::DateDuration for_years(int32_t years)
Definition DateDuration.hpp:42
uint32_t years
Definition DateDuration.d.hpp:41
static icu4x::DateDuration for_days(int32_t days)
Definition DateDuration.hpp:57
static icu4x::DateDuration for_months(int32_t months)
Definition DateDuration.hpp:47
static icu4x::DateDuration for_weeks(int32_t weeks)
Definition DateDuration.hpp:52
static icu4x::diplomat::result< icu4x::DateDuration, icu4x::DateDurationParseError > from_string(std::string_view v)
Definition DateDuration.hpp:37
uint32_t days
Definition DateDuration.d.hpp:44
uint32_t months
Definition DateDuration.d.hpp:42
uint32_t weeks
Definition DateDuration.d.hpp:43
Definition diplomat_runtime.hpp:146
Definition diplomat_runtime.hpp:128