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/zonedbx/tzfiles
5 // --output_dir /home/brian/src/AceTimeSuite/libraries/AceTimeLib/src/zonedbx
6 // --tz_version 2025b
7 // --action zonedb
8 // --language arduino
9 // --scope extended
10 // --db_namespace zonedbx
11 // --zi_namespace extended::Info
12 // --start_year 2000
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: [2000,2200]
33 // Accurate Years: [2000,32767]
34 //
35 // Original Years: [1844,2087]
36 // Generated Years: [1950,2087]
37 // Lower/Upper Truncated: [True,False]
38 //
39 // Estimator Years: [1950,2090]
40 // Max Buffer Size: 7
41 //
42 // Records:
43 // Infos: 597
44 // Eras: 647
45 // Policies: 82
46 // Rules: 731
47 //
48 // Memory (8-bits):
49 // Context: 16
50 // Rules: 6579
51 // Policies: 246
52 // Eras: 7117
53 // Zones: 4420
54 // Links: 3341
55 // Registry: 1194
56 // Formats: 231
57 // Letters: 46
58 // Fragments: 150
59 // Names: 5660 (original: 9094)
60 // TOTAL: 29000
61 //
62 // Memory (32-bits):
63 // Context: 24
64 // Rules: 8772
65 // Policies: 656
66 // Eras: 10352
67 // Zones: 8160
68 // Links: 6168
69 // Registry: 2388
70 // Formats: 231
71 // Letters: 64
72 // Fragments: 178
73 // Names: 5660 (original: 9094)
74 // TOTAL: 42653
75 //
76 // DO NOT EDIT
77 
78 #ifndef ACE_TIME_ZONEDBX_ZONE_POLICIES_H
79 #define ACE_TIME_ZONEDBX_ZONE_POLICIES_H
80 
81 #include <zoneinfo/infos.h>
82 
83 namespace ace_time {
84 namespace zonedbx {
85 
86 //---------------------------------------------------------------------------
87 // Supported policies: 82
88 //---------------------------------------------------------------------------
89 
90 extern const extended::Info::ZonePolicy kZonePolicyAN;
91 extern const extended::Info::ZonePolicy kZonePolicyAQ;
92 extern const extended::Info::ZonePolicy kZonePolicyAS;
93 extern const extended::Info::ZonePolicy kZonePolicyAT;
94 extern const extended::Info::ZonePolicy kZonePolicyAV;
95 extern const extended::Info::ZonePolicy kZonePolicyAW;
96 extern const extended::Info::ZonePolicy kZonePolicyArg;
97 extern const extended::Info::ZonePolicy kZonePolicyArmenia;
98 extern const extended::Info::ZonePolicy kZonePolicyAus;
99 extern const extended::Info::ZonePolicy kZonePolicyAzer;
100 extern const extended::Info::ZonePolicy kZonePolicyBarb;
101 extern const extended::Info::ZonePolicy kZonePolicyBelize;
102 extern const extended::Info::ZonePolicy kZonePolicyBrazil;
103 extern const extended::Info::ZonePolicy kZonePolicyCO;
104 extern const extended::Info::ZonePolicy kZonePolicyCR;
105 extern const extended::Info::ZonePolicy kZonePolicyCanada;
106 extern const extended::Info::ZonePolicy kZonePolicyChatham;
107 extern const extended::Info::ZonePolicy kZonePolicyChile;
108 extern const extended::Info::ZonePolicy kZonePolicyCook;
109 extern const extended::Info::ZonePolicy kZonePolicyCuba;
110 extern const extended::Info::ZonePolicy kZonePolicyDhaka;
111 extern const extended::Info::ZonePolicy kZonePolicyE_EurAsia;
112 extern const extended::Info::ZonePolicy kZonePolicyEU;
113 extern const extended::Info::ZonePolicy kZonePolicyEUAsia;
114 extern const extended::Info::ZonePolicy kZonePolicyEcuador;
115 extern const extended::Info::ZonePolicy kZonePolicyEgypt;
116 extern const extended::Info::ZonePolicy kZonePolicyEire;
117 extern const extended::Info::ZonePolicy kZonePolicyFalk;
118 extern const extended::Info::ZonePolicy kZonePolicyFiji;
119 extern const extended::Info::ZonePolicy kZonePolicyGuam;
120 extern const extended::Info::ZonePolicy kZonePolicyGuat;
121 extern const extended::Info::ZonePolicy kZonePolicyHK;
122 extern const extended::Info::ZonePolicy kZonePolicyHaiti;
123 extern const extended::Info::ZonePolicy kZonePolicyHoliday;
124 extern const extended::Info::ZonePolicy kZonePolicyHond;
125 extern const extended::Info::ZonePolicy kZonePolicyIran;
126 extern const extended::Info::ZonePolicy kZonePolicyIraq;
127 extern const extended::Info::ZonePolicy kZonePolicyJapan;
128 extern const extended::Info::ZonePolicy kZonePolicyJordan;
129 extern const extended::Info::ZonePolicy kZonePolicyKyrgyz;
130 extern const extended::Info::ZonePolicy kZonePolicyLH;
131 extern const extended::Info::ZonePolicy kZonePolicyLebanon;
132 extern const extended::Info::ZonePolicy kZonePolicyLibya;
133 extern const extended::Info::ZonePolicy kZonePolicyMacau;
134 extern const extended::Info::ZonePolicy kZonePolicyMauritius;
135 extern const extended::Info::ZonePolicy kZonePolicyMexico;
136 extern const extended::Info::ZonePolicy kZonePolicyMoldova;
137 extern const extended::Info::ZonePolicy kZonePolicyMoncton;
138 extern const extended::Info::ZonePolicy kZonePolicyMongol;
139 extern const extended::Info::ZonePolicy kZonePolicyMorocco;
140 extern const extended::Info::ZonePolicy kZonePolicyNC;
141 extern const extended::Info::ZonePolicy kZonePolicyNT_YK;
142 extern const extended::Info::ZonePolicy kZonePolicyNZ;
143 extern const extended::Info::ZonePolicy kZonePolicyNamibia;
144 extern const extended::Info::ZonePolicy kZonePolicyNic;
145 extern const extended::Info::ZonePolicy kZonePolicyPRC;
146 extern const extended::Info::ZonePolicy kZonePolicyPakistan;
147 extern const extended::Info::ZonePolicy kZonePolicyPalestine;
148 extern const extended::Info::ZonePolicy kZonePolicyPara;
149 extern const extended::Info::ZonePolicy kZonePolicyPeru;
150 extern const extended::Info::ZonePolicy kZonePolicyPhil;
151 extern const extended::Info::ZonePolicy kZonePolicyROK;
152 extern const extended::Info::ZonePolicy kZonePolicyRussia;
153 extern const extended::Info::ZonePolicy kZonePolicyRussiaAsia;
154 extern const extended::Info::ZonePolicy kZonePolicySA;
155 extern const extended::Info::ZonePolicy kZonePolicySalv;
156 extern const extended::Info::ZonePolicy kZonePolicySanLuis;
157 extern const extended::Info::ZonePolicy kZonePolicyStJohns;
158 extern const extended::Info::ZonePolicy kZonePolicySudan;
159 extern const extended::Info::ZonePolicy kZonePolicySyria;
160 extern const extended::Info::ZonePolicy kZonePolicyTaiwan;
161 extern const extended::Info::ZonePolicy kZonePolicyThule;
162 extern const extended::Info::ZonePolicy kZonePolicyTonga;
163 extern const extended::Info::ZonePolicy kZonePolicyTroll;
164 extern const extended::Info::ZonePolicy kZonePolicyTunisia;
165 extern const extended::Info::ZonePolicy kZonePolicyTurkey;
166 extern const extended::Info::ZonePolicy kZonePolicyUS;
167 extern const extended::Info::ZonePolicy kZonePolicyUruguay;
168 extern const extended::Info::ZonePolicy kZonePolicyVanuatu;
169 extern const extended::Info::ZonePolicy kZonePolicyWS;
170 extern const extended::Info::ZonePolicy kZonePolicyWinn;
171 extern const extended::Info::ZonePolicy kZonePolicyZion;
172 
173 
174 //---------------------------------------------------------------------------
175 // Unsupported policies: 52
176 //---------------------------------------------------------------------------
177 
178 // Albania {unused}
179 // Algeria {unused}
180 // Austria {unused}
181 // Belgium {unused}
182 // Bermuda {unused}
183 // Bulg {unused}
184 // C-Eur {unused}
185 // CA {unused}
186 // Chicago {unused}
187 // Cyprus {unused}
188 // Czech {unused}
189 // DR {unused}
190 // Denver {unused}
191 // Detroit {unused}
192 // E-Eur {unused}
193 // Edm {unused}
194 // EgyptAsia {unused}
195 // Finland {unused}
196 // France {unused}
197 // GB-Eire {unused}
198 // Germany {unused}
199 // Greece {unused}
200 // Halifax {unused}
201 // Hungary {unused}
202 // Indianapolis {unused}
203 // Italy {unused}
204 // Latvia {unused}
205 // Louisville {unused}
206 // Malta {unused}
207 // Marengo {unused}
208 // Menominee {unused}
209 // NBorneo {unused}
210 // NYC {unused}
211 // Perry {unused}
212 // Pike {unused}
213 // Poland {unused}
214 // Port {unused}
215 // Pulaski {unused}
216 // Regina {unused}
217 // Romania {unused}
218 // Shang {unused}
219 // SovietZone {unused}
220 // Spain {unused}
221 // SpainAfrica {unused}
222 // Starke {unused}
223 // Swift {unused}
224 // Swiss {unused}
225 // Toronto {unused}
226 // Vanc {unused}
227 // Vincennes {unused}
228 // W-Eur {unused}
229 // Yukon {unused}
230 
231 
232 //---------------------------------------------------------------------------
233 // Notable zone policies: 9
234 //---------------------------------------------------------------------------
235 
236 // Belize {LETTER 'CST' not single character}
237 // Eire {SAVE '-1:00' is a negative DST}
238 // LH {SAVE '0:30' different from 1:00}
239 // Moncton {AT '0:01' not multiple of :15 min}
240 // Morocco {SAVE '-1:00' is a negative DST}
241 // Namibia {
242 // LETTER 'CAT' not single character,
243 // LETTER 'WAT' not single character,
244 // SAVE '-1:00' is a negative DST,
245 // }
246 // Palestine {AT '0:01' not multiple of :15 min}
247 // StJohns {
248 // AT '0:01' not multiple of :15 min,
249 // LETTER 'DD' not single character,
250 // SAVE '2:00' different from 1:00,
251 // }
252 // Troll {
253 // LETTER '+00' not single character,
254 // LETTER '+02' not single character,
255 // SAVE '2:00' different from 1:00,
256 // }
257 
258 
259 }
260 }
261 
262 #endif