ICU4X
International Components for Unicode
Loading...
Searching...
No Matches
Date.d.hpp
Go to the documentation of this file.
1#ifndef ICU4X_Date_D_HPP
2#define ICU4X_Date_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 DateFields;
23class CalendarError;
25class Weekday;
26} // namespace icu4x
27
28
29
30namespace icu4x {
31namespace capi {
32 struct Date;
33} // namespace capi
34} // namespace
35
36namespace icu4x {
42class Date {
43public:
44
51 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::Date>, icu4x::CalendarError> from_iso_in_calendar(int32_t iso_year, uint8_t iso_month, uint8_t iso_day, const icu4x::Calendar& calendar);
52
61
69 inline static icu4x::diplomat::result<std::unique_ptr<icu4x::Date>, icu4x::CalendarError> from_codes_in_calendar(std::string_view era_code, int32_t year, std::string_view month_code, uint8_t day, const icu4x::Calendar& calendar);
70
77
84
90 inline std::unique_ptr<icu4x::Date> to_calendar(const icu4x::Calendar& calendar) const;
91
97 inline std::unique_ptr<icu4x::IsoDate> to_iso() const;
98
104 inline int64_t to_rata_die() const;
105
111 inline uint16_t day_of_year() const;
112
118 inline uint8_t day_of_month() const;
119
125 inline icu4x::Weekday day_of_week() const;
126
138 inline uint8_t ordinal_month() const;
139
148 inline std::string month_code() const;
149 template<typename W>
150 inline void month_code_write(W& writeable_output) const;
151
157 inline uint8_t month_number() const;
158
164 inline bool month_is_leap() const;
165
175 inline int32_t era_year_or_related_iso() const;
176
186 inline int32_t extended_year() const;
187
195 inline std::string era() const;
196 template<typename W>
197 inline void era_write(W& writeable_output) const;
198
204 inline uint8_t months_in_year() const;
205
211 inline uint8_t days_in_month() const;
212
218 inline uint16_t days_in_year() const;
219
225 inline std::unique_ptr<icu4x::Calendar> calendar() const;
226
227 inline const icu4x::capi::Date* AsFFI() const;
228 inline icu4x::capi::Date* AsFFI();
229 inline static const icu4x::Date* FromFFI(const icu4x::capi::Date* ptr);
230 inline static icu4x::Date* FromFFI(icu4x::capi::Date* ptr);
231 inline static void operator delete(void* ptr);
232private:
233 Date() = delete;
234 Date(const icu4x::Date&) = delete;
235 Date(icu4x::Date&&) noexcept = delete;
236 Date operator=(const icu4x::Date&) = delete;
237 Date operator=(icu4x::Date&&) noexcept = delete;
238 static void operator delete[](void*, size_t) = delete;
239};
240
241} // namespace
242#endif // ICU4X_Date_D_HPP
Definition CalendarDateFromFieldsError.d.hpp:37
Definition CalendarError.d.hpp:32
Definition Calendar.d.hpp:34
Definition Date.d.hpp:42
icu4x::Weekday day_of_week() const
Definition Date.hpp:146
std::unique_ptr< icu4x::IsoDate > to_iso() const
Definition Date.hpp:126
void era_write(W &writeable_output) const
Definition Date.hpp:198
uint8_t days_in_month() const
Definition Date.hpp:209
int64_t to_rata_die() const
Definition Date.hpp:131
static icu4x::diplomat::result< std::unique_ptr< icu4x::Date >, icu4x::CalendarError > from_codes_in_calendar(std::string_view era_code, int32_t year, std::string_view month_code, uint8_t day, const icu4x::Calendar &calendar)
Definition Date.hpp:99
std::string era() const
Definition Date.hpp:190
uint8_t month_number() const
Definition Date.hpp:170
uint8_t day_of_month() const
Definition Date.hpp:141
uint8_t months_in_year() const
Definition Date.hpp:204
static icu4x::diplomat::result< std::unique_ptr< icu4x::Date >, icu4x::CalendarError > from_rata_die(int64_t rd, const icu4x::Calendar &calendar)
Definition Date.hpp:108
static icu4x::diplomat::result< std::unique_ptr< icu4x::Date >, icu4x::CalendarError > from_iso_in_calendar(int32_t iso_year, uint8_t iso_month, uint8_t iso_day, const icu4x::Calendar &calendar)
Definition Date.hpp:84
bool month_is_leap() const
Definition Date.hpp:175
uint8_t ordinal_month() const
Definition Date.hpp:151
void month_code_write(W &writeable_output) const
Definition Date.hpp:164
std::unique_ptr< icu4x::Date > to_calendar(const icu4x::Calendar &calendar) const
Definition Date.hpp:120
uint16_t days_in_year() const
Definition Date.hpp:214
int32_t era_year_or_related_iso() const
Definition Date.hpp:180
int32_t extended_year() const
Definition Date.hpp:185
uint16_t day_of_year() const
Definition Date.hpp:136
static icu4x::diplomat::result< std::unique_ptr< icu4x::Date >, icu4x::Rfc9557ParseError > from_string(std::string_view v, const icu4x::Calendar &calendar)
Definition Date.hpp:114
std::unique_ptr< icu4x::Calendar > calendar() const
Definition Date.hpp:219
std::string month_code() const
Definition Date.hpp:156
static icu4x::diplomat::result< std::unique_ptr< icu4x::Date >, icu4x::CalendarDateFromFieldsError > from_fields_in_calendar(icu4x::DateFields fields, icu4x::DateFromFieldsOptions options, const icu4x::Calendar &calendar)
Definition Date.hpp:92
Definition IsoDate.d.hpp:40
Definition Rfc9557ParseError.d.hpp:33
Definition Weekday.d.hpp:35
Definition diplomat_runtime.hpp:166
Definition Bidi.d.hpp:13
Definition DateFields.d.hpp:37
Definition DateFromFieldsOptions.d.hpp:40