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>
13
14namespace icu4x {
15namespace capi { struct Calendar; }
16class Calendar;
17namespace capi { struct Date; }
18class Date;
19namespace capi { struct IsoDate; }
20class IsoDate;
21class CalendarError;
23class Weekday;
24}
25
26
27namespace icu4x {
28namespace capi {
29 struct Date;
30} // namespace capi
31} // namespace
32
33namespace icu4x {
39class Date {
40public:
41
48 inline static 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);
49
57 inline static 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);
58
65
72
78 inline std::unique_ptr<icu4x::Date> to_calendar(const icu4x::Calendar& calendar) const;
79
85 inline std::unique_ptr<icu4x::IsoDate> to_iso() const;
86
92 inline int64_t to_rata_die() const;
93
99 inline uint16_t day_of_year() const;
100
106 inline uint8_t day_of_month() const;
107
113 inline icu4x::Weekday day_of_week() const;
114
126 inline uint8_t ordinal_month() const;
127
136 inline std::string month_code() const;
137
143 inline uint8_t month_number() const;
144
150 inline bool month_is_leap() const;
151
161 inline int32_t era_year_or_related_iso() const;
162
168 inline int32_t extended_year() const;
169
177 inline std::string era() const;
178
184 inline uint8_t months_in_year() const;
185
191 inline uint8_t days_in_month() const;
192
198 inline uint16_t days_in_year() const;
199
205 inline std::unique_ptr<icu4x::Calendar> calendar() const;
206
207 inline const icu4x::capi::Date* AsFFI() const;
208 inline icu4x::capi::Date* AsFFI();
209 inline static const icu4x::Date* FromFFI(const icu4x::capi::Date* ptr);
210 inline static icu4x::Date* FromFFI(icu4x::capi::Date* ptr);
211 inline static void operator delete(void* ptr);
212private:
213 Date() = delete;
214 Date(const icu4x::Date&) = delete;
215 Date(icu4x::Date&&) noexcept = delete;
216 Date operator=(const icu4x::Date&) = delete;
217 Date operator=(icu4x::Date&&) noexcept = delete;
218 static void operator delete[](void*, size_t) = delete;
219};
220
221} // namespace
222#endif // icu4x_Date_D_HPP
Definition diplomat_runtime.hpp:140
Definition CalendarError.d.hpp:32
Definition Calendar.d.hpp:34
Definition Date.d.hpp:39
icu4x::Weekday day_of_week() const
Definition Date.hpp:133
std::unique_ptr< icu4x::IsoDate > to_iso() const
Definition Date.hpp:113
uint8_t days_in_month() const
Definition Date.hpp:184
static 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:78
int64_t to_rata_die() const
Definition Date.hpp:118
std::string era() const
Definition Date.hpp:171
uint8_t month_number() const
Definition Date.hpp:151
uint8_t day_of_month() const
Definition Date.hpp:128
uint8_t months_in_year() const
Definition Date.hpp:179
static diplomat::result< std::unique_ptr< icu4x::Date >, icu4x::CalendarError > from_rata_die(int64_t rd, const icu4x::Calendar &calendar)
Definition Date.hpp:95
bool month_is_leap() const
Definition Date.hpp:156
uint8_t ordinal_month() const
Definition Date.hpp:138
std::unique_ptr< icu4x::Date > to_calendar(const icu4x::Calendar &calendar) const
Definition Date.hpp:107
static diplomat::result< std::unique_ptr< icu4x::Date >, icu4x::Rfc9557ParseError > from_string(std::string_view v, const icu4x::Calendar &calendar)
Definition Date.hpp:101
uint16_t days_in_year() const
Definition Date.hpp:189
static 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:86
int32_t era_year_or_related_iso() const
Definition Date.hpp:161
int32_t extended_year() const
Definition Date.hpp:166
uint16_t day_of_year() const
Definition Date.hpp:123
std::unique_ptr< icu4x::Calendar > calendar() const
Definition Date.hpp:194
std::string month_code() const
Definition Date.hpp:143
Definition IsoDate.d.hpp:40
Definition Rfc9557ParseError.d.hpp:33
Definition Weekday.d.hpp:32
Definition Bidi.d.hpp:14