ICU4X
International Components for Unicode
Loading...
Searching...
No Matches
ZonedDateTime.d.hpp
Go to the documentation of this file.
1#ifndef icu4x_ZonedDateTime_D_HPP
2#define icu4x_ZonedDateTime_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 IanaParser; }
20class IanaParser;
21namespace capi { struct Time; }
22class Time;
23namespace capi { struct TimeZoneInfo; }
24class TimeZoneInfo;
25namespace capi { struct VariantOffsetsCalculator; }
27struct ZonedDateTime;
29}
30
31
32namespace icu4x {
33namespace capi {
34 struct ZonedDateTime {
35 icu4x::capi::Date* date;
36 icu4x::capi::Time* time;
37 icu4x::capi::TimeZoneInfo* zone;
38 };
39
40 typedef struct ZonedDateTime_option {union { ZonedDateTime ok; }; bool is_ok; } ZonedDateTime_option;
41} // namespace capi
42} // namespace
43
44
45namespace icu4x {
52 std::unique_ptr<icu4x::Date> date;
53 std::unique_ptr<icu4x::Time> time;
54 std::unique_ptr<icu4x::TimeZoneInfo> zone;
55
61 inline static diplomat::result<icu4x::ZonedDateTime, icu4x::Rfc9557ParseError> full_from_string(std::string_view v, const icu4x::Calendar& calendar, const icu4x::IanaParser& iana_parser, const icu4x::VariantOffsetsCalculator& offset_calculator);
62
69
76
82 inline static diplomat::result<icu4x::ZonedDateTime, icu4x::Rfc9557ParseError> lenient_from_string(std::string_view v, const icu4x::Calendar& calendar, const icu4x::IanaParser& iana_parser);
83
84 inline icu4x::capi::ZonedDateTime AsFFI() const;
85 inline static icu4x::ZonedDateTime FromFFI(icu4x::capi::ZonedDateTime c_struct);
86};
87
88} // namespace
89#endif // icu4x_ZonedDateTime_D_HPP
Definition diplomat_runtime.hpp:140
Definition Calendar.d.hpp:34
Definition Date.d.hpp:39
Definition IanaParser.d.hpp:42
Definition Rfc9557ParseError.d.hpp:33
Definition TimeZoneInfo.d.hpp:42
Definition Time.d.hpp:34
Definition VariantOffsetsCalculator.d.hpp:40
Definition Bidi.d.hpp:14
Definition ZonedDateTime.d.hpp:51
std::unique_ptr< icu4x::TimeZoneInfo > zone
Definition ZonedDateTime.d.hpp:54
static diplomat::result< icu4x::ZonedDateTime, icu4x::Rfc9557ParseError > location_only_from_string(std::string_view v, const icu4x::Calendar &calendar, const icu4x::IanaParser &iana_parser)
Definition ZonedDateTime.hpp:52
static diplomat::result< icu4x::ZonedDateTime, icu4x::Rfc9557ParseError > lenient_from_string(std::string_view v, const icu4x::Calendar &calendar, const icu4x::IanaParser &iana_parser)
Definition ZonedDateTime.hpp:65
std::unique_ptr< icu4x::Time > time
Definition ZonedDateTime.d.hpp:53
static diplomat::result< icu4x::ZonedDateTime, icu4x::Rfc9557ParseError > offset_only_from_string(std::string_view v, const icu4x::Calendar &calendar)
Definition ZonedDateTime.hpp:59
std::unique_ptr< icu4x::Date > date
Definition ZonedDateTime.d.hpp:52
static diplomat::result< icu4x::ZonedDateTime, icu4x::Rfc9557ParseError > full_from_string(std::string_view v, const icu4x::Calendar &calendar, const icu4x::IanaParser &iana_parser, const icu4x::VariantOffsetsCalculator &offset_calculator)
Definition ZonedDateTime.hpp:44