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 IsoWeekOfYear;
21class CalendarError;
23class Weekday;
24} // namespace icu4x
25
26
27
28namespace icu4x {
29namespace capi {
30 struct IsoDate;
31} // namespace capi
32} // namespace
33
34namespace icu4x {
40class IsoDate {
41public:
42
49
55 inline static std::unique_ptr<icu4x::IsoDate> from_rata_die(int64_t rd);
56
63
69 inline std::unique_ptr<icu4x::Date> to_calendar(const icu4x::Calendar& calendar) const;
70
74 inline std::unique_ptr<icu4x::Date> to_any() const;
75
81 inline int64_t to_rata_die() const;
82
88 inline uint16_t day_of_year() const;
89
95 inline uint8_t day_of_month() const;
96
102 inline icu4x::Weekday day_of_week() const;
103
109 inline icu4x::IsoWeekOfYear week_of_year() const;
110
118 inline uint8_t month() const;
119
127 inline int32_t year() const;
128
134 inline bool is_in_leap_year() const;
135
141 inline uint8_t months_in_year() const;
142
148 inline uint8_t days_in_month() const;
149
155 inline uint16_t days_in_year() const;
156
157 inline const icu4x::capi::IsoDate* AsFFI() const;
158 inline icu4x::capi::IsoDate* AsFFI();
159 inline static const icu4x::IsoDate* FromFFI(const icu4x::capi::IsoDate* ptr);
160 inline static icu4x::IsoDate* FromFFI(icu4x::capi::IsoDate* ptr);
161 inline static void operator delete(void* ptr);
162private:
163 IsoDate() = delete;
164 IsoDate(const icu4x::IsoDate&) = delete;
165 IsoDate(icu4x::IsoDate&&) noexcept = delete;
166 IsoDate operator=(const icu4x::IsoDate&) = delete;
167 IsoDate operator=(icu4x::IsoDate&&) noexcept = delete;
168 static void operator delete[](void*, size_t) = delete;
169};
170
171} // namespace
172#endif // ICU4X_IsoDate_D_HPP
Definition CalendarError.d.hpp:32
Definition Calendar.d.hpp:34
Definition Date.d.hpp:42
Definition IsoDate.d.hpp:40
uint8_t days_in_month() const
Definition IsoDate.hpp:140
static icu4x::diplomat::result< std::unique_ptr< icu4x::IsoDate >, icu4x::CalendarError > create(int32_t year, uint8_t month, uint8_t day)
Definition IsoDate.hpp:67
int32_t year() const
Definition IsoDate.hpp:125
uint8_t month() const
Definition IsoDate.hpp:120
std::unique_ptr< icu4x::Date > to_any() const
Definition IsoDate.hpp:90
bool is_in_leap_year() const
Definition IsoDate.hpp:130
static std::unique_ptr< icu4x::IsoDate > from_rata_die(int64_t rd)
Definition IsoDate.hpp:74
uint8_t day_of_month() const
Definition IsoDate.hpp:105
std::unique_ptr< icu4x::Date > to_calendar(const icu4x::Calendar &calendar) const
Definition IsoDate.hpp:84
static icu4x::diplomat::result< std::unique_ptr< icu4x::IsoDate >, icu4x::Rfc9557ParseError > from_string(std::string_view v)
Definition IsoDate.hpp:79
icu4x::IsoWeekOfYear week_of_year() const
Definition IsoDate.hpp:115
uint16_t day_of_year() const
Definition IsoDate.hpp:100
uint8_t months_in_year() const
Definition IsoDate.hpp:135
icu4x::Weekday day_of_week() const
Definition IsoDate.hpp:110
int64_t to_rata_die() const
Definition IsoDate.hpp:95
uint16_t days_in_year() const
Definition IsoDate.hpp:145
Definition Rfc9557ParseError.d.hpp:33
Definition Weekday.d.hpp:35
Definition diplomat_runtime.hpp:166
Definition Bidi.d.hpp:13
Definition IsoWeekOfYear.d.hpp:31