ICU4X
International Components for Unicode
Loading...
Searching...
No Matches
IsoDate.d.hpp
Go to the documentation of this file.
1#ifndef ICU4X_IsoDate_D_HPP
2#define ICU4X_IsoDate_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 {
14namespace capi { struct Calendar; }
15class Calendar;
16namespace capi { struct Date; }
17class Date;
18namespace capi { struct IsoDate; }
19class IsoDate;
20struct DateAddOptions;
22struct DateDuration;
23struct IsoWeekOfYear;
25class CalendarError;
27class Weekday;
28} // namespace icu4x
29
30
31
32namespace icu4x {
33namespace capi {
34 struct IsoDate;
35} // namespace capi
36} // namespace
37
38namespace icu4x {
44class IsoDate {
45public:
46
53
59 inline static std::unique_ptr<icu4x::IsoDate> from_rata_die(int64_t rd);
60
67
73 inline std::unique_ptr<icu4x::Date> to_calendar(const icu4x::Calendar& calendar) const;
74
78 inline std::unique_ptr<icu4x::Date> to_any() const;
79
85 inline int64_t to_rata_die() const;
86
92 inline uint16_t day_of_year() const;
93
99 inline uint8_t day_of_month() const;
100
111 [[deprecated("use `weekday`")]]
112 inline icu4x::Weekday day_of_week() const;
113
119 inline icu4x::Weekday weekday() const;
120
126 inline icu4x::IsoWeekOfYear week_of_year() const;
127
135 inline uint8_t month() const;
136
144 inline int32_t year() const;
145
151 inline bool is_in_leap_year() const;
152
158 inline uint8_t months_in_year() const;
159
165 inline uint8_t days_in_month() const;
166
172 inline uint16_t days_in_year() const;
173
180
187
188 inline const icu4x::capi::IsoDate* AsFFI() const;
189 inline icu4x::capi::IsoDate* AsFFI();
190 inline static const icu4x::IsoDate* FromFFI(const icu4x::capi::IsoDate* ptr);
191 inline static icu4x::IsoDate* FromFFI(icu4x::capi::IsoDate* ptr);
192 inline static void operator delete(void* ptr);
193private:
194 IsoDate() = delete;
195 IsoDate(const icu4x::IsoDate&) = delete;
196 IsoDate(icu4x::IsoDate&&) noexcept = delete;
197 IsoDate operator=(const icu4x::IsoDate&) = delete;
198 IsoDate operator=(icu4x::IsoDate&&) noexcept = delete;
199 static void operator delete[](void*, size_t) = delete;
200};
201
202} // namespace
203#endif // ICU4X_IsoDate_D_HPP
Definition CalendarDateAddError.d.hpp:32
Definition CalendarError.d.hpp:32
Definition Calendar.d.hpp:34
Definition Date.d.hpp:47
Definition IsoDate.d.hpp:44
uint8_t days_in_month() const
Definition IsoDate.hpp:156
static icu4x::diplomat::result< std::unique_ptr< icu4x::IsoDate >, icu4x::CalendarError > create(int32_t year, uint8_t month, uint8_t day)
Definition IsoDate.hpp:78
int32_t year() const
Definition IsoDate.hpp:141
uint8_t month() const
Definition IsoDate.hpp:136
std::unique_ptr< icu4x::Date > to_any() const
Definition IsoDate.hpp:101
bool is_in_leap_year() const
Definition IsoDate.hpp:146
static std::unique_ptr< icu4x::IsoDate > from_rata_die(int64_t rd)
Definition IsoDate.hpp:85
uint8_t day_of_month() const
Definition IsoDate.hpp:116
std::unique_ptr< icu4x::Date > to_calendar(const icu4x::Calendar &calendar) const
Definition IsoDate.hpp:95
static icu4x::diplomat::result< std::unique_ptr< icu4x::IsoDate >, icu4x::Rfc9557ParseError > from_string(std::string_view v)
Definition IsoDate.hpp:90
icu4x::IsoWeekOfYear week_of_year() const
Definition IsoDate.hpp:131
uint16_t day_of_year() const
Definition IsoDate.hpp:111
icu4x::DateDuration until_with_options(const icu4x::IsoDate &other, icu4x::DateDifferenceOptions options) const
Definition IsoDate.hpp:173
uint8_t months_in_year() const
Definition IsoDate.hpp:151
icu4x::Weekday day_of_week() const
Definition IsoDate.hpp:121
icu4x::Weekday weekday() const
Definition IsoDate.hpp:126
icu4x::diplomat::result< std::unique_ptr< icu4x::IsoDate >, icu4x::CalendarDateAddError > try_add_with_options(icu4x::DateDuration duration, icu4x::DateAddOptions options) const
Definition IsoDate.hpp:166
int64_t to_rata_die() const
Definition IsoDate.hpp:106
uint16_t days_in_year() const
Definition IsoDate.hpp:161
Definition Rfc9557ParseError.d.hpp:33
Definition Weekday.d.hpp:35
Definition diplomat_runtime.hpp:166
Definition Bidi.d.hpp:13
Definition DateAddOptions.d.hpp:35
Definition DateDifferenceOptions.d.hpp:35
Definition DateDuration.d.hpp:39
Definition IsoWeekOfYear.d.hpp:31