ICU4X
International Components for Unicode
Loading...
Searching...
No Matches
TimeZoneInfo.d.hpp
Go to the documentation of this file.
1#ifndef ICU4X_TimeZoneInfo_D_HPP
2#define ICU4X_TimeZoneInfo_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 Date; }
15class Date;
16namespace capi { struct IsoDate; }
17class IsoDate;
18namespace capi { struct Time; }
19class Time;
20namespace capi { struct TimeZone; }
21class TimeZone;
22namespace capi { struct TimeZoneInfo; }
23class TimeZoneInfo;
24namespace capi { struct UtcOffset; }
25class UtcOffset;
26namespace capi { struct VariantOffsetsCalculator; }
28struct IsoDateTime;
29class TimeZoneVariant;
30} // namespace icu4x
31
32
33
34namespace icu4x {
35namespace capi {
36 struct TimeZoneInfo;
37} // namespace capi
38} // namespace
39
40namespace icu4x {
44class TimeZoneInfo {
45public:
46
52 inline static std::unique_ptr<icu4x::TimeZoneInfo> utc();
53
59 inline static std::unique_ptr<icu4x::TimeZoneInfo> from_parts(const icu4x::TimeZone& id, const icu4x::UtcOffset* offset, std::optional<icu4x::TimeZoneVariant> _variant);
60
64 inline std::unique_ptr<icu4x::TimeZone> id() const;
65
81 inline std::unique_ptr<icu4x::TimeZoneInfo> at_date_time_iso(const icu4x::IsoDate& date, const icu4x::Time& time) const;
82
98 inline std::unique_ptr<icu4x::TimeZoneInfo> at_date_time(const icu4x::Date& date, const icu4x::Time& time) const;
99
113 inline std::unique_ptr<icu4x::TimeZoneInfo> at_timestamp(int64_t timestamp) const;
114
120 inline std::optional<icu4x::IsoDateTime> zone_name_date_time() const;
121
127 [[deprecated("returns unmodified copy")]]
128 inline std::unique_ptr<icu4x::TimeZoneInfo> with_variant(icu4x::TimeZoneVariant _time_variant) const;
129
133 inline std::unique_ptr<icu4x::UtcOffset> offset() const;
134
142 [[deprecated("does nothing")]]
143 inline std::optional<std::monostate> infer_variant(const icu4x::VariantOffsetsCalculator& _offset_calculator) const;
144
150 [[deprecated("always returns null")]]
151 inline std::optional<icu4x::TimeZoneVariant> variant() const;
152
153 inline const icu4x::capi::TimeZoneInfo* AsFFI() const;
154 inline icu4x::capi::TimeZoneInfo* AsFFI();
155 inline static const icu4x::TimeZoneInfo* FromFFI(const icu4x::capi::TimeZoneInfo* ptr);
156 inline static icu4x::TimeZoneInfo* FromFFI(icu4x::capi::TimeZoneInfo* ptr);
157 inline static void operator delete(void* ptr);
158private:
159 TimeZoneInfo() = delete;
160 TimeZoneInfo(const icu4x::TimeZoneInfo&) = delete;
161 TimeZoneInfo(icu4x::TimeZoneInfo&&) noexcept = delete;
162 TimeZoneInfo operator=(const icu4x::TimeZoneInfo&) = delete;
163 TimeZoneInfo operator=(icu4x::TimeZoneInfo&&) noexcept = delete;
164 static void operator delete[](void*, size_t) = delete;
165};
166
167} // namespace
168#endif // ICU4X_TimeZoneInfo_D_HPP
Definition Date.d.hpp:47
Definition IsoDate.d.hpp:44
Definition TimeZoneInfo.d.hpp:44
std::unique_ptr< icu4x::TimeZoneInfo > at_timestamp(int64_t timestamp) const
Definition TimeZoneInfo.hpp:91
std::optional< icu4x::TimeZoneVariant > variant() const
Definition TimeZoneInfo.hpp:119
static std::unique_ptr< icu4x::TimeZoneInfo > from_parts(const icu4x::TimeZone &id, const icu4x::UtcOffset *offset, std::optional< icu4x::TimeZoneVariant > _variant)
Definition TimeZoneInfo.hpp:65
std::unique_ptr< icu4x::TimeZoneInfo > at_date_time(const icu4x::Date &date, const icu4x::Time &time) const
Definition TimeZoneInfo.hpp:84
std::unique_ptr< icu4x::TimeZoneInfo > at_date_time_iso(const icu4x::IsoDate &date, const icu4x::Time &time) const
Definition TimeZoneInfo.hpp:77
std::optional< std::monostate > infer_variant(const icu4x::VariantOffsetsCalculator &_offset_calculator) const
Definition TimeZoneInfo.hpp:113
std::unique_ptr< icu4x::TimeZone > id() const
Definition TimeZoneInfo.hpp:72
std::unique_ptr< icu4x::TimeZoneInfo > with_variant(icu4x::TimeZoneVariant _time_variant) const
Definition TimeZoneInfo.hpp:102
std::optional< icu4x::IsoDateTime > zone_name_date_time() const
Definition TimeZoneInfo.hpp:97
static std::unique_ptr< icu4x::TimeZoneInfo > utc()
Definition TimeZoneInfo.hpp:60
std::unique_ptr< icu4x::UtcOffset > offset() const
Definition TimeZoneInfo.hpp:108
Definition TimeZoneVariant.d.hpp:36
Definition TimeZone.d.hpp:34
Definition Time.d.hpp:34
Definition UtcOffset.d.hpp:31
Definition VariantOffsetsCalculator.d.hpp:42
Definition Bidi.d.hpp:13
Definition IsoDateTime.d.hpp:42