icu_datetime/provider/
mod.rs1#![allow(clippy::exhaustive_structs, clippy::exhaustive_enums)]
7
8pub mod calendar;
19pub mod fields;
20pub mod neo;
21pub(crate) mod packed_pattern;
22pub mod pattern;
23#[cfg(feature = "datagen")]
24pub mod skeleton;
25pub mod time_zones;
26
27pub use packed_pattern::*;
28
29pub(crate) type ErasedPackedPatterns = icu_provider::marker::ErasedMarker<PackedPatterns<'static>>;
30
31#[cfg(feature = "compiled_data")]
32#[derive(Debug)]
33pub struct Baked;
41
42#[cfg(feature = "compiled_data")]
43#[allow(unused_imports)]
44const _: () = {
45 use icu_datetime_data::*;
46 pub mod icu {
47 pub use crate as datetime;
48 pub use icu_locale as locale;
49 }
50 make_provider!(Baked);
51
52 impl_timezone_names_cities_override_v1!(Baked);
53 impl_timezone_names_cities_root_v1!(Baked);
54 impl_timezone_names_essentials_v1!(Baked);
55 impl_timezone_names_generic_long_v1!(Baked);
56 impl_timezone_names_generic_short_v1!(Baked);
57 impl_timezone_names_locations_override_v1!(Baked);
58 impl_timezone_names_locations_root_v1!(Baked);
59 impl_timezone_names_specific_long_v1!(Baked);
60 impl_timezone_names_specific_short_v1!(Baked);
61 impl_timezone_names_standard_long_v1!(Baked);
62
63 impl_timezone_metazone_periods_v1!(Baked);
64
65 impl_datetime_patterns_glue_v1!(Baked);
66 impl_datetime_patterns_time_v1!(Baked);
67
68 impl_datetime_names_weekday_v1!(Baked);
69 impl_datetime_names_dayperiod_v1!(Baked);
70
71 impl_datetime_names_year_buddhist_v1!(Baked);
72 impl_datetime_names_year_chinese_v1!(Baked);
73 impl_datetime_names_year_coptic_v1!(Baked);
74 impl_datetime_names_year_dangi_v1!(Baked);
75 impl_datetime_names_year_ethiopian_v1!(Baked);
76 impl_datetime_names_year_gregorian_v1!(Baked);
77 impl_datetime_names_year_hebrew_v1!(Baked);
78 impl_datetime_names_year_indian_v1!(Baked);
79 impl_datetime_names_year_hijri_v1!(Baked);
80 impl_datetime_names_year_japanese_v1!(Baked);
81 impl_datetime_names_year_japanext_v1!(Baked);
82 impl_datetime_names_year_persian_v1!(Baked);
83 impl_datetime_names_year_roc_v1!(Baked);
84
85 impl_datetime_names_month_buddhist_v1!(Baked);
86 impl_datetime_names_month_chinese_v1!(Baked);
87 impl_datetime_names_month_coptic_v1!(Baked);
88 impl_datetime_names_month_dangi_v1!(Baked);
89 impl_datetime_names_month_ethiopian_v1!(Baked);
90 impl_datetime_names_month_gregorian_v1!(Baked);
91 impl_datetime_names_month_hebrew_v1!(Baked);
92 impl_datetime_names_month_indian_v1!(Baked);
93 impl_datetime_names_month_hijri_v1!(Baked);
94 impl_datetime_names_month_japanese_v1!(Baked);
95 impl_datetime_names_month_japanext_v1!(Baked);
96 impl_datetime_names_month_persian_v1!(Baked);
97 impl_datetime_names_month_roc_v1!(Baked);
98
99 impl_datetime_patterns_date_buddhist_v1!(Baked);
100 impl_datetime_patterns_date_chinese_v1!(Baked);
101 impl_datetime_patterns_date_coptic_v1!(Baked);
102 impl_datetime_patterns_date_dangi_v1!(Baked);
103 impl_datetime_patterns_date_ethiopian_v1!(Baked);
104 impl_datetime_patterns_date_gregorian_v1!(Baked);
105 impl_datetime_patterns_date_hebrew_v1!(Baked);
106 impl_datetime_patterns_date_indian_v1!(Baked);
107 impl_datetime_patterns_date_hijri_v1!(Baked);
108 impl_datetime_patterns_date_japanese_v1!(Baked);
109 impl_datetime_patterns_date_japanext_v1!(Baked);
110 impl_datetime_patterns_date_persian_v1!(Baked);
111 impl_datetime_patterns_date_roc_v1!(Baked);
112};
113
114#[cfg(feature = "datagen")]
115use icu_provider::prelude::*;
116
117#[cfg(feature = "datagen")]
118pub const MARKERS: &[DataMarkerInfo] = &[
120 time_zones::TimezoneNamesLocationsOverrideV1::INFO,
121 time_zones::TimezoneNamesLocationsRootV1::INFO,
122 time_zones::TimezoneNamesCitiesOverrideV1::INFO,
123 time_zones::TimezoneNamesCitiesRootV1::INFO,
124 time_zones::TimezoneNamesGenericLongV1::INFO,
125 time_zones::TimezoneNamesStandardLongV1::INFO,
126 time_zones::TimezoneNamesGenericShortV1::INFO,
127 time_zones::TimezoneMetazonePeriodsV1::INFO,
128 time_zones::TimezoneNamesSpecificLongV1::INFO,
129 time_zones::TimezoneNamesSpecificShortV1::INFO,
130 time_zones::TimezoneNamesEssentialsV1::INFO,
131 neo::DatetimeNamesWeekdayV1::INFO,
132 neo::DatetimeNamesDayperiodV1::INFO,
133 neo::DatetimePatternsGlueV1::INFO,
134 DatetimePatternsTimeV1::INFO,
135 neo::DatetimeNamesYearBuddhistV1::INFO,
136 neo::DatetimeNamesYearChineseV1::INFO,
137 neo::DatetimeNamesYearCopticV1::INFO,
138 neo::DatetimeNamesYearDangiV1::INFO,
139 neo::DatetimeNamesYearEthiopianV1::INFO,
140 neo::DatetimeNamesYearGregorianV1::INFO,
141 neo::DatetimeNamesYearHebrewV1::INFO,
142 neo::DatetimeNamesYearIndianV1::INFO,
143 neo::DatetimeNamesYearHijriV1::INFO,
144 neo::DatetimeNamesYearJapaneseV1::INFO,
145 neo::DatetimeNamesYearJapanextV1::INFO,
146 neo::DatetimeNamesYearPersianV1::INFO,
147 neo::DatetimeNamesYearRocV1::INFO,
148 neo::DatetimeNamesMonthBuddhistV1::INFO,
149 neo::DatetimeNamesMonthChineseV1::INFO,
150 neo::DatetimeNamesMonthCopticV1::INFO,
151 neo::DatetimeNamesMonthDangiV1::INFO,
152 neo::DatetimeNamesMonthEthiopianV1::INFO,
153 neo::DatetimeNamesMonthGregorianV1::INFO,
154 neo::DatetimeNamesMonthHebrewV1::INFO,
155 neo::DatetimeNamesMonthIndianV1::INFO,
156 neo::DatetimeNamesMonthHijriV1::INFO,
157 neo::DatetimeNamesMonthJapaneseV1::INFO,
158 neo::DatetimeNamesMonthJapanextV1::INFO,
159 neo::DatetimeNamesMonthPersianV1::INFO,
160 neo::DatetimeNamesMonthRocV1::INFO,
161 DatetimePatternsDateBuddhistV1::INFO,
162 DatetimePatternsDateChineseV1::INFO,
163 DatetimePatternsDateCopticV1::INFO,
164 DatetimePatternsDateDangiV1::INFO,
165 DatetimePatternsDateEthiopianV1::INFO,
166 DatetimePatternsDateGregorianV1::INFO,
167 DatetimePatternsDateHebrewV1::INFO,
168 DatetimePatternsDateIndianV1::INFO,
169 DatetimePatternsDateHijriV1::INFO,
170 DatetimePatternsDateJapaneseV1::INFO,
171 DatetimePatternsDateJapanextV1::INFO,
172 DatetimePatternsDatePersianV1::INFO,
173 DatetimePatternsDateRocV1::INFO,
174];