AceTime 3.0.0 Date and time classes for Arduino that support timezones from the TZ Database.

zone_policies.h
1 // This file was generated by the following script:
2 //
3 // $ /home/brian/src/AceTimeSuite/compiler/src/acetimecompiler/tzcompiler.py
4 // --input_dir /home/brian/src/AceTimeSuite/libraries/AceTimeLib/src/zonedbc/tzfiles
5 // --output_dir /home/brian/src/AceTimeSuite/libraries/AceTimeLib/src/zonedbc
6 // --tz_version 2025b
7 // --action zonedb
8 // --language arduino
9 // --scope complete
10 // --db_namespace zonedbc
11 // --zi_namespace complete::Info
12 // --start_year 1800
13 // --until_year 2200
14 //
15 // using the TZ Database files
16 //
17 // africa
18 // antarctica
19 // asia
20 // australasia
21 // backward
22 // etcetera
23 // europe
24 // northamerica
25 // southamerica
26 //
27 // from https://github.com/eggert/tz/releases/tag/2025b
28 //
29 // Supported Zones: 597 (340 zones, 257 links)
30 // Unsupported Zones: 0 (0 zones, 0 links)
31 //
32 // Requested Years: [1800,2200]
33 // Accurate Years: [-32767,32767]
34 //
35 // Original Years: [1844,2087]
36 // Generated Years: [1844,2087]
37 // Lower/Upper Truncated: [False,False]
38 //
39 // Estimator Years: [1800,2090]
40 // Max Buffer Size: 8
41 //
42 // Records:
43 // Infos: 597
44 // Eras: 1956
45 // Policies: 134
46 // Rules: 2235
47 //
48 // Memory (8-bits):
49 // Context: 16
50 // Rules: 26820
51 // Policies: 402
52 // Eras: 29340
53 // Zones: 4420
54 // Links: 3341
55 // Registry: 1194
56 // Formats: 486
57 // Letters: 160
58 // Fragments: 150
59 // Names: 5660 (original: 9094)
60 // TOTAL: 71989
61 //
62 // Memory (32-bits):
63 // Context: 24
64 // Rules: 26820
65 // Policies: 1072
66 // Eras: 39120
67 // Zones: 8160
68 // Links: 6168
69 // Registry: 2388
70 // Formats: 486
71 // Letters: 216
72 // Fragments: 178
73 // Names: 5660 (original: 9094)
74 // TOTAL: 90292
75 //
76 // DO NOT EDIT
77
78 #ifndef ACE_TIME_ZONEDBC_ZONE_POLICIES_H
79 #define ACE_TIME_ZONEDBC_ZONE_POLICIES_H
80
81 #include <zoneinfo/infos.h>
82
83 namespace ace_time {
84 namespace zonedbc {
85
86 //---------------------------------------------------------------------------
87 // Supported policies: 134
88 //---------------------------------------------------------------------------
89
90 extern const complete::Info::ZonePolicy kZonePolicyAN;
91 extern const complete::Info::ZonePolicy kZonePolicyAQ;
92 extern const complete::Info::ZonePolicy kZonePolicyAS;
93 extern const complete::Info::ZonePolicy kZonePolicyAT;
94 extern const complete::Info::ZonePolicy kZonePolicyAV;
95 extern const complete::Info::ZonePolicy kZonePolicyAW;
96 extern const complete::Info::ZonePolicy kZonePolicyAlbania;
97 extern const complete::Info::ZonePolicy kZonePolicyAlgeria;
98 extern const complete::Info::ZonePolicy kZonePolicyArg;
99 extern const complete::Info::ZonePolicy kZonePolicyArmenia;
100 extern const complete::Info::ZonePolicy kZonePolicyAus;
101 extern const complete::Info::ZonePolicy kZonePolicyAustria;
102 extern const complete::Info::ZonePolicy kZonePolicyAzer;
103 extern const complete::Info::ZonePolicy kZonePolicyBarb;
104 extern const complete::Info::ZonePolicy kZonePolicyBelgium;
105 extern const complete::Info::ZonePolicy kZonePolicyBelize;
106 extern const complete::Info::ZonePolicy kZonePolicyBermuda;
107 extern const complete::Info::ZonePolicy kZonePolicyBrazil;
108 extern const complete::Info::ZonePolicy kZonePolicyBulg;
109 extern const complete::Info::ZonePolicy kZonePolicyC_Eur;
110 extern const complete::Info::ZonePolicy kZonePolicyCA;
111 extern const complete::Info::ZonePolicy kZonePolicyCO;
112 extern const complete::Info::ZonePolicy kZonePolicyCR;
113 extern const complete::Info::ZonePolicy kZonePolicyCanada;
114 extern const complete::Info::ZonePolicy kZonePolicyChatham;
115 extern const complete::Info::ZonePolicy kZonePolicyChicago;
116 extern const complete::Info::ZonePolicy kZonePolicyChile;
117 extern const complete::Info::ZonePolicy kZonePolicyCook;
118 extern const complete::Info::ZonePolicy kZonePolicyCuba;
119 extern const complete::Info::ZonePolicy kZonePolicyCyprus;
120 extern const complete::Info::ZonePolicy kZonePolicyCzech;
121 extern const complete::Info::ZonePolicy kZonePolicyDR;
122 extern const complete::Info::ZonePolicy kZonePolicyDenver;
123 extern const complete::Info::ZonePolicy kZonePolicyDetroit;
124 extern const complete::Info::ZonePolicy kZonePolicyDhaka;
125 extern const complete::Info::ZonePolicy kZonePolicyE_Eur;
126 extern const complete::Info::ZonePolicy kZonePolicyE_EurAsia;
127 extern const complete::Info::ZonePolicy kZonePolicyEU;
128 extern const complete::Info::ZonePolicy kZonePolicyEUAsia;
129 extern const complete::Info::ZonePolicy kZonePolicyEcuador;
130 extern const complete::Info::ZonePolicy kZonePolicyEdm;
131 extern const complete::Info::ZonePolicy kZonePolicyEgypt;
132 extern const complete::Info::ZonePolicy kZonePolicyEgyptAsia;
133 extern const complete::Info::ZonePolicy kZonePolicyEire;
134 extern const complete::Info::ZonePolicy kZonePolicyFalk;
135 extern const complete::Info::ZonePolicy kZonePolicyFiji;
136 extern const complete::Info::ZonePolicy kZonePolicyFinland;
137 extern const complete::Info::ZonePolicy kZonePolicyFrance;
138 extern const complete::Info::ZonePolicy kZonePolicyGB_Eire;
139 extern const complete::Info::ZonePolicy kZonePolicyGermany;
140 extern const complete::Info::ZonePolicy kZonePolicyGreece;
141 extern const complete::Info::ZonePolicy kZonePolicyGuam;
142 extern const complete::Info::ZonePolicy kZonePolicyGuat;
143 extern const complete::Info::ZonePolicy kZonePolicyHK;
144 extern const complete::Info::ZonePolicy kZonePolicyHaiti;
145 extern const complete::Info::ZonePolicy kZonePolicyHalifax;
146 extern const complete::Info::ZonePolicy kZonePolicyHoliday;
147 extern const complete::Info::ZonePolicy kZonePolicyHond;
148 extern const complete::Info::ZonePolicy kZonePolicyHungary;
149 extern const complete::Info::ZonePolicy kZonePolicyIndianapolis;
150 extern const complete::Info::ZonePolicy kZonePolicyIran;
151 extern const complete::Info::ZonePolicy kZonePolicyIraq;
152 extern const complete::Info::ZonePolicy kZonePolicyItaly;
153 extern const complete::Info::ZonePolicy kZonePolicyJapan;
154 extern const complete::Info::ZonePolicy kZonePolicyJordan;
155 extern const complete::Info::ZonePolicy kZonePolicyKyrgyz;
156 extern const complete::Info::ZonePolicy kZonePolicyLH;
157 extern const complete::Info::ZonePolicy kZonePolicyLatvia;
158 extern const complete::Info::ZonePolicy kZonePolicyLebanon;
159 extern const complete::Info::ZonePolicy kZonePolicyLibya;
160 extern const complete::Info::ZonePolicy kZonePolicyLouisville;
161 extern const complete::Info::ZonePolicy kZonePolicyMacau;
162 extern const complete::Info::ZonePolicy kZonePolicyMalta;
163 extern const complete::Info::ZonePolicy kZonePolicyMarengo;
164 extern const complete::Info::ZonePolicy kZonePolicyMauritius;
165 extern const complete::Info::ZonePolicy kZonePolicyMenominee;
166 extern const complete::Info::ZonePolicy kZonePolicyMexico;
167 extern const complete::Info::ZonePolicy kZonePolicyMoldova;
168 extern const complete::Info::ZonePolicy kZonePolicyMoncton;
169 extern const complete::Info::ZonePolicy kZonePolicyMongol;
170 extern const complete::Info::ZonePolicy kZonePolicyMorocco;
171 extern const complete::Info::ZonePolicy kZonePolicyNBorneo;
172 extern const complete::Info::ZonePolicy kZonePolicyNC;
173 extern const complete::Info::ZonePolicy kZonePolicyNT_YK;
174 extern const complete::Info::ZonePolicy kZonePolicyNYC;
175 extern const complete::Info::ZonePolicy kZonePolicyNZ;
176 extern const complete::Info::ZonePolicy kZonePolicyNamibia;
177 extern const complete::Info::ZonePolicy kZonePolicyNic;
178 extern const complete::Info::ZonePolicy kZonePolicyPRC;
179 extern const complete::Info::ZonePolicy kZonePolicyPakistan;
180 extern const complete::Info::ZonePolicy kZonePolicyPalestine;
181 extern const complete::Info::ZonePolicy kZonePolicyPara;
182 extern const complete::Info::ZonePolicy kZonePolicyPerry;
183 extern const complete::Info::ZonePolicy kZonePolicyPeru;
184 extern const complete::Info::ZonePolicy kZonePolicyPhil;
185 extern const complete::Info::ZonePolicy kZonePolicyPike;
186 extern const complete::Info::ZonePolicy kZonePolicyPoland;
187 extern const complete::Info::ZonePolicy kZonePolicyPort;
188 extern const complete::Info::ZonePolicy kZonePolicyPulaski;
189 extern const complete::Info::ZonePolicy kZonePolicyROK;
190 extern const complete::Info::ZonePolicy kZonePolicyRegina;
191 extern const complete::Info::ZonePolicy kZonePolicyRomania;
192 extern const complete::Info::ZonePolicy kZonePolicyRussia;
193 extern const complete::Info::ZonePolicy kZonePolicyRussiaAsia;
194 extern const complete::Info::ZonePolicy kZonePolicySA;
195 extern const complete::Info::ZonePolicy kZonePolicySalv;
196 extern const complete::Info::ZonePolicy kZonePolicySanLuis;
197 extern const complete::Info::ZonePolicy kZonePolicyShang;
198 extern const complete::Info::ZonePolicy kZonePolicySovietZone;
199 extern const complete::Info::ZonePolicy kZonePolicySpain;
200 extern const complete::Info::ZonePolicy kZonePolicySpainAfrica;
201 extern const complete::Info::ZonePolicy kZonePolicyStJohns;
202 extern const complete::Info::ZonePolicy kZonePolicyStarke;
203 extern const complete::Info::ZonePolicy kZonePolicySudan;
204 extern const complete::Info::ZonePolicy kZonePolicySwift;
205 extern const complete::Info::ZonePolicy kZonePolicySwiss;
206 extern const complete::Info::ZonePolicy kZonePolicySyria;
207 extern const complete::Info::ZonePolicy kZonePolicyTaiwan;
208 extern const complete::Info::ZonePolicy kZonePolicyThule;
209 extern const complete::Info::ZonePolicy kZonePolicyTonga;
210 extern const complete::Info::ZonePolicy kZonePolicyToronto;
211 extern const complete::Info::ZonePolicy kZonePolicyTroll;
212 extern const complete::Info::ZonePolicy kZonePolicyTunisia;
213 extern const complete::Info::ZonePolicy kZonePolicyTurkey;
214 extern const complete::Info::ZonePolicy kZonePolicyUS;
215 extern const complete::Info::ZonePolicy kZonePolicyUruguay;
216 extern const complete::Info::ZonePolicy kZonePolicyVanc;
217 extern const complete::Info::ZonePolicy kZonePolicyVanuatu;
218 extern const complete::Info::ZonePolicy kZonePolicyVincennes;
219 extern const complete::Info::ZonePolicy kZonePolicyW_Eur;
220 extern const complete::Info::ZonePolicy kZonePolicyWS;
221 extern const complete::Info::ZonePolicy kZonePolicyWinn;
222 extern const complete::Info::ZonePolicy kZonePolicyYukon;
223 extern const complete::Info::ZonePolicy kZonePolicyZion;
224
225
226 //---------------------------------------------------------------------------
227 // Unsupported policies: 0
228 //---------------------------------------------------------------------------
229
230
231
232 //---------------------------------------------------------------------------
233 // Notable zone policies: 27
234 //---------------------------------------------------------------------------
235
236 // Barb {SAVE '0:30' different from 1:00}
237 // Belize {
238 // LETTER '-0530' not single character,
239 // LETTER 'CDT' not single character,
240 // LETTER 'CPT' not single character,
241 // LETTER 'CST' not single character,
242 // LETTER 'CWT' not single character,
243 // SAVE '0:30' different from 1:00,
244 // }
245 // CA {AT '2:01' not multiple of :15 min}
246 // Cook {SAVE '0:30' different from 1:00}
247 // DR {
248 // LETTER '-0430' not single character,
249 // LETTER 'EDT' not single character,
250 // LETTER 'EST' not single character,
251 // SAVE '0:30' different from 1:00,
252 // }
253 // Eire {SAVE '-1:00' is a negative DST}
254 // France {SAVE '2:00' different from 1:00}
255 // GB-Eire {
256 // LETTER 'BDST' not single character,
257 // LETTER 'BST' not single character,
258 // LETTER 'GMT' not single character,
259 // SAVE '2:00' different from 1:00,
260 // }
261 // Germany {SAVE '2:00' different from 1:00}
262 // Guam {
263 // AT '0:01' not multiple of :15 min,
264 // AT '2:01' not multiple of :15 min,
265 // }
266 // LH {SAVE '0:30' different from 1:00}
267 // Louisville {AT '0:01' not multiple of :15 min}
268 // Moncton {AT '0:01' not multiple of :15 min}
269 // Morocco {SAVE '-1:00' is a negative DST}
270 // NBorneo {SAVE '0:20' different from 1:00}
271 // NZ {SAVE '0:30' different from 1:00}
272 // Namibia {
273 // LETTER 'CAT' not single character,
274 // LETTER 'WAT' not single character,
275 // SAVE '-1:00' is a negative DST,
276 // }
277 // Palestine {AT '0:01' not multiple of :15 min}
278 // Port {SAVE '2:00' different from 1:00}
279 // Russia {
280 // LETTER '+05' not single character,
281 // LETTER 'MDST' not single character,
282 // LETTER 'MMT' not single character,
283 // LETTER 'MSD' not single character,
284 // LETTER 'MSK' not single character,
285 // LETTER 'MST' not single character,
286 // SAVE '2:00' different from 1:00,
287 // }
288 // SovietZone {SAVE '2:00' different from 1:00}
289 // Spain {SAVE '2:00' different from 1:00}
290 // StJohns {
291 // AT '0:01' not multiple of :15 min,
292 // LETTER 'DD' not single character,
293 // SAVE '2:00' different from 1:00,
294 // }
295 // Troll {
296 // LETTER '+00' not single character,
297 // LETTER '+02' not single character,
298 // SAVE '2:00' different from 1:00,
299 // }
300 // Uruguay {
301 // SAVE '0:30' different from 1:00,
302 // SAVE '1:30' different from 1:00,
303 // }
304 // Yukon {
305 // LETTER 'DD' not single character,
306 // SAVE '2:00' different from 1:00,
307 // }
308 // Zion {
309 // LETTER 'DD' not single character,
310 // SAVE '2:00' different from 1:00,
311 // }
312
313
314 }
315 }
316
317 #endif