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>
13
14namespace icu4x {
15namespace capi { struct Calendar; }
16class Calendar;
17namespace capi { struct Date; }
18class Date;
19namespace capi { struct IsoDate; }
20class IsoDate;
21struct IsoWeekOfYear;
22class CalendarError;
24class Weekday;
25}
26
27
28namespace icu4x {
29namespace capi {
30 struct IsoDate;
31} // namespace capi
32} // namespace
33
34namespace icu4x {
40class IsoDate {
41public:
42
48 inline static diplomat::result<std::unique_ptr<icu4x::IsoDate>, icu4x::CalendarError> create(int32_t year, uint8_t month, uint8_t day);
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 diplomat_runtime.hpp:140
Definition CalendarError.d.hpp:32
Definition Calendar.d.hpp:34
Definition Date.d.hpp:39
Definition IsoDate.d.hpp:40
uint8_t days_in_month() const
Definition IsoDate.hpp:140
static 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
icu4x::IsoWeekOfYear week_of_year() const
Definition IsoDate.hpp:115
uint16_t day_of_year() const
Definition IsoDate.hpp:100
static diplomat::result< std::unique_ptr< icu4x::IsoDate >, icu4x::Rfc9557ParseError > from_string(std::string_view v)
Definition IsoDate.hpp:79
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:32
Definition Bidi.d.hpp:14
Definition IsoWeekOfYear.d.hpp:28