Mark de Wever d332d88b91
[libc++][chrono] Loads tzdata.zi in tzdb. (#74928)
This implements the loading of the tzdata.zi file and store its contents
in the tzdb struct.

This adds all required members except:
- the leap seconds,
- the locate_zone, and
- current_zone.

The class time_zone is incomplete and only contains the parts needed for
storing the parsed data.

The class time_zone_link is fully implemented including its non-member
functions.

Implements parts of:
- P0355 Extending <chrono> to Calendars and Time Zones
- P1614 The Mothership has Landed

Implements:
- P1982 Rename link to time_zone_link
2024-02-17 14:28:01 +01:00

16 KiB

1algorithm atomic
2algorithm bit
3algorithm climits
4algorithm concepts
5algorithm cstddef
6algorithm cstdint
7algorithm cstdlib
8algorithm cstring
9algorithm cwchar
10algorithm execution
11algorithm initializer_list
12algorithm iosfwd
13algorithm iterator
14algorithm limits
15algorithm memory
16algorithm new
17algorithm optional
18algorithm stdexcept
19algorithm type_traits
20algorithm utility
21algorithm version
22any atomic
23any concepts
24any cstddef
25any cstdint
26any cstdlib
27any cstring
28any initializer_list
29any iosfwd
30any iterator
31any limits
32any memory
33any new
34any stdexcept
35any type_traits
36any typeinfo
37any variant
38any version
39array algorithm
40array compare
41array concepts
42array cstddef
43array cstdlib
44array initializer_list
45array iterator
46array limits
47array new
48array stdexcept
49array type_traits
50array utility
51array version
52atomic cmath
53atomic compare
54atomic cstddef
55atomic cstdint
56atomic cstdlib
57atomic cstring
58atomic ctime
59atomic limits
60atomic ratio
61atomic type_traits
62atomic version
63barrier atomic
64barrier concepts
65barrier cstddef
66barrier cstdint
67barrier cstring
68barrier ctime
69barrier iterator
70barrier limits
71barrier memory
72barrier new
73barrier ratio
74barrier stdexcept
75barrier type_traits
76barrier variant
77barrier version
78bit cstdint
79bit cstdlib
80bit iosfwd
81bit limits
82bit type_traits
83bit version
84bitset climits
85bitset concepts
86bitset cstddef
87bitset cstdint
88bitset cstdlib
89bitset cstring
90bitset cwchar
91bitset initializer_list
92bitset iosfwd
93bitset limits
94bitset new
95bitset stdexcept
96bitset string
97bitset string_view
98bitset type_traits
99bitset version
100ccomplex complex
101charconv cerrno
102charconv cmath
103charconv concepts
104charconv cstddef
105charconv cstdint
106charconv cstdlib
107charconv cstring
108charconv initializer_list
109charconv iosfwd
110charconv limits
111charconv new
112charconv type_traits
113charconv version
114chrono array
115chrono bit
116chrono charconv
117chrono cmath
118chrono compare
119chrono concepts
120chrono cstddef
121chrono cstdint
122chrono cstring
123chrono ctime
124chrono forward_list
125chrono limits
126chrono locale
127chrono optional
128chrono ostream
129chrono ratio
130chrono sstream
131chrono stdexcept
132chrono string
133chrono string_view
134chrono tuple
135chrono type_traits
136chrono vector
137chrono version
138cinttypes cstdint
139cmath limits
140cmath type_traits
141cmath version
142codecvt atomic
143codecvt cctype
144codecvt clocale
145codecvt concepts
146codecvt cstddef
147codecvt cstdint
148codecvt cstdlib
149codecvt cstring
150codecvt cwchar
151codecvt initializer_list
152codecvt iosfwd
153codecvt limits
154codecvt mutex
155codecvt new
156codecvt stdexcept
157codecvt string
158codecvt tuple
159codecvt type_traits
160codecvt typeinfo
161codecvt version
162compare cmath
163compare cstddef
164compare cstdint
165compare limits
166compare type_traits
167compare version
168complex cmath
169complex iosfwd
170complex sstream
171complex stdexcept
172complex type_traits
173complex version
174concepts cstddef
175concepts type_traits
176concepts version
177condition_variable atomic
178condition_variable cerrno
179condition_variable concepts
180condition_variable cstddef
181condition_variable cstdint
182condition_variable cstdlib
183condition_variable cstring
184condition_variable ctime
185condition_variable initializer_list
186condition_variable iosfwd
187condition_variable limits
188condition_variable new
189condition_variable ratio
190condition_variable stdexcept
191condition_variable string
192condition_variable system_error
193condition_variable type_traits
194condition_variable typeinfo
195condition_variable version
196coroutine compare
197coroutine cstddef
198coroutine cstdint
199coroutine cstring
200coroutine iosfwd
201coroutine limits
202coroutine type_traits
203coroutine version
204cstddef version
205ctgmath ccomplex
206ctgmath cmath
207cwchar cstddef
208cwchar cwctype
209cwctype cctype
210deque algorithm
211deque atomic
212deque compare
213deque concepts
214deque cstddef
215deque cstdint
216deque cstdlib
217deque cstring
218deque cwchar
219deque functional
220deque initializer_list
221deque iosfwd
222deque iterator
223deque limits
224deque new
225deque stdexcept
226deque tuple
227deque type_traits
228deque typeinfo
229deque version
230exception cstddef
231exception cstdlib
232exception new
233exception type_traits
234exception typeinfo
235exception version
236execution cstddef
237execution version
238expected cstddef
239expected initializer_list
240expected new
241expected version
242experimental/iterator cstddef
243experimental/iterator iosfwd
244experimental/iterator iterator
245experimental/iterator type_traits
246experimental/memory cstddef
247experimental/memory cstdint
248experimental/memory cstring
249experimental/memory limits
250experimental/propagate_const cstddef
251experimental/propagate_const type_traits
252experimental/simd cstddef
253experimental/simd cstdint
254experimental/simd limits
255experimental/type_traits initializer_list
256experimental/type_traits type_traits
257experimental/utility utility
258filesystem compare
259filesystem concepts
260filesystem cstddef
261filesystem cstdint
262filesystem cstdlib
263filesystem cstring
264filesystem ctime
265filesystem iomanip
266filesystem iosfwd
267filesystem limits
268filesystem locale
269filesystem new
270filesystem ratio
271filesystem string
272filesystem string_view
273filesystem system_error
274filesystem type_traits
275filesystem version
276format array
277format cmath
278format cstddef
279format cstdint
280format initializer_list
281format limits
282format locale
283format new
284format optional
285format queue
286format stack
287format stdexcept
288format string
289format string_view
290format tuple
291format version
292forward_list algorithm
293forward_list atomic
294forward_list compare
295forward_list concepts
296forward_list cstddef
297forward_list cstdint
298forward_list cstdlib
299forward_list cstring
300forward_list functional
301forward_list initializer_list
302forward_list iosfwd
303forward_list iterator
304forward_list limits
305forward_list new
306forward_list stdexcept
307forward_list tuple
308forward_list type_traits
309forward_list typeinfo
310forward_list version
311fstream atomic
312fstream cctype
313fstream clocale
314fstream concepts
315fstream cstddef
316fstream cstdint
317fstream cstdio
318fstream cstdlib
319fstream cstring
320fstream cwchar
321fstream filesystem
322fstream initializer_list
323fstream iosfwd
324fstream istream
325fstream limits
326fstream mutex
327fstream new
328fstream ostream
329fstream stdexcept
330fstream string
331fstream tuple
332fstream type_traits
333fstream typeinfo
334fstream version
335functional array
336functional atomic
337functional concepts
338functional cstddef
339functional cstdint
340functional cstdlib
341functional cstring
342functional exception
343functional initializer_list
344functional iosfwd
345functional limits
346functional memory
347functional new
348functional stdexcept
349functional tuple
350functional type_traits
351functional typeinfo
352functional unordered_map
353functional utility
354functional vector
355functional version
356future atomic
357future cerrno
358future cstddef
359future cstdint
360future cstdlib
361future cstring
362future exception
363future initializer_list
364future iosfwd
365future limits
366future mutex
367future new
368future ratio
369future stdexcept
370future string
371future system_error
372future thread
373future type_traits
374future typeinfo
375future version
376initializer_list cstddef
377iomanip istream
378iomanip version
379ios atomic
380ios cctype
381ios cerrno
382ios clocale
383ios concepts
384ios cstddef
385ios cstdint
386ios cstdlib
387ios cstring
388ios cwchar
389ios initializer_list
390ios iosfwd
391ios limits
392ios mutex
393ios new
394ios stdexcept
395ios string
396ios system_error
397ios tuple
398ios type_traits
399ios typeinfo
400ios version
401iosfwd version
402iostream ios
403iostream istream
404iostream ostream
405iostream streambuf
406iostream version
407istream bitset
408istream concepts
409istream cstddef
410istream iosfwd
411istream ostream
412istream type_traits
413istream version
414iterator compare
415iterator concepts
416iterator cstddef
417iterator cstdlib
418iterator exception
419iterator initializer_list
420iterator iosfwd
421iterator limits
422iterator new
423iterator type_traits
424iterator typeinfo
425iterator utility
426iterator variant
427iterator version
428latch atomic
429latch cstddef
430latch cstdint
431latch cstring
432latch ctime
433latch limits
434latch ratio
435latch type_traits
436latch version
437limits type_traits
438limits version
439list algorithm
440list atomic
441list compare
442list concepts
443list cstddef
444list cstdint
445list cstdlib
446list cstring
447list functional
448list initializer_list
449list iosfwd
450list iterator
451list limits
452list new
453list stdexcept
454list tuple
455list type_traits
456list typeinfo
457list version
458locale atomic
459locale cctype
460locale cerrno
461locale clocale
462locale concepts
463locale cstdarg
464locale cstddef
465locale cstdint
466locale cstdio
467locale cstdlib
468locale cstring
469locale ctime
470locale cwchar
471locale initializer_list
472locale ios
473locale iosfwd
474locale iterator
475locale limits
476locale mutex
477locale new
478locale stdexcept
479locale streambuf
480locale string
481locale tuple
482locale type_traits
483locale typeinfo
484locale version
485map compare
486map concepts
487map cstddef
488map cstdlib
489map functional
490map initializer_list
491map iterator
492map limits
493map new
494map optional
495map stdexcept
496map tuple
497map type_traits
498map utility
499map version
500mdspan array
501mdspan cinttypes
502mdspan concepts
503mdspan cstddef
504mdspan limits
505mdspan span
506mdspan version
507memory atomic
508memory compare
509memory concepts
510memory cstddef
511memory cstdint
512memory cstdlib
513memory cstring
514memory initializer_list
515memory iosfwd
516memory iterator
517memory limits
518memory new
519memory stdexcept
520memory tuple
521memory type_traits
522memory typeinfo
523memory utility
524memory version
525memory_resource cstddef
526memory_resource cstdint
527memory_resource limits
528memory_resource mutex
529memory_resource new
530memory_resource stdexcept
531memory_resource tuple
532memory_resource version
533mutex atomic
534mutex cerrno
535mutex concepts
536mutex cstddef
537mutex cstdint
538mutex cstdlib
539mutex cstring
540mutex ctime
541mutex initializer_list
542mutex iosfwd
543mutex limits
544mutex new
545mutex ratio
546mutex stdexcept
547mutex string
548mutex system_error
549mutex tuple
550mutex type_traits
551mutex typeinfo
552mutex version
553new cstddef
554new cstdlib
555new type_traits
556new version
557numbers concepts
558numbers type_traits
559numbers version
560numeric climits
561numeric cmath
562numeric concepts
563numeric cstddef
564numeric cstdint
565numeric execution
566numeric functional
567numeric iterator
568numeric limits
569numeric new
570numeric optional
571numeric type_traits
572numeric version
573optional atomic
574optional climits
575optional compare
576optional concepts
577optional cstddef
578optional cstdint
579optional cstring
580optional ctime
581optional initializer_list
582optional iterator
583optional limits
584optional memory
585optional new
586optional ratio
587optional stdexcept
588optional tuple
589optional type_traits
590optional typeinfo
591optional utility
592optional variant
593optional version
594ostream atomic
595ostream bitset
596ostream cerrno
597ostream concepts
598ostream cstddef
599ostream cstdint
600ostream cstdio
601ostream cstdlib
602ostream cstring
603ostream format
604ostream initializer_list
605ostream ios
606ostream iosfwd
607ostream iterator
608ostream limits
609ostream locale
610ostream new
611ostream print
612ostream stdexcept
613ostream streambuf
614ostream string
615ostream string_view
616ostream type_traits
617ostream typeinfo
618ostream version
619print cerrno
620print cstddef
621print cstdio
622print format
623print stdexcept
624print string
625print string_view
626print version
627queue compare
628queue concepts
629queue cstddef
630queue cstdlib
631queue deque
632queue functional
633queue initializer_list
634queue limits
635queue new
636queue type_traits
637queue vector
638queue version
639random algorithm
640random climits
641random cmath
642random concepts
643random cstddef
644random cstdint
645random cstdlib
646random initializer_list
647random iosfwd
648random limits
649random numeric
650random string
651random type_traits
652random vector
653random version
654ranges compare
655ranges cstddef
656ranges cstdlib
657ranges initializer_list
658ranges iosfwd
659ranges iterator
660ranges limits
661ranges optional
662ranges span
663ranges tuple
664ranges type_traits
665ranges version
666ratio climits
667ratio cstdint
668ratio type_traits
669ratio version
670regex atomic
671regex cctype
672regex clocale
673regex compare
674regex concepts
675regex cstddef
676regex cstdint
677regex cstdlib
678regex cstring
679regex cwchar
680regex deque
681regex initializer_list
682regex iosfwd
683regex iterator
684regex limits
685regex mutex
686regex new
687regex stdexcept
688regex string
689regex tuple
690regex type_traits
691regex typeinfo
692regex utility
693regex vector
694regex version
695scoped_allocator atomic
696scoped_allocator climits
697scoped_allocator concepts
698scoped_allocator cstddef
699scoped_allocator cstring
700scoped_allocator ctime
701scoped_allocator iterator
702scoped_allocator limits
703scoped_allocator memory
704scoped_allocator new
705scoped_allocator ratio
706scoped_allocator stdexcept
707scoped_allocator tuple
708scoped_allocator type_traits
709scoped_allocator variant
710scoped_allocator version
711semaphore atomic
712semaphore cstddef
713semaphore cstdint
714semaphore cstring
715semaphore ctime
716semaphore limits
717semaphore ratio
718semaphore type_traits
719semaphore version
720set compare
721set concepts
722set cstddef
723set cstdlib
724set functional
725set initializer_list
726set iterator
727set limits
728set new
729set optional
730set stdexcept
731set tuple
732set type_traits
733set version
734shared_mutex cerrno
735shared_mutex cstddef
736shared_mutex ctime
737shared_mutex limits
738shared_mutex ratio
739shared_mutex stdexcept
740shared_mutex string
741shared_mutex system_error
742shared_mutex type_traits
743shared_mutex version
744source_location cstdint
745source_location version
746span array
747span concepts
748span cstddef
749span functional
750span initializer_list
751span iterator
752span limits
753span stdexcept
754span type_traits
755span version
756sstream cstddef
757sstream istream
758sstream ostream
759sstream string
760sstream type_traits
761sstream version
762stack compare
763stack concepts
764stack cstddef
765stack deque
766stack functional
767stack initializer_list
768stack limits
769stack new
770stack type_traits
771stack version
772stdexcept cstdlib
773stdexcept exception
774stdexcept iosfwd
775stop_token atomic
776stop_token cstddef
777stop_token cstdint
778stop_token cstring
779stop_token ctime
780stop_token iosfwd
781stop_token limits
782stop_token ratio
783stop_token type_traits
784stop_token version
785streambuf climits
786streambuf cstdint
787streambuf ios
788streambuf iosfwd
789streambuf version
790string algorithm
791string climits
792string compare
793string concepts
794string cstddef
795string cstdint
796string cstdio
797string cstdlib
798string cstring
799string cwchar
800string initializer_list
801string iosfwd
802string iterator
803string limits
804string new
805string stdexcept
806string string_view
807string tuple
808string type_traits
809string typeinfo
810string utility
811string version
812string_view algorithm
813string_view compare
814string_view concepts
815string_view cstddef
816string_view cstdint
817string_view cstdio
818string_view cstdlib
819string_view cstring
820string_view cwchar
821string_view initializer_list
822string_view iosfwd
823string_view iterator
824string_view limits
825string_view new
826string_view stdexcept
827string_view type_traits
828string_view version
829strstream istream
830strstream ostream
831strstream version
832syncstream cstddef
833syncstream iosfwd
834syncstream map
835syncstream mutex
836syncstream ostream
837syncstream shared_mutex
838syncstream string
839system_error cerrno
840system_error compare
841system_error cstddef
842system_error cstdint
843system_error cstring
844system_error limits
845system_error stdexcept
846system_error string
847system_error type_traits
848system_error version
849thread array
850thread atomic
851thread cctype
852thread cerrno
853thread clocale
854thread compare
855thread cstddef
856thread cstdint
857thread cstdlib
858thread cstring
859thread ctime
860thread cwchar
861thread functional
862thread iosfwd
863thread limits
864thread locale
865thread new
866thread ratio
867thread sstream
868thread stdexcept
869thread string
870thread string_view
871thread system_error
872thread tuple
873thread type_traits
874thread version
875tuple compare
876tuple cstddef
877tuple exception
878tuple iosfwd
879tuple new
880tuple type_traits
881tuple typeinfo
882tuple utility
883tuple version
884type_traits cstddef
885type_traits cstdint
886type_traits version
887typeindex compare
888typeindex iosfwd
889typeindex new
890typeindex typeinfo
891typeindex utility
892typeindex version
893typeinfo cstddef
894typeinfo cstdint
895typeinfo cstdlib
896typeinfo type_traits
897unordered_map algorithm
898unordered_map bit
899unordered_map cmath
900unordered_map compare
901unordered_map concepts
902unordered_map cstddef
903unordered_map cstdint
904unordered_map cstdlib
905unordered_map cstring
906unordered_map initializer_list
907unordered_map iterator
908unordered_map limits
909unordered_map new
910unordered_map optional
911unordered_map stdexcept
912unordered_map tuple
913unordered_map type_traits
914unordered_map version
915unordered_set cmath
916unordered_set compare
917unordered_set concepts
918unordered_set cstddef
919unordered_set cstdint
920unordered_set cstdlib
921unordered_set cstring
922unordered_set functional
923unordered_set initializer_list
924unordered_set iterator
925unordered_set limits
926unordered_set new
927unordered_set optional
928unordered_set stdexcept
929unordered_set tuple
930unordered_set type_traits
931unordered_set version
932utility compare
933utility cstddef
934utility cstdlib
935utility initializer_list
936utility iosfwd
937utility limits
938utility type_traits
939utility version
940valarray algorithm
941valarray cmath
942valarray concepts
943valarray cstddef
944valarray cstdlib
945valarray cstring
946valarray functional
947valarray initializer_list
948valarray limits
949valarray new
950valarray stdexcept
951valarray type_traits
952valarray version
953variant compare
954variant cstddef
955variant cstdint
956variant cstring
957variant exception
958variant initializer_list
959variant limits
960variant new
961variant tuple
962variant type_traits
963variant typeinfo
964variant utility
965variant version
966vector algorithm
967vector array
968vector atomic
969vector cctype
970vector cerrno
971vector climits
972vector clocale
973vector compare
974vector concepts
975vector cstddef
976vector cstdint
977vector cstdlib
978vector cstring
979vector cwchar
980vector initializer_list
981vector iosfwd
982vector limits
983vector locale
984vector new
985vector stdexcept
986vector string
987vector string_view
988vector tuple
989vector type_traits
990vector typeinfo
991vector utility
992vector version