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 IsoDate; }
15class IsoDate;
16namespace capi { struct Time; }
17class Time;
18namespace capi { struct TimeZone; }
19class TimeZone;
20namespace capi { struct TimeZoneInfo; }
21class TimeZoneInfo;
22namespace capi { struct UtcOffset; }
23class UtcOffset;
24namespace capi { struct VariantOffsetsCalculator; }
26struct IsoDateTime;
27class TimeZoneVariant;
28} // namespace icu4x
29
30
31
32namespace icu4x {
33namespace capi {
34 struct TimeZoneInfo;
35} // namespace capi
36} // namespace
37
38namespace icu4x {
42class TimeZoneInfo {
43public:
44
50 inline static std::unique_ptr<icu4x::TimeZoneInfo> utc();
51
57 inline static std::unique_ptr<icu4x::TimeZoneInfo> from_parts(const icu4x::TimeZone& id, const icu4x::UtcOffset* offset, std::optional<icu4x::TimeZoneVariant> _variant);
58
62 inline std::unique_ptr<icu4x::TimeZone> id() const;
63
79 inline std::unique_ptr<icu4x::TimeZoneInfo> at_date_time_iso(const icu4x::IsoDate& date, const icu4x::Time& time) const;
80
94 inline std::unique_ptr<icu4x::TimeZoneInfo> at_timestamp(int64_t timestamp) const;
95
101 inline std::optional<icu4x::IsoDateTime> zone_name_date_time() const;
102
108 [[deprecated("returns unmodified copy")]]
109 inline std::unique_ptr<icu4x::TimeZoneInfo> with_variant(icu4x::TimeZoneVariant _time_variant) const;
110
114 inline std::unique_ptr<icu4x::UtcOffset> offset() const;
115
123 [[deprecated("does nothing")]]
124 inline std::optional<std::monostate> infer_variant(const icu4x::VariantOffsetsCalculator& _offset_calculator);
125
131 [[deprecated("always returns null")]]
132 inline std::optional<icu4x::TimeZoneVariant> variant() const;
133
134 inline const icu4x::capi::TimeZoneInfo* AsFFI() const;
135 inline icu4x::capi::TimeZoneInfo* AsFFI();
136 inline static const icu4x::TimeZoneInfo* FromFFI(const icu4x::capi::TimeZoneInfo* ptr);
137 inline static icu4x::TimeZoneInfo* FromFFI(icu4x::capi::TimeZoneInfo* ptr);
138 inline static void operator delete(void* ptr);
139private:
140 TimeZoneInfo() = delete;
141 TimeZoneInfo(const icu4x::TimeZoneInfo&) = delete;
142 TimeZoneInfo(icu4x::TimeZoneInfo&&) noexcept = delete;
143 TimeZoneInfo operator=(const icu4x::TimeZoneInfo&) = delete;
144 TimeZoneInfo operator=(icu4x::TimeZoneInfo&&) noexcept = delete;
145 static void operator delete[](void*, size_t) = delete;
146};
147
148} // namespace
149#endif // ICU4X_TimeZoneInfo_D_HPP
Definition IsoDate.d.hpp:40
Definition TimeZoneInfo.d.hpp:42
std::unique_ptr< icu4x::TimeZoneInfo > at_timestamp(int64_t timestamp) const
Definition TimeZoneInfo.hpp:81
std::optional< icu4x::TimeZoneVariant > variant() const
Definition TimeZoneInfo.hpp:109
static std::unique_ptr< icu4x::TimeZoneInfo > from_parts(const icu4x::TimeZone &id, const icu4x::UtcOffset *offset, std::optional< icu4x::TimeZoneVariant > _variant)
Definition TimeZoneInfo.hpp:62
std::unique_ptr< icu4x::TimeZoneInfo > at_date_time_iso(const icu4x::IsoDate &date, const icu4x::Time &time) const
Definition TimeZoneInfo.hpp:74
std::optional< std::monostate > infer_variant(const icu4x::VariantOffsetsCalculator &_offset_calculator)
Definition TimeZoneInfo.hpp:103
std::unique_ptr< icu4x::TimeZone > id() const
Definition TimeZoneInfo.hpp:69
std::unique_ptr< icu4x::TimeZoneInfo > with_variant(icu4x::TimeZoneVariant _time_variant) const
Definition TimeZoneInfo.hpp:92
std::optional< icu4x::IsoDateTime > zone_name_date_time() const
Definition TimeZoneInfo.hpp:87
static std::unique_ptr< icu4x::TimeZoneInfo > utc()
Definition TimeZoneInfo.hpp:57
std::unique_ptr< icu4x::UtcOffset > offset() const
Definition TimeZoneInfo.hpp:98
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