xref: /openbsd-src/gnu/llvm/libcxx/include/module.modulemap.in (revision 4bdff4bed0e3d54e55670334c7d0077db4170f86)
1*4bdff4beSrobert// define the module for __config outside of the top level 'std' module
2*4bdff4beSrobert// since __config may be included from C headers which may create an
3*4bdff4beSrobert// include cycle.
4*4bdff4beSrobertmodule std_config [system] [extern_c] {
5*4bdff4beSrobert  header "__config"
6*4bdff4beSrobert  export *
7*4bdff4beSrobert}
8*4bdff4beSrobert
9*4bdff4beSrobertmodule std [system] {
10*4bdff4beSrobert  export std_config
11*4bdff4beSrobert  // FIXME: The standard does not require that each of these submodules
12*4bdff4beSrobert  // re-exports its imported modules. We should provide an alternative form of
13*4bdff4beSrobert  // export that issues a warning if a name from the submodule is used, and
14*4bdff4beSrobert  // use that to provide a 'strict mode' for libc++.
15*4bdff4beSrobert
16*4bdff4beSrobert  // Deprecated C-compatibility headers. These can all be included from within
17*4bdff4beSrobert  // an 'extern "C"' context.
18*4bdff4beSrobert  module depr [extern_c] {
19*4bdff4beSrobert    // <assert.h> provided by C library.
20*4bdff4beSrobert    module ctype_h {
21*4bdff4beSrobert      header "ctype.h"
22*4bdff4beSrobert      export *
23*4bdff4beSrobert    }
24*4bdff4beSrobert    module errno_h {
25*4bdff4beSrobert      header "errno.h"
26*4bdff4beSrobert      export *
27*4bdff4beSrobert    }
28*4bdff4beSrobert    module fenv_h {
29*4bdff4beSrobert      header "fenv.h"
30*4bdff4beSrobert      export *
31*4bdff4beSrobert    }
32*4bdff4beSrobert    // <float.h> provided by compiler or C library.
33*4bdff4beSrobert    module inttypes_h {
34*4bdff4beSrobert      header "inttypes.h"
35*4bdff4beSrobert      export stdint_h
36*4bdff4beSrobert      export *
37*4bdff4beSrobert    }
38*4bdff4beSrobert    // <iso646.h> provided by compiler.
39*4bdff4beSrobert    // <limits.h> provided by compiler or C library.
40*4bdff4beSrobert    module locale_h {
41*4bdff4beSrobert      @requires_LIBCXX_ENABLE_LOCALIZATION@
42*4bdff4beSrobert      header "locale.h"
43*4bdff4beSrobert      export *
44*4bdff4beSrobert    }
45*4bdff4beSrobert    module math_h {
46*4bdff4beSrobert      header "math.h"
47*4bdff4beSrobert      export *
48*4bdff4beSrobert    }
49*4bdff4beSrobert    module setjmp_h {
50*4bdff4beSrobert      header "setjmp.h"
51*4bdff4beSrobert      export *
52*4bdff4beSrobert    }
53*4bdff4beSrobert    module stdatomic_h {
54*4bdff4beSrobert      @requires_LIBCXX_ENABLE_THREADS@
55*4bdff4beSrobert      requires cplusplus23
56*4bdff4beSrobert      header "stdatomic.h"
57*4bdff4beSrobert      export *
58*4bdff4beSrobert    }
59*4bdff4beSrobert    // FIXME: <stdalign.h> is missing.
60*4bdff4beSrobert    // <signal.h> provided by C library.
61*4bdff4beSrobert    // <stdarg.h> provided by compiler.
62*4bdff4beSrobert    module stdbool_h {
63*4bdff4beSrobert      // <stdbool.h>'s __bool_true_false_are_defined macro requires textual inclusion.
64*4bdff4beSrobert      textual header "stdbool.h"
65*4bdff4beSrobert    }
66*4bdff4beSrobert    module stddef_h {
67*4bdff4beSrobert      // <stddef.h>'s __need_* macros require textual inclusion.
68*4bdff4beSrobert      textual header "stddef.h"
69*4bdff4beSrobert    }
70*4bdff4beSrobert    module stdint_h {
71*4bdff4beSrobert      header "stdint.h"
72*4bdff4beSrobert      export *
73*4bdff4beSrobert      // FIXME: This module only exists on OS X and for some reason the
74*4bdff4beSrobert      // wildcard above doesn't export it.
75*4bdff4beSrobert      export Darwin.C.stdint
76*4bdff4beSrobert    }
77*4bdff4beSrobert    module stdio_h {
78*4bdff4beSrobert      // <stdio.h>'s __need_* macros require textual inclusion.
79*4bdff4beSrobert      textual header "stdio.h"
80*4bdff4beSrobert      export *
81*4bdff4beSrobert      export Darwin.C.stdio
82*4bdff4beSrobert    }
83*4bdff4beSrobert    module stdlib_h {
84*4bdff4beSrobert      // <stdlib.h>'s __need_* macros require textual inclusion.
85*4bdff4beSrobert      textual header "stdlib.h"
86*4bdff4beSrobert      export *
87*4bdff4beSrobert    }
88*4bdff4beSrobert    module string_h {
89*4bdff4beSrobert      header "string.h"
90*4bdff4beSrobert      export *
91*4bdff4beSrobert    }
92*4bdff4beSrobert    module uchar_h {
93*4bdff4beSrobert      header "uchar.h"
94*4bdff4beSrobert      export *
95*4bdff4beSrobert    }
96*4bdff4beSrobert    // <time.h> provided by C library.
97*4bdff4beSrobert    module wchar_h {
98*4bdff4beSrobert      @requires_LIBCXX_ENABLE_WIDE_CHARACTERS@
99*4bdff4beSrobert      // <wchar.h>'s __need_* macros require textual inclusion.
100*4bdff4beSrobert      textual header "wchar.h"
101*4bdff4beSrobert      export *
102*4bdff4beSrobert    }
103*4bdff4beSrobert    module wctype_h {
104*4bdff4beSrobert      @requires_LIBCXX_ENABLE_WIDE_CHARACTERS@
105*4bdff4beSrobert      header "wctype.h"
106*4bdff4beSrobert      export *
107*4bdff4beSrobert    }
108*4bdff4beSrobert  }
109*4bdff4beSrobert
110*4bdff4beSrobert  // <complex.h> and <tgmath.h> are not C headers in any real sense, do not
111*4bdff4beSrobert  // allow their use in extern "C" contexts.
112*4bdff4beSrobert  module complex_h {
113*4bdff4beSrobert    header "complex.h"
114*4bdff4beSrobert    export ccomplex
115*4bdff4beSrobert    export *
116*4bdff4beSrobert  }
117*4bdff4beSrobert  module tgmath_h {
118*4bdff4beSrobert    header "tgmath.h"
119*4bdff4beSrobert    export ccomplex
120*4bdff4beSrobert    export cmath
121*4bdff4beSrobert    export *
122*4bdff4beSrobert  }
123*4bdff4beSrobert
124*4bdff4beSrobert  // C compatibility headers.
125*4bdff4beSrobert  module compat {
126*4bdff4beSrobert    module cassert {
127*4bdff4beSrobert      // <cassert>'s use of NDEBUG requires textual inclusion.
128*4bdff4beSrobert      textual header "cassert"
129*4bdff4beSrobert    }
130*4bdff4beSrobert    module ccomplex {
131*4bdff4beSrobert      header "ccomplex"
132*4bdff4beSrobert      export complex
133*4bdff4beSrobert      export *
134*4bdff4beSrobert    }
135*4bdff4beSrobert    module cctype {
136*4bdff4beSrobert      header "cctype"
137*4bdff4beSrobert      export *
138*4bdff4beSrobert    }
139*4bdff4beSrobert    module cerrno {
140*4bdff4beSrobert      header "cerrno"
141*4bdff4beSrobert      export *
142*4bdff4beSrobert    }
143*4bdff4beSrobert    module cfenv {
144*4bdff4beSrobert      header "cfenv"
145*4bdff4beSrobert      export *
146*4bdff4beSrobert    }
147*4bdff4beSrobert    module cfloat {
148*4bdff4beSrobert      header "cfloat"
149*4bdff4beSrobert      export *
150*4bdff4beSrobert    }
151*4bdff4beSrobert    module cinttypes {
152*4bdff4beSrobert      header "cinttypes"
153*4bdff4beSrobert      export cstdint
154*4bdff4beSrobert      export *
155*4bdff4beSrobert    }
156*4bdff4beSrobert    module ciso646 {
157*4bdff4beSrobert      header "ciso646"
158*4bdff4beSrobert      export *
159*4bdff4beSrobert    }
160*4bdff4beSrobert    module climits {
161*4bdff4beSrobert      header "climits"
162*4bdff4beSrobert      export *
163*4bdff4beSrobert    }
164*4bdff4beSrobert    module clocale {
165*4bdff4beSrobert      @requires_LIBCXX_ENABLE_LOCALIZATION@
166*4bdff4beSrobert      header "clocale"
167*4bdff4beSrobert      export *
168*4bdff4beSrobert    }
169*4bdff4beSrobert    module cmath {
170*4bdff4beSrobert      header "cmath"
171*4bdff4beSrobert      export *
172*4bdff4beSrobert    }
173*4bdff4beSrobert    module csetjmp {
174*4bdff4beSrobert      header "csetjmp"
175*4bdff4beSrobert      export *
176*4bdff4beSrobert    }
177*4bdff4beSrobert    module csignal {
178*4bdff4beSrobert      header "csignal"
179*4bdff4beSrobert      export *
180*4bdff4beSrobert    }
181*4bdff4beSrobert    // FIXME: <cstdalign> is missing.
182*4bdff4beSrobert    module cstdarg {
183*4bdff4beSrobert      header "cstdarg"
184*4bdff4beSrobert      export *
185*4bdff4beSrobert    }
186*4bdff4beSrobert    module cstdbool {
187*4bdff4beSrobert      header "cstdbool"
188*4bdff4beSrobert      export *
189*4bdff4beSrobert    }
190*4bdff4beSrobert    module cstddef {
191*4bdff4beSrobert      header "cstddef"
192*4bdff4beSrobert      export *
193*4bdff4beSrobert    }
194*4bdff4beSrobert    module cstdint {
195*4bdff4beSrobert      header "cstdint"
196*4bdff4beSrobert      export depr.stdint_h
197*4bdff4beSrobert      export *
198*4bdff4beSrobert    }
199*4bdff4beSrobert    module cstdio {
200*4bdff4beSrobert      header "cstdio"
201*4bdff4beSrobert      export *
202*4bdff4beSrobert    }
203*4bdff4beSrobert    module cstdlib {
204*4bdff4beSrobert      header "cstdlib"
205*4bdff4beSrobert      export *
206*4bdff4beSrobert    }
207*4bdff4beSrobert    module cstring {
208*4bdff4beSrobert      header "cstring"
209*4bdff4beSrobert      export *
210*4bdff4beSrobert    }
211*4bdff4beSrobert    module ctgmath {
212*4bdff4beSrobert      header "ctgmath"
213*4bdff4beSrobert      export ccomplex
214*4bdff4beSrobert      export cmath
215*4bdff4beSrobert      export *
216*4bdff4beSrobert    }
217*4bdff4beSrobert    module ctime {
218*4bdff4beSrobert      header "ctime"
219*4bdff4beSrobert      export *
220*4bdff4beSrobert    }
221*4bdff4beSrobert    module cuchar {
222*4bdff4beSrobert      header "cuchar"
223*4bdff4beSrobert      export *
224*4bdff4beSrobert    }
225*4bdff4beSrobert    module cwchar {
226*4bdff4beSrobert      @requires_LIBCXX_ENABLE_WIDE_CHARACTERS@
227*4bdff4beSrobert      header "cwchar"
228*4bdff4beSrobert      export depr.stdio_h
229*4bdff4beSrobert      export *
230*4bdff4beSrobert    }
231*4bdff4beSrobert    module cwctype {
232*4bdff4beSrobert      @requires_LIBCXX_ENABLE_WIDE_CHARACTERS@
233*4bdff4beSrobert      header "cwctype"
234*4bdff4beSrobert      export *
235*4bdff4beSrobert    }
236*4bdff4beSrobert  }
237*4bdff4beSrobert
238*4bdff4beSrobert  module algorithm {
239*4bdff4beSrobert    header "algorithm"
240*4bdff4beSrobert    export initializer_list
241*4bdff4beSrobert    export *
242*4bdff4beSrobert
243*4bdff4beSrobert    module __algorithm {
244*4bdff4beSrobert      module adjacent_find                   { private header "__algorithm/adjacent_find.h" }
245*4bdff4beSrobert      module all_of                          { private header "__algorithm/all_of.h" }
246*4bdff4beSrobert      module any_of                          { private header "__algorithm/any_of.h" }
247*4bdff4beSrobert      module binary_search                   { private header "__algorithm/binary_search.h" }
248*4bdff4beSrobert      module clamp                           { private header "__algorithm/clamp.h" }
249*4bdff4beSrobert      module comp                            { private header "__algorithm/comp.h" }
250*4bdff4beSrobert      module comp_ref_type                   { private header "__algorithm/comp_ref_type.h" }
251*4bdff4beSrobert      module copy                            { private header "__algorithm/copy.h" }
252*4bdff4beSrobert      module copy_backward                   { private header "__algorithm/copy_backward.h" }
253*4bdff4beSrobert      module copy_if                         { private header "__algorithm/copy_if.h" }
254*4bdff4beSrobert      module copy_move_common                { private header "__algorithm/copy_move_common.h" }
255*4bdff4beSrobert      module copy_n                          { private header "__algorithm/copy_n.h" }
256*4bdff4beSrobert      module count                           { private header "__algorithm/count.h" }
257*4bdff4beSrobert      module count_if                        { private header "__algorithm/count_if.h" }
258*4bdff4beSrobert      module equal                           { private header "__algorithm/equal.h" }
259*4bdff4beSrobert      module equal_range                     { private header "__algorithm/equal_range.h" }
260*4bdff4beSrobert      module fill                            { private header "__algorithm/fill.h" }
261*4bdff4beSrobert      module fill_n                          { private header "__algorithm/fill_n.h" }
262*4bdff4beSrobert      module find                            { private header "__algorithm/find.h" }
263*4bdff4beSrobert      module find_end                        { private header "__algorithm/find_end.h" }
264*4bdff4beSrobert      module find_first_of                   { private header "__algorithm/find_first_of.h" }
265*4bdff4beSrobert      module find_if                         { private header "__algorithm/find_if.h" }
266*4bdff4beSrobert      module find_if_not                     { private header "__algorithm/find_if_not.h" }
267*4bdff4beSrobert      module for_each                        { private header "__algorithm/for_each.h" }
268*4bdff4beSrobert      module for_each_n                      { private header "__algorithm/for_each_n.h" }
269*4bdff4beSrobert      module generate                        { private header "__algorithm/generate.h" }
270*4bdff4beSrobert      module generate_n                      { private header "__algorithm/generate_n.h" }
271*4bdff4beSrobert      module half_positive                   { private header "__algorithm/half_positive.h" }
272*4bdff4beSrobert      module in_found_result                 { private header "__algorithm/in_found_result.h" }
273*4bdff4beSrobert      module in_fun_result                   { private header "__algorithm/in_fun_result.h" }
274*4bdff4beSrobert      module in_in_out_result                { private header "__algorithm/in_in_out_result.h" }
275*4bdff4beSrobert      module in_in_result                    { private header "__algorithm/in_in_result.h" }
276*4bdff4beSrobert      module in_out_out_result               { private header "__algorithm/in_out_out_result.h" }
277*4bdff4beSrobert      module in_out_result                   { private header "__algorithm/in_out_result.h" }
278*4bdff4beSrobert      module includes                        { private header "__algorithm/includes.h" }
279*4bdff4beSrobert      module inplace_merge                   { private header "__algorithm/inplace_merge.h" }
280*4bdff4beSrobert      module is_heap                         { private header "__algorithm/is_heap.h" }
281*4bdff4beSrobert      module is_heap_until                   { private header "__algorithm/is_heap_until.h" }
282*4bdff4beSrobert      module is_partitioned                  { private header "__algorithm/is_partitioned.h" }
283*4bdff4beSrobert      module is_permutation                  { private header "__algorithm/is_permutation.h" }
284*4bdff4beSrobert      module is_sorted                       { private header "__algorithm/is_sorted.h" }
285*4bdff4beSrobert      module is_sorted_until                 { private header "__algorithm/is_sorted_until.h" }
286*4bdff4beSrobert      module iter_swap                       { private header "__algorithm/iter_swap.h" }
287*4bdff4beSrobert      module iterator_operations             {
288*4bdff4beSrobert        private header "__algorithm/iterator_operations.h"
289*4bdff4beSrobert        export *
290*4bdff4beSrobert      }
291*4bdff4beSrobert      module lexicographical_compare         { private header "__algorithm/lexicographical_compare.h" }
292*4bdff4beSrobert      module lower_bound                     { private header "__algorithm/lower_bound.h" }
293*4bdff4beSrobert      module make_heap                       { private header "__algorithm/make_heap.h" }
294*4bdff4beSrobert      module make_projected                  { private header "__algorithm/make_projected.h" }
295*4bdff4beSrobert      module max                             { private header "__algorithm/max.h" }
296*4bdff4beSrobert      module max_element                     { private header "__algorithm/max_element.h" }
297*4bdff4beSrobert      module merge                           { private header "__algorithm/merge.h" }
298*4bdff4beSrobert      module min                             { private header "__algorithm/min.h" }
299*4bdff4beSrobert      module min_element                     { private header "__algorithm/min_element.h" }
300*4bdff4beSrobert      module min_max_result                  { private header "__algorithm/min_max_result.h" }
301*4bdff4beSrobert      module minmax                          { private header "__algorithm/minmax.h" }
302*4bdff4beSrobert      module minmax_element                  { private header "__algorithm/minmax_element.h" }
303*4bdff4beSrobert      module mismatch                        { private header "__algorithm/mismatch.h" }
304*4bdff4beSrobert      module move                            { private header "__algorithm/move.h" }
305*4bdff4beSrobert      module move_backward                   { private header "__algorithm/move_backward.h" }
306*4bdff4beSrobert      module next_permutation                { private header "__algorithm/next_permutation.h" }
307*4bdff4beSrobert      module none_of                         { private header "__algorithm/none_of.h" }
308*4bdff4beSrobert      module nth_element                     { private header "__algorithm/nth_element.h" }
309*4bdff4beSrobert      module partial_sort                    { private header "__algorithm/partial_sort.h" }
310*4bdff4beSrobert      module partial_sort_copy               { private header "__algorithm/partial_sort_copy.h" }
311*4bdff4beSrobert      module partition                       { private header "__algorithm/partition.h" }
312*4bdff4beSrobert      module partition_copy                  { private header "__algorithm/partition_copy.h" }
313*4bdff4beSrobert      module partition_point                 { private header "__algorithm/partition_point.h" }
314*4bdff4beSrobert      module pop_heap                        { private header "__algorithm/pop_heap.h" }
315*4bdff4beSrobert      module prev_permutation                { private header "__algorithm/prev_permutation.h" }
316*4bdff4beSrobert      module push_heap                       { private header "__algorithm/push_heap.h" }
317*4bdff4beSrobert      module ranges_adjacent_find            { private header "__algorithm/ranges_adjacent_find.h" }
318*4bdff4beSrobert      module ranges_all_of                   { private header "__algorithm/ranges_all_of.h" }
319*4bdff4beSrobert      module ranges_any_of                   { private header "__algorithm/ranges_any_of.h" }
320*4bdff4beSrobert      module ranges_binary_search {
321*4bdff4beSrobert        private header "__algorithm/ranges_binary_search.h"
322*4bdff4beSrobert        export functional.__functional.ranges_operations
323*4bdff4beSrobert      }
324*4bdff4beSrobert      module ranges_clamp {
325*4bdff4beSrobert        private header "__algorithm/ranges_clamp.h"
326*4bdff4beSrobert        export functional.__functional.ranges_operations
327*4bdff4beSrobert      }
328*4bdff4beSrobert      module ranges_copy {
329*4bdff4beSrobert        private header "__algorithm/ranges_copy.h"
330*4bdff4beSrobert        export algorithm.__algorithm.in_out_result
331*4bdff4beSrobert      }
332*4bdff4beSrobert      module ranges_copy_backward {
333*4bdff4beSrobert        private header "__algorithm/ranges_copy_backward.h"
334*4bdff4beSrobert        export algorithm.__algorithm.in_out_result
335*4bdff4beSrobert      }
336*4bdff4beSrobert      module ranges_copy_if {
337*4bdff4beSrobert        private header "__algorithm/ranges_copy_if.h"
338*4bdff4beSrobert        export algorithm.__algorithm.in_out_result
339*4bdff4beSrobert      }
340*4bdff4beSrobert      module ranges_copy_n {
341*4bdff4beSrobert        private header "__algorithm/ranges_copy_n.h"
342*4bdff4beSrobert        export algorithm.__algorithm.in_out_result
343*4bdff4beSrobert      }
344*4bdff4beSrobert      module ranges_count                    { private header "__algorithm/ranges_count.h" }
345*4bdff4beSrobert      module ranges_count_if                 { private header "__algorithm/ranges_count_if.h" }
346*4bdff4beSrobert      module ranges_equal                    { private header "__algorithm/ranges_equal.h" }
347*4bdff4beSrobert      module ranges_equal_range {
348*4bdff4beSrobert        private header "__algorithm/ranges_equal_range.h"
349*4bdff4beSrobert        export functional.__functional.ranges_operations
350*4bdff4beSrobert      }
351*4bdff4beSrobert      module ranges_fill                     { private header "__algorithm/ranges_fill.h" }
352*4bdff4beSrobert      module ranges_fill_n                   { private header "__algorithm/ranges_fill_n.h" }
353*4bdff4beSrobert      module ranges_find                     { private header "__algorithm/ranges_find.h" }
354*4bdff4beSrobert      module ranges_find_end                 { private header "__algorithm/ranges_find_end.h" }
355*4bdff4beSrobert      module ranges_find_first_of            { private header "__algorithm/ranges_find_first_of.h" }
356*4bdff4beSrobert      module ranges_find_if                  { private header "__algorithm/ranges_find_if.h" }
357*4bdff4beSrobert      module ranges_find_if_not              { private header "__algorithm/ranges_find_if_not.h" }
358*4bdff4beSrobert      module ranges_for_each {
359*4bdff4beSrobert        private header "__algorithm/ranges_for_each.h"
360*4bdff4beSrobert        export algorithm.__algorithm.in_fun_result
361*4bdff4beSrobert      }
362*4bdff4beSrobert      module ranges_for_each_n {
363*4bdff4beSrobert        private header "__algorithm/ranges_for_each_n.h"
364*4bdff4beSrobert        export algorithm.__algorithm.in_fun_result
365*4bdff4beSrobert      }
366*4bdff4beSrobert      module ranges_generate                 { private header "__algorithm/ranges_generate.h" }
367*4bdff4beSrobert      module ranges_generate_n               { private header "__algorithm/ranges_generate_n.h" }
368*4bdff4beSrobert      module ranges_includes {
369*4bdff4beSrobert        private header "__algorithm/ranges_includes.h"
370*4bdff4beSrobert        export functional.__functional.ranges_operations
371*4bdff4beSrobert      }
372*4bdff4beSrobert      module ranges_inplace_merge {
373*4bdff4beSrobert        private header "__algorithm/ranges_inplace_merge.h"
374*4bdff4beSrobert        export functional.__functional.ranges_operations
375*4bdff4beSrobert      }
376*4bdff4beSrobert      module ranges_is_heap {
377*4bdff4beSrobert        private header "__algorithm/ranges_is_heap.h"
378*4bdff4beSrobert        export functional.__functional.ranges_operations
379*4bdff4beSrobert      }
380*4bdff4beSrobert      module ranges_is_heap_until {
381*4bdff4beSrobert        private header "__algorithm/ranges_is_heap_until.h"
382*4bdff4beSrobert        export functional.__functional.ranges_operations
383*4bdff4beSrobert      }
384*4bdff4beSrobert      module ranges_is_partitioned           { private header "__algorithm/ranges_is_partitioned.h" }
385*4bdff4beSrobert      module ranges_is_permutation           { private header "__algorithm/ranges_is_permutation.h" }
386*4bdff4beSrobert      module ranges_is_sorted {
387*4bdff4beSrobert        private header "__algorithm/ranges_is_sorted.h"
388*4bdff4beSrobert        export functional.__functional.ranges_operations
389*4bdff4beSrobert      }
390*4bdff4beSrobert      module ranges_is_sorted_until {
391*4bdff4beSrobert        private header "__algorithm/ranges_is_sorted_until.h"
392*4bdff4beSrobert        export functional.__functional.ranges_operations
393*4bdff4beSrobert      }
394*4bdff4beSrobert      module ranges_iterator_concept         { private header "__algorithm/ranges_iterator_concept.h" }
395*4bdff4beSrobert      module ranges_lexicographical_compare {
396*4bdff4beSrobert        private header "__algorithm/ranges_lexicographical_compare.h"
397*4bdff4beSrobert        export functional.__functional.ranges_operations
398*4bdff4beSrobert      }
399*4bdff4beSrobert      module ranges_lower_bound {
400*4bdff4beSrobert        private header "__algorithm/ranges_lower_bound.h"
401*4bdff4beSrobert        export functional.__functional.ranges_operations
402*4bdff4beSrobert      }
403*4bdff4beSrobert      module ranges_make_heap {
404*4bdff4beSrobert        private header "__algorithm/ranges_make_heap.h"
405*4bdff4beSrobert        export functional.__functional.ranges_operations
406*4bdff4beSrobert      }
407*4bdff4beSrobert      module ranges_max {
408*4bdff4beSrobert        private header "__algorithm/ranges_max.h"
409*4bdff4beSrobert        export functional.__functional.ranges_operations
410*4bdff4beSrobert      }
411*4bdff4beSrobert      module ranges_max_element {
412*4bdff4beSrobert        private header "__algorithm/ranges_max_element.h"
413*4bdff4beSrobert        export functional.__functional.ranges_operations
414*4bdff4beSrobert      }
415*4bdff4beSrobert      module ranges_merge {
416*4bdff4beSrobert        private header "__algorithm/ranges_merge.h"
417*4bdff4beSrobert        export algorithm.__algorithm.in_in_out_result
418*4bdff4beSrobert      }
419*4bdff4beSrobert      module ranges_min {
420*4bdff4beSrobert        private header "__algorithm/ranges_min.h"
421*4bdff4beSrobert        export functional.__functional.ranges_operations
422*4bdff4beSrobert      }
423*4bdff4beSrobert      module ranges_min_element {
424*4bdff4beSrobert        private header "__algorithm/ranges_min_element.h"
425*4bdff4beSrobert        export functional.__functional.ranges_operations
426*4bdff4beSrobert      }
427*4bdff4beSrobert      module ranges_minmax {
428*4bdff4beSrobert        private header "__algorithm/ranges_minmax.h"
429*4bdff4beSrobert        export functional.__functional.ranges_operations
430*4bdff4beSrobert        export algorithm.__algorithm.min_max_result
431*4bdff4beSrobert      }
432*4bdff4beSrobert      module ranges_minmax_element {
433*4bdff4beSrobert        private header "__algorithm/ranges_minmax_element.h"
434*4bdff4beSrobert        export functional.__functional.ranges_operations
435*4bdff4beSrobert        export algorithm.__algorithm.min_max_result
436*4bdff4beSrobert      }
437*4bdff4beSrobert      module ranges_mismatch {
438*4bdff4beSrobert        private header "__algorithm/ranges_mismatch.h"
439*4bdff4beSrobert        export algorithm.__algorithm.in_in_result
440*4bdff4beSrobert      }
441*4bdff4beSrobert      module ranges_move {
442*4bdff4beSrobert        private header "__algorithm/ranges_move.h"
443*4bdff4beSrobert        export algorithm.__algorithm.in_out_result
444*4bdff4beSrobert      }
445*4bdff4beSrobert      module ranges_move_backward {
446*4bdff4beSrobert        private header "__algorithm/ranges_move_backward.h"
447*4bdff4beSrobert        export algorithm.__algorithm.in_out_result
448*4bdff4beSrobert      }
449*4bdff4beSrobert      module ranges_next_permutation {
450*4bdff4beSrobert        private header "__algorithm/ranges_next_permutation.h"
451*4bdff4beSrobert        export algorithm.__algorithm.in_found_result
452*4bdff4beSrobert        export functional.__functional.ranges_operations
453*4bdff4beSrobert      }
454*4bdff4beSrobert      module ranges_none_of                  { private header "__algorithm/ranges_none_of.h" }
455*4bdff4beSrobert      module ranges_nth_element {
456*4bdff4beSrobert        private header "__algorithm/ranges_nth_element.h"
457*4bdff4beSrobert        export functional.__functional.ranges_operations
458*4bdff4beSrobert      }
459*4bdff4beSrobert      module ranges_partial_sort {
460*4bdff4beSrobert        private header "__algorithm/ranges_partial_sort.h"
461*4bdff4beSrobert        export algorithm.__algorithm.in_out_result
462*4bdff4beSrobert        export functional.__functional.ranges_operations
463*4bdff4beSrobert      }
464*4bdff4beSrobert      module ranges_partial_sort_copy {
465*4bdff4beSrobert        private header "__algorithm/ranges_partial_sort_copy.h"
466*4bdff4beSrobert        export algorithm.__algorithm.in_out_out_result
467*4bdff4beSrobert        export functional.__functional.ranges_operations
468*4bdff4beSrobert      }
469*4bdff4beSrobert      module ranges_partition                { private header "__algorithm/ranges_partition.h" }
470*4bdff4beSrobert      module ranges_partition_copy           { private header "__algorithm/ranges_partition_copy.h" }
471*4bdff4beSrobert      module ranges_partition_point          { private header "__algorithm/ranges_partition_point.h" }
472*4bdff4beSrobert      module ranges_pop_heap {
473*4bdff4beSrobert        private header "__algorithm/ranges_pop_heap.h"
474*4bdff4beSrobert        export functional.__functional.ranges_operations
475*4bdff4beSrobert      }
476*4bdff4beSrobert      module ranges_prev_permutation {
477*4bdff4beSrobert        private header "__algorithm/ranges_prev_permutation.h"
478*4bdff4beSrobert        export algorithm.__algorithm.in_found_result
479*4bdff4beSrobert        export functional.__functional.ranges_operations
480*4bdff4beSrobert      }
481*4bdff4beSrobert      module ranges_push_heap {
482*4bdff4beSrobert        private header "__algorithm/ranges_push_heap.h"
483*4bdff4beSrobert        export functional.__functional.ranges_operations
484*4bdff4beSrobert      }
485*4bdff4beSrobert      module ranges_remove                   { private header "__algorithm/ranges_remove.h" }
486*4bdff4beSrobert      module ranges_remove_copy {
487*4bdff4beSrobert        private header "__algorithm/ranges_remove_copy.h"
488*4bdff4beSrobert        export algorithm.__algorithm.in_out_result
489*4bdff4beSrobert      }
490*4bdff4beSrobert      module ranges_remove_copy_if {
491*4bdff4beSrobert        private header "__algorithm/ranges_remove_copy_if.h"
492*4bdff4beSrobert        export algorithm.__algorithm.in_out_result
493*4bdff4beSrobert      }
494*4bdff4beSrobert      module ranges_remove_if                { private header "__algorithm/ranges_remove_if.h" }
495*4bdff4beSrobert      module ranges_replace                  { private header "__algorithm/ranges_replace.h" }
496*4bdff4beSrobert      module ranges_replace_copy {
497*4bdff4beSrobert        private header "__algorithm/ranges_replace_copy.h"
498*4bdff4beSrobert        export algorithm.__algorithm.in_out_result
499*4bdff4beSrobert      }
500*4bdff4beSrobert      module ranges_replace_copy_if {
501*4bdff4beSrobert        private header "__algorithm/ranges_replace_copy_if.h"
502*4bdff4beSrobert        export algorithm.__algorithm.in_out_result
503*4bdff4beSrobert      }
504*4bdff4beSrobert      module ranges_replace_if               { private header "__algorithm/ranges_replace_if.h" }
505*4bdff4beSrobert      module ranges_reverse                  { private header "__algorithm/ranges_reverse.h" }
506*4bdff4beSrobert      module ranges_reverse_copy {
507*4bdff4beSrobert        private header "__algorithm/ranges_reverse_copy.h"
508*4bdff4beSrobert        export algorithm.__algorithm.in_out_result
509*4bdff4beSrobert      }
510*4bdff4beSrobert      module ranges_rotate                   { private header "__algorithm/ranges_rotate.h" }
511*4bdff4beSrobert      module ranges_rotate_copy {
512*4bdff4beSrobert        private header "__algorithm/ranges_rotate_copy.h"
513*4bdff4beSrobert        export algorithm.__algorithm.in_out_result
514*4bdff4beSrobert      }
515*4bdff4beSrobert      module ranges_sample                   { private header "__algorithm/ranges_sample.h" }
516*4bdff4beSrobert      module ranges_search                   { private header "__algorithm/ranges_search.h" }
517*4bdff4beSrobert      module ranges_search_n                 { private header "__algorithm/ranges_search_n.h" }
518*4bdff4beSrobert      module ranges_set_difference {
519*4bdff4beSrobert        private header "__algorithm/ranges_set_difference.h"
520*4bdff4beSrobert        export algorithm.__algorithm.in_out_result
521*4bdff4beSrobert      }
522*4bdff4beSrobert      module ranges_set_intersection {
523*4bdff4beSrobert        private header "__algorithm/ranges_set_intersection.h"
524*4bdff4beSrobert        export algorithm.__algorithm.in_in_out_result
525*4bdff4beSrobert      }
526*4bdff4beSrobert      module ranges_set_symmetric_difference {
527*4bdff4beSrobert        private header "__algorithm/ranges_set_symmetric_difference.h"
528*4bdff4beSrobert        export algorithm.__algorithm.in_in_out_result
529*4bdff4beSrobert        export functional.__functional.ranges_operations
530*4bdff4beSrobert      }
531*4bdff4beSrobert      module ranges_set_union {
532*4bdff4beSrobert        private header "__algorithm/ranges_set_union.h"
533*4bdff4beSrobert        export algorithm.__algorithm.in_in_out_result
534*4bdff4beSrobert        export functional.__functional.ranges_operations
535*4bdff4beSrobert      }
536*4bdff4beSrobert      module ranges_shuffle                  { private header "__algorithm/ranges_shuffle.h" }
537*4bdff4beSrobert      module ranges_sort {
538*4bdff4beSrobert        private header "__algorithm/ranges_sort.h"
539*4bdff4beSrobert        export functional.__functional.ranges_operations
540*4bdff4beSrobert      }
541*4bdff4beSrobert      module ranges_sort_heap {
542*4bdff4beSrobert        private header "__algorithm/ranges_sort_heap.h"
543*4bdff4beSrobert        export functional.__functional.ranges_operations
544*4bdff4beSrobert      }
545*4bdff4beSrobert      module ranges_stable_partition         { private header "__algorithm/ranges_stable_partition.h" }
546*4bdff4beSrobert      module ranges_stable_sort {
547*4bdff4beSrobert        private header "__algorithm/ranges_stable_sort.h"
548*4bdff4beSrobert        export functional.__functional.ranges_operations
549*4bdff4beSrobert      }
550*4bdff4beSrobert      module ranges_swap_ranges {
551*4bdff4beSrobert        private header "__algorithm/ranges_swap_ranges.h"
552*4bdff4beSrobert        export algorithm.__algorithm.in_in_result
553*4bdff4beSrobert      }
554*4bdff4beSrobert      module ranges_transform {
555*4bdff4beSrobert        private header "__algorithm/ranges_transform.h"
556*4bdff4beSrobert        export algorithm.__algorithm.in_in_out_result
557*4bdff4beSrobert        export algorithm.__algorithm.in_out_result
558*4bdff4beSrobert      }
559*4bdff4beSrobert      module uniform_random_bit_generator_adaptor {
560*4bdff4beSrobert        private header "__algorithm/uniform_random_bit_generator_adaptor.h"
561*4bdff4beSrobert      }
562*4bdff4beSrobert      module ranges_unique                   { private header "__algorithm/ranges_unique.h" }
563*4bdff4beSrobert      module ranges_unique_copy {
564*4bdff4beSrobert        private header "__algorithm/ranges_unique_copy.h"
565*4bdff4beSrobert        export algorithm.__algorithm.in_out_result
566*4bdff4beSrobert      }
567*4bdff4beSrobert      module ranges_upper_bound {
568*4bdff4beSrobert        private header "__algorithm/ranges_upper_bound.h"
569*4bdff4beSrobert        export functional.__functional.ranges_operations
570*4bdff4beSrobert      }
571*4bdff4beSrobert      module remove                          { private header "__algorithm/remove.h" }
572*4bdff4beSrobert      module remove_copy                     { private header "__algorithm/remove_copy.h" }
573*4bdff4beSrobert      module remove_copy_if                  { private header "__algorithm/remove_copy_if.h" }
574*4bdff4beSrobert      module remove_if                       { private header "__algorithm/remove_if.h" }
575*4bdff4beSrobert      module replace                         { private header "__algorithm/replace.h" }
576*4bdff4beSrobert      module replace_copy                    { private header "__algorithm/replace_copy.h" }
577*4bdff4beSrobert      module replace_copy_if                 { private header "__algorithm/replace_copy_if.h" }
578*4bdff4beSrobert      module replace_if                      { private header "__algorithm/replace_if.h" }
579*4bdff4beSrobert      module reverse                         { private header "__algorithm/reverse.h" }
580*4bdff4beSrobert      module reverse_copy                    { private header "__algorithm/reverse_copy.h" }
581*4bdff4beSrobert      module rotate                          { private header "__algorithm/rotate.h" }
582*4bdff4beSrobert      module rotate_copy                     { private header "__algorithm/rotate_copy.h" }
583*4bdff4beSrobert      module sample                          { private header "__algorithm/sample.h" }
584*4bdff4beSrobert      module search                          { private header "__algorithm/search.h" }
585*4bdff4beSrobert      module search_n                        { private header "__algorithm/search_n.h" }
586*4bdff4beSrobert      module set_difference                  { private header "__algorithm/set_difference.h" }
587*4bdff4beSrobert      module set_intersection                { private header "__algorithm/set_intersection.h" }
588*4bdff4beSrobert      module set_symmetric_difference        { private header "__algorithm/set_symmetric_difference.h" }
589*4bdff4beSrobert      module set_union                       { private header "__algorithm/set_union.h" }
590*4bdff4beSrobert      module shift_left                      { private header "__algorithm/shift_left.h" }
591*4bdff4beSrobert      module shift_right                     { private header "__algorithm/shift_right.h" }
592*4bdff4beSrobert      module shuffle                         { private header "__algorithm/shuffle.h" }
593*4bdff4beSrobert      module sift_down                       { private header "__algorithm/sift_down.h" }
594*4bdff4beSrobert      module sort                            { private header "__algorithm/sort.h" }
595*4bdff4beSrobert      module sort_heap                       { private header "__algorithm/sort_heap.h" }
596*4bdff4beSrobert      module stable_partition                { private header "__algorithm/stable_partition.h" }
597*4bdff4beSrobert      module stable_sort                     { private header "__algorithm/stable_sort.h" }
598*4bdff4beSrobert      module swap_ranges                     { private header "__algorithm/swap_ranges.h" }
599*4bdff4beSrobert      module transform                       { private header "__algorithm/transform.h" }
600*4bdff4beSrobert      module unique                          { private header "__algorithm/unique.h" }
601*4bdff4beSrobert      module unique_copy                     { private header "__algorithm/unique_copy.h" }
602*4bdff4beSrobert      module unwrap_iter                     { private header "__algorithm/unwrap_iter.h" }
603*4bdff4beSrobert      module unwrap_range                    { private header "__algorithm/unwrap_range.h" }
604*4bdff4beSrobert      module upper_bound                     { private header "__algorithm/upper_bound.h" }
605*4bdff4beSrobert    }
606*4bdff4beSrobert  }
607*4bdff4beSrobert  module any {
608*4bdff4beSrobert    header "any"
609*4bdff4beSrobert    export *
610*4bdff4beSrobert  }
611*4bdff4beSrobert  module array {
612*4bdff4beSrobert    header "array"
613*4bdff4beSrobert    export initializer_list
614*4bdff4beSrobert    export *
615*4bdff4beSrobert
616*4bdff4beSrobert    module array_fwd { private header "__fwd/array.h" }
617*4bdff4beSrobert  }
618*4bdff4beSrobert  module atomic {
619*4bdff4beSrobert    header "atomic"
620*4bdff4beSrobert    export *
621*4bdff4beSrobert  }
622*4bdff4beSrobert  module barrier {
623*4bdff4beSrobert    @requires_LIBCXX_ENABLE_THREADS@
624*4bdff4beSrobert    header "barrier"
625*4bdff4beSrobert    export *
626*4bdff4beSrobert  }
627*4bdff4beSrobert  module bit {
628*4bdff4beSrobert    header "bit"
629*4bdff4beSrobert    export *
630*4bdff4beSrobert
631*4bdff4beSrobert    module __bit {
632*4bdff4beSrobert      module bit_cast       { private header "__bit/bit_cast.h" }
633*4bdff4beSrobert      module bit_ceil       { private header "__bit/bit_ceil.h" }
634*4bdff4beSrobert      module bit_floor      { private header "__bit/bit_floor.h" }
635*4bdff4beSrobert      module bit_log2       { private header "__bit/bit_log2.h" }
636*4bdff4beSrobert      module bit_width      { private header "__bit/bit_width.h" }
637*4bdff4beSrobert      module blsr           { private header "__bit/blsr.h" }
638*4bdff4beSrobert      module byteswap       { private header "__bit/byteswap.h" }
639*4bdff4beSrobert      module countl         { private header "__bit/countl.h" }
640*4bdff4beSrobert      module countr         { private header "__bit/countr.h" }
641*4bdff4beSrobert      module endian         { private header "__bit/endian.h" }
642*4bdff4beSrobert      module has_single_bit { private header "__bit/has_single_bit.h" }
643*4bdff4beSrobert      module popcount       { private header "__bit/popcount.h" }
644*4bdff4beSrobert      module rotate         { private header "__bit/rotate.h" }
645*4bdff4beSrobert    }
646*4bdff4beSrobert  }
647*4bdff4beSrobert  module bitset {
648*4bdff4beSrobert    header "bitset"
649*4bdff4beSrobert    export string
650*4bdff4beSrobert    export iosfwd
651*4bdff4beSrobert    export *
652*4bdff4beSrobert  }
653*4bdff4beSrobert  // No submodule for cassert. It fundamentally needs repeated, textual inclusion.
654*4bdff4beSrobert  module charconv {
655*4bdff4beSrobert    header "charconv"
656*4bdff4beSrobert    export *
657*4bdff4beSrobert
658*4bdff4beSrobert    module __charconv {
659*4bdff4beSrobert      module chars_format      { private header "__charconv/chars_format.h" }
660*4bdff4beSrobert      module from_chars_result { private header "__charconv/from_chars_result.h" }
661*4bdff4beSrobert      module tables            { private header "__charconv/tables.h" }
662*4bdff4beSrobert      module to_chars_base_10  { private header "__charconv/to_chars_base_10.h" }
663*4bdff4beSrobert      module to_chars_result   { private header "__charconv/to_chars_result.h" }
664*4bdff4beSrobert    }
665*4bdff4beSrobert
666*4bdff4beSrobert  }
667*4bdff4beSrobert  module chrono {
668*4bdff4beSrobert    header "chrono"
669*4bdff4beSrobert    export *
670*4bdff4beSrobert
671*4bdff4beSrobert    module __chrono {
672*4bdff4beSrobert      module calendar               { private header "__chrono/calendar.h" }
673*4bdff4beSrobert      module convert_to_timespec    { private header "__chrono/convert_to_timespec.h" }
674*4bdff4beSrobert      module convert_to_tm          { private header "__chrono/convert_to_tm.h" }
675*4bdff4beSrobert      module day                    { private header "__chrono/day.h" }
676*4bdff4beSrobert      module duration               { private header "__chrono/duration.h" }
677*4bdff4beSrobert      module file_clock             { private header "__chrono/file_clock.h" }
678*4bdff4beSrobert      module formatter              {
679*4bdff4beSrobert        @requires_LIBCXX_ENABLE_LOCALIZATION@
680*4bdff4beSrobert        private header "__chrono/formatter.h"
681*4bdff4beSrobert      }
682*4bdff4beSrobert      module hh_mm_ss               { private header "__chrono/hh_mm_ss.h" }
683*4bdff4beSrobert      module high_resolution_clock  {
684*4bdff4beSrobert        private header "__chrono/high_resolution_clock.h"
685*4bdff4beSrobert        export steady_clock
686*4bdff4beSrobert        export system_clock
687*4bdff4beSrobert        export time_point
688*4bdff4beSrobert      }
689*4bdff4beSrobert      module literals               { private header "__chrono/literals.h" }
690*4bdff4beSrobert      module month                  { private header "__chrono/month.h" }
691*4bdff4beSrobert      module month_weekday          { private header "__chrono/month_weekday.h" }
692*4bdff4beSrobert      module monthday               { private header "__chrono/monthday.h" }
693*4bdff4beSrobert      module ostream                {
694*4bdff4beSrobert        @requires_LIBCXX_ENABLE_LOCALIZATION@
695*4bdff4beSrobert        private header "__chrono/ostream.h"
696*4bdff4beSrobert      }
697*4bdff4beSrobert      module parser_std_format_spec {
698*4bdff4beSrobert        @requires_LIBCXX_ENABLE_LOCALIZATION@
699*4bdff4beSrobert        private header "__chrono/parser_std_format_spec.h"
700*4bdff4beSrobert      }
701*4bdff4beSrobert      module statically_widen       { private header "__chrono/statically_widen.h" }
702*4bdff4beSrobert      module steady_clock           { private header "__chrono/steady_clock.h" }
703*4bdff4beSrobert      module system_clock           { private header "__chrono/system_clock.h" }
704*4bdff4beSrobert      module time_point             { private header "__chrono/time_point.h" }
705*4bdff4beSrobert      module weekday                { private header "__chrono/weekday.h" }
706*4bdff4beSrobert      module year                   { private header "__chrono/year.h" }
707*4bdff4beSrobert      module year_month             { private header "__chrono/year_month.h" }
708*4bdff4beSrobert      module year_month_day         { private header "__chrono/year_month_day.h" }
709*4bdff4beSrobert      module year_month_weekday     { private header "__chrono/year_month_weekday.h" }
710*4bdff4beSrobert    }
711*4bdff4beSrobert  }
712*4bdff4beSrobert  module codecvt {
713*4bdff4beSrobert    @requires_LIBCXX_ENABLE_LOCALIZATION@
714*4bdff4beSrobert    header "codecvt"
715*4bdff4beSrobert    export *
716*4bdff4beSrobert  }
717*4bdff4beSrobert  module compare {
718*4bdff4beSrobert    header "compare"
719*4bdff4beSrobert    export *
720*4bdff4beSrobert
721*4bdff4beSrobert    module __compare {
722*4bdff4beSrobert      module common_comparison_category     { private header "__compare/common_comparison_category.h" }
723*4bdff4beSrobert      module compare_partial_order_fallback { private header "__compare/compare_partial_order_fallback.h" }
724*4bdff4beSrobert      module compare_strong_order_fallback  { private header "__compare/compare_strong_order_fallback.h" }
725*4bdff4beSrobert      module compare_three_way              { private header "__compare/compare_three_way.h" }
726*4bdff4beSrobert      module compare_three_way_result       { private header "__compare/compare_three_way_result.h" }
727*4bdff4beSrobert      module compare_weak_order_fallback    { private header "__compare/compare_weak_order_fallback.h" }
728*4bdff4beSrobert      module is_eq                          { private header "__compare/is_eq.h" }
729*4bdff4beSrobert      module ordering                       { private header "__compare/ordering.h" }
730*4bdff4beSrobert      module partial_order                  { private header "__compare/partial_order.h" }
731*4bdff4beSrobert      module strong_order                   { private header "__compare/strong_order.h" }
732*4bdff4beSrobert      module synth_three_way                { private header "__compare/synth_three_way.h" }
733*4bdff4beSrobert      module three_way_comparable           { private header "__compare/three_way_comparable.h" }
734*4bdff4beSrobert      module weak_order                     { private header "__compare/weak_order.h" }
735*4bdff4beSrobert    }
736*4bdff4beSrobert  }
737*4bdff4beSrobert  module complex {
738*4bdff4beSrobert    header "complex"
739*4bdff4beSrobert    export *
740*4bdff4beSrobert  }
741*4bdff4beSrobert  module concepts {
742*4bdff4beSrobert    header "concepts"
743*4bdff4beSrobert    export *
744*4bdff4beSrobert
745*4bdff4beSrobert    module __concepts {
746*4bdff4beSrobert      module arithmetic                 { private header "__concepts/arithmetic.h" }
747*4bdff4beSrobert      module assignable                 { private header "__concepts/assignable.h" }
748*4bdff4beSrobert      module boolean_testable           { private header "__concepts/boolean_testable.h" }
749*4bdff4beSrobert      module class_or_enum              { private header "__concepts/class_or_enum.h" }
750*4bdff4beSrobert      module common_reference_with      { private header "__concepts/common_reference_with.h" }
751*4bdff4beSrobert      module common_with                { private header "__concepts/common_with.h" }
752*4bdff4beSrobert      module constructible              { private header "__concepts/constructible.h" }
753*4bdff4beSrobert      module convertible_to             { private header "__concepts/convertible_to.h" }
754*4bdff4beSrobert      module copyable                   { private header "__concepts/copyable.h" }
755*4bdff4beSrobert      module derived_from               { private header "__concepts/derived_from.h" }
756*4bdff4beSrobert      module destructible               { private header "__concepts/destructible.h" }
757*4bdff4beSrobert      module different_from             { private header "__concepts/different_from.h" }
758*4bdff4beSrobert      module equality_comparable {
759*4bdff4beSrobert        private header "__concepts/equality_comparable.h"
760*4bdff4beSrobert        export type_traits.common_reference
761*4bdff4beSrobert      }
762*4bdff4beSrobert      module invocable                  { private header "__concepts/invocable.h" }
763*4bdff4beSrobert      module movable                    { private header "__concepts/movable.h" }
764*4bdff4beSrobert      module predicate                  { private header "__concepts/predicate.h" }
765*4bdff4beSrobert      module regular                    { private header "__concepts/regular.h" }
766*4bdff4beSrobert      module relation                   { private header "__concepts/relation.h" }
767*4bdff4beSrobert      module same_as {
768*4bdff4beSrobert        private header "__concepts/same_as.h"
769*4bdff4beSrobert        export type_traits.is_same
770*4bdff4beSrobert      }
771*4bdff4beSrobert      module semiregular                { private header "__concepts/semiregular.h" }
772*4bdff4beSrobert      module swappable                  { private header "__concepts/swappable.h" }
773*4bdff4beSrobert      module totally_ordered            { private header "__concepts/totally_ordered.h" }
774*4bdff4beSrobert    }
775*4bdff4beSrobert  }
776*4bdff4beSrobert  module condition_variable {
777*4bdff4beSrobert    header "condition_variable"
778*4bdff4beSrobert    export *
779*4bdff4beSrobert  }
780*4bdff4beSrobert  module coroutine {
781*4bdff4beSrobert    requires coroutines
782*4bdff4beSrobert    header "coroutine"
783*4bdff4beSrobert    export compare
784*4bdff4beSrobert    export *
785*4bdff4beSrobert
786*4bdff4beSrobert    module __coroutine {
787*4bdff4beSrobert      module coroutine_handle           { private header "__coroutine/coroutine_handle.h" }
788*4bdff4beSrobert      module coroutine_traits           { private header "__coroutine/coroutine_traits.h" }
789*4bdff4beSrobert      module noop_coroutine_handle      { private header "__coroutine/noop_coroutine_handle.h" }
790*4bdff4beSrobert      module trivial_awaitables         { private header "__coroutine/trivial_awaitables.h" }
791*4bdff4beSrobert    }
792*4bdff4beSrobert  }
793*4bdff4beSrobert  module deque {
794*4bdff4beSrobert    header "deque"
795*4bdff4beSrobert    export initializer_list
796*4bdff4beSrobert    export *
797*4bdff4beSrobert  }
798*4bdff4beSrobert  module exception {
799*4bdff4beSrobert    header "exception"
800*4bdff4beSrobert    export *
801*4bdff4beSrobert  }
802*4bdff4beSrobert  module execution {
803*4bdff4beSrobert    header "execution"
804*4bdff4beSrobert    export *
805*4bdff4beSrobert  }
806*4bdff4beSrobert  module expected {
807*4bdff4beSrobert    header "expected"
808*4bdff4beSrobert    export *
809*4bdff4beSrobert
810*4bdff4beSrobert    module __expected {
811*4bdff4beSrobert      module bad_expected_access          { private header "__expected/bad_expected_access.h" }
812*4bdff4beSrobert      module expected                     { private header "__expected/expected.h" }
813*4bdff4beSrobert      module unexpect                     { private header "__expected/unexpect.h" }
814*4bdff4beSrobert      module unexpected                   { private header "__expected/unexpected.h" }
815*4bdff4beSrobert    }
816*4bdff4beSrobert  }
817*4bdff4beSrobert  module filesystem {
818*4bdff4beSrobert    @requires_LIBCXX_ENABLE_FILESYSTEM@
819*4bdff4beSrobert    header "filesystem"
820*4bdff4beSrobert    export *
821*4bdff4beSrobert
822*4bdff4beSrobert    module __filesystem {
823*4bdff4beSrobert      module copy_options                 { private header "__filesystem/copy_options.h" }
824*4bdff4beSrobert      module directory_entry              { private header "__filesystem/directory_entry.h" }
825*4bdff4beSrobert      module directory_iterator           { private header "__filesystem/directory_iterator.h" }
826*4bdff4beSrobert      module directory_options            { private header "__filesystem/directory_options.h" }
827*4bdff4beSrobert      module file_status                  { private header "__filesystem/file_status.h" }
828*4bdff4beSrobert      module file_time_type               { private header "__filesystem/file_time_type.h" }
829*4bdff4beSrobert      module file_type                    { private header "__filesystem/file_type.h" }
830*4bdff4beSrobert      module filesystem_error             { private header "__filesystem/filesystem_error.h" }
831*4bdff4beSrobert      module operations                   { private header "__filesystem/operations.h" }
832*4bdff4beSrobert      module path                         { private header "__filesystem/path.h" }
833*4bdff4beSrobert      module path_iterator                { private header "__filesystem/path_iterator.h" }
834*4bdff4beSrobert      module perm_options                 { private header "__filesystem/perm_options.h" }
835*4bdff4beSrobert      module perms                        { private header "__filesystem/perms.h" }
836*4bdff4beSrobert      module recursive_directory_iterator { private header "__filesystem/recursive_directory_iterator.h" }
837*4bdff4beSrobert      module space_info                   { private header "__filesystem/space_info.h" }
838*4bdff4beSrobert      module u8path                       { private header "__filesystem/u8path.h" }
839*4bdff4beSrobert    }
840*4bdff4beSrobert  }
841*4bdff4beSrobert  module format {
842*4bdff4beSrobert    header "format"
843*4bdff4beSrobert    export *
844*4bdff4beSrobert
845*4bdff4beSrobert    module __format {
846*4bdff4beSrobert      module buffer                          { private header "__format/buffer.h" }
847*4bdff4beSrobert      module concepts                        { private header "__format/concepts.h" }
848*4bdff4beSrobert      module container_adaptor               { private header "__format/container_adaptor.h" }
849*4bdff4beSrobert      module enable_insertable               { private header "__format/enable_insertable.h" }
850*4bdff4beSrobert      module escaped_output_table            { private header "__format/escaped_output_table.h" }
851*4bdff4beSrobert      module extended_grapheme_cluster_table { private header "__format/extended_grapheme_cluster_table.h" }
852*4bdff4beSrobert      module format_arg                      { private header "__format/format_arg.h" }
853*4bdff4beSrobert      module format_arg_store                { private header "__format/format_arg_store.h" }
854*4bdff4beSrobert      module format_args                     { private header "__format/format_args.h" }
855*4bdff4beSrobert      module format_context {
856*4bdff4beSrobert        private header "__format/format_context.h"
857*4bdff4beSrobert        export optional
858*4bdff4beSrobert        export locale
859*4bdff4beSrobert      }
860*4bdff4beSrobert      module format_error                    { private header "__format/format_error.h" }
861*4bdff4beSrobert      module format_functions                { private header "__format/format_functions.h" }
862*4bdff4beSrobert      module format_fwd                      { private header "__format/format_fwd.h" }
863*4bdff4beSrobert      module format_parse_context            { private header "__format/format_parse_context.h" }
864*4bdff4beSrobert      module format_string                   { private header "__format/format_string.h" }
865*4bdff4beSrobert      module format_to_n_result {
866*4bdff4beSrobert        private header "__format/format_to_n_result.h"
867*4bdff4beSrobert        export iterator.__iterator.incrementable_traits
868*4bdff4beSrobert      }
869*4bdff4beSrobert      module formatter                       { private header "__format/formatter.h" }
870*4bdff4beSrobert      module formatter_bool                  { private header "__format/formatter_bool.h" }
871*4bdff4beSrobert      module formatter_char                  { private header "__format/formatter_char.h" }
872*4bdff4beSrobert      module formatter_floating_point        { private header "__format/formatter_floating_point.h" }
873*4bdff4beSrobert      module formatter_integer               { private header "__format/formatter_integer.h" }
874*4bdff4beSrobert      module formatter_integral              { private header "__format/formatter_integral.h" }
875*4bdff4beSrobert      module formatter_output                { private header "__format/formatter_output.h" }
876*4bdff4beSrobert      module formatter_pointer               { private header "__format/formatter_pointer.h" }
877*4bdff4beSrobert      module formatter_string                { private header "__format/formatter_string.h" }
878*4bdff4beSrobert      module formatter_tuple                 { private header "__format/formatter_tuple.h" }
879*4bdff4beSrobert      module parser_std_format_spec          { private header "__format/parser_std_format_spec.h" }
880*4bdff4beSrobert      module range_default_formatter         { private header "__format/range_default_formatter.h" }
881*4bdff4beSrobert      module range_formatter                 { private header "__format/range_formatter.h" }
882*4bdff4beSrobert      module unicode                         { private header "__format/unicode.h" }
883*4bdff4beSrobert    }
884*4bdff4beSrobert  }
885*4bdff4beSrobert  module forward_list {
886*4bdff4beSrobert    header "forward_list"
887*4bdff4beSrobert    export initializer_list
888*4bdff4beSrobert    export *
889*4bdff4beSrobert  }
890*4bdff4beSrobert  module fstream {
891*4bdff4beSrobert    @requires_LIBCXX_ENABLE_LOCALIZATION@
892*4bdff4beSrobert    @requires_LIBCXX_ENABLE_FSTREAM@
893*4bdff4beSrobert    header "fstream"
894*4bdff4beSrobert    export *
895*4bdff4beSrobert  }
896*4bdff4beSrobert  module functional {
897*4bdff4beSrobert    header "functional"
898*4bdff4beSrobert    export *
899*4bdff4beSrobert
900*4bdff4beSrobert    module __functional {
901*4bdff4beSrobert      module binary_function            { private header "__functional/binary_function.h" }
902*4bdff4beSrobert      module binary_negate              { private header "__functional/binary_negate.h" }
903*4bdff4beSrobert      module bind                       { private header "__functional/bind.h" }
904*4bdff4beSrobert      module bind_back                  { private header "__functional/bind_back.h" }
905*4bdff4beSrobert      module bind_front                 { private header "__functional/bind_front.h" }
906*4bdff4beSrobert      module binder1st                  { private header "__functional/binder1st.h" }
907*4bdff4beSrobert      module binder2nd                  { private header "__functional/binder2nd.h" }
908*4bdff4beSrobert      module boyer_moore_searcher       { private header "__functional/boyer_moore_searcher.h" }
909*4bdff4beSrobert      module compose                    { private header "__functional/compose.h" }
910*4bdff4beSrobert      module default_searcher           { private header "__functional/default_searcher.h" }
911*4bdff4beSrobert      module function                   { private header "__functional/function.h" }
912*4bdff4beSrobert      module hash                       { private header "__functional/hash.h" }
913*4bdff4beSrobert      module hash_fwd                   { private header "__fwd/hash.h" }
914*4bdff4beSrobert      module identity                   { private header "__functional/identity.h" }
915*4bdff4beSrobert      module invoke                     {
916*4bdff4beSrobert        private header "__functional/invoke.h"
917*4bdff4beSrobert        export type_traits
918*4bdff4beSrobert      }
919*4bdff4beSrobert      module is_transparent             { private header "__functional/is_transparent.h" }
920*4bdff4beSrobert      module mem_fn                     { private header "__functional/mem_fn.h" }
921*4bdff4beSrobert      module mem_fun_ref                { private header "__functional/mem_fun_ref.h" }
922*4bdff4beSrobert      module not_fn                     { private header "__functional/not_fn.h" }
923*4bdff4beSrobert      module operations                 { private header "__functional/operations.h" }
924*4bdff4beSrobert      module perfect_forward            { private header "__functional/perfect_forward.h" }
925*4bdff4beSrobert      module pointer_to_binary_function { private header "__functional/pointer_to_binary_function.h" }
926*4bdff4beSrobert      module pointer_to_unary_function  { private header "__functional/pointer_to_unary_function.h" }
927*4bdff4beSrobert      module ranges_operations          { private header "__functional/ranges_operations.h" }
928*4bdff4beSrobert      module reference_wrapper          { private header "__functional/reference_wrapper.h" }
929*4bdff4beSrobert      module unary_function             { private header "__functional/unary_function.h" }
930*4bdff4beSrobert      module unary_negate               { private header "__functional/unary_negate.h" }
931*4bdff4beSrobert      module unwrap_ref                 { private header "__functional/unwrap_ref.h" }
932*4bdff4beSrobert      module weak_result_type           { private header "__functional/weak_result_type.h" }
933*4bdff4beSrobert    }
934*4bdff4beSrobert  }
935*4bdff4beSrobert  module future {
936*4bdff4beSrobert    @requires_LIBCXX_ENABLE_THREADS@
937*4bdff4beSrobert    header "future"
938*4bdff4beSrobert    export *
939*4bdff4beSrobert  }
940*4bdff4beSrobert  module initializer_list {
941*4bdff4beSrobert    header "initializer_list"
942*4bdff4beSrobert    export *
943*4bdff4beSrobert  }
944*4bdff4beSrobert  module iomanip {
945*4bdff4beSrobert    @requires_LIBCXX_ENABLE_LOCALIZATION@
946*4bdff4beSrobert    header "iomanip"
947*4bdff4beSrobert    export *
948*4bdff4beSrobert  }
949*4bdff4beSrobert  module ios {
950*4bdff4beSrobert    @requires_LIBCXX_ENABLE_LOCALIZATION@
951*4bdff4beSrobert    header "ios"
952*4bdff4beSrobert    export iosfwd
953*4bdff4beSrobert    export *
954*4bdff4beSrobert
955*4bdff4beSrobert    module __ios {
956*4bdff4beSrobert      module fpos { private header "__ios/fpos.h" }
957*4bdff4beSrobert    }
958*4bdff4beSrobert  }
959*4bdff4beSrobert  module iosfwd {
960*4bdff4beSrobert    header "iosfwd"
961*4bdff4beSrobert    export *
962*4bdff4beSrobert  }
963*4bdff4beSrobert  module iostream {
964*4bdff4beSrobert    @requires_LIBCXX_ENABLE_LOCALIZATION@
965*4bdff4beSrobert    header "iostream"
966*4bdff4beSrobert    export ios
967*4bdff4beSrobert    export streambuf
968*4bdff4beSrobert    export istream
969*4bdff4beSrobert    export ostream
970*4bdff4beSrobert    export *
971*4bdff4beSrobert  }
972*4bdff4beSrobert  module istream {
973*4bdff4beSrobert    @requires_LIBCXX_ENABLE_LOCALIZATION@
974*4bdff4beSrobert    header "istream"
975*4bdff4beSrobert    // FIXME: should re-export ios, streambuf?
976*4bdff4beSrobert    export *
977*4bdff4beSrobert  }
978*4bdff4beSrobert  module iterator {
979*4bdff4beSrobert    header "iterator"
980*4bdff4beSrobert    export *
981*4bdff4beSrobert
982*4bdff4beSrobert    module __iterator {
983*4bdff4beSrobert      module access                { private header "__iterator/access.h" }
984*4bdff4beSrobert      module advance               { private header "__iterator/advance.h" }
985*4bdff4beSrobert      module back_insert_iterator  { private header "__iterator/back_insert_iterator.h" }
986*4bdff4beSrobert      module bounded_iter          { private header "__iterator/bounded_iter.h" }
987*4bdff4beSrobert      module common_iterator       { private header "__iterator/common_iterator.h" }
988*4bdff4beSrobert      module concepts {
989*4bdff4beSrobert        private header "__iterator/concepts.h"
990*4bdff4beSrobert        export concepts.equality_comparable
991*4bdff4beSrobert        export type_traits.common_reference
992*4bdff4beSrobert      }
993*4bdff4beSrobert      module counted_iterator      { private header "__iterator/counted_iterator.h" }
994*4bdff4beSrobert      module data                  { private header "__iterator/data.h" }
995*4bdff4beSrobert      module default_sentinel      { private header "__iterator/default_sentinel.h" }
996*4bdff4beSrobert      module distance              { private header "__iterator/distance.h" }
997*4bdff4beSrobert      module empty                 { private header "__iterator/empty.h" }
998*4bdff4beSrobert      module erase_if_container    { private header "__iterator/erase_if_container.h" }
999*4bdff4beSrobert      module front_insert_iterator { private header "__iterator/front_insert_iterator.h" }
1000*4bdff4beSrobert      module incrementable_traits  { private header "__iterator/incrementable_traits.h" }
1001*4bdff4beSrobert      module indirectly_comparable { private header "__iterator/indirectly_comparable.h" }
1002*4bdff4beSrobert      module insert_iterator       { private header "__iterator/insert_iterator.h" }
1003*4bdff4beSrobert      module istream_iterator      { private header "__iterator/istream_iterator.h" }
1004*4bdff4beSrobert      module istreambuf_iterator   { private header "__iterator/istreambuf_iterator.h" }
1005*4bdff4beSrobert      module iter_move             { private header "__iterator/iter_move.h" }
1006*4bdff4beSrobert      module iter_swap             { private header "__iterator/iter_swap.h" }
1007*4bdff4beSrobert      module iterator              { private header "__iterator/iterator.h" }
1008*4bdff4beSrobert      module iterator_traits       { private header "__iterator/iterator_traits.h" }
1009*4bdff4beSrobert      module iterator_with_data    { private header "__iterator/iterator_with_data.h" }
1010*4bdff4beSrobert      module mergeable {
1011*4bdff4beSrobert        private header "__iterator/mergeable.h"
1012*4bdff4beSrobert        export functional.__functional.ranges_operations
1013*4bdff4beSrobert      }
1014*4bdff4beSrobert      module move_iterator         { private header "__iterator/move_iterator.h" }
1015*4bdff4beSrobert      module move_sentinel         { private header "__iterator/move_sentinel.h" }
1016*4bdff4beSrobert      module next                  { private header "__iterator/next.h" }
1017*4bdff4beSrobert      module ostream_iterator      { private header "__iterator/ostream_iterator.h" }
1018*4bdff4beSrobert      module ostreambuf_iterator   {
1019*4bdff4beSrobert        private header "__iterator/ostreambuf_iterator.h"
1020*4bdff4beSrobert        export iosfwd
1021*4bdff4beSrobert      }
1022*4bdff4beSrobert      module permutable            { private header "__iterator/permutable.h" }
1023*4bdff4beSrobert      module prev                  { private header "__iterator/prev.h" }
1024*4bdff4beSrobert      module projected             { private header "__iterator/projected.h" }
1025*4bdff4beSrobert      module readable_traits       { private header "__iterator/readable_traits.h" }
1026*4bdff4beSrobert      module reverse_access        { private header "__iterator/reverse_access.h" }
1027*4bdff4beSrobert      module reverse_iterator      { private header "__iterator/reverse_iterator.h" }
1028*4bdff4beSrobert      module segmented_iterator    { private header "__iterator/segmented_iterator.h" }
1029*4bdff4beSrobert      module size                  { private header "__iterator/size.h" }
1030*4bdff4beSrobert      module sortable {
1031*4bdff4beSrobert        private header "__iterator/sortable.h"
1032*4bdff4beSrobert        export functional.__functional.ranges_operations
1033*4bdff4beSrobert      }
1034*4bdff4beSrobert      module unreachable_sentinel  { private header "__iterator/unreachable_sentinel.h" }
1035*4bdff4beSrobert      module wrap_iter             { private header "__iterator/wrap_iter.h" }
1036*4bdff4beSrobert    }
1037*4bdff4beSrobert  }
1038*4bdff4beSrobert  module latch {
1039*4bdff4beSrobert    @requires_LIBCXX_ENABLE_THREADS@
1040*4bdff4beSrobert    header "latch"
1041*4bdff4beSrobert    export *
1042*4bdff4beSrobert  }
1043*4bdff4beSrobert
1044*4bdff4beSrobert  module __debug_utils {
1045*4bdff4beSrobert    module randomize_range { private header "__debug_utils/randomize_range.h" }
1046*4bdff4beSrobert  }
1047*4bdff4beSrobert
1048*4bdff4beSrobert  module limits {
1049*4bdff4beSrobert    header "limits"
1050*4bdff4beSrobert    export *
1051*4bdff4beSrobert  }
1052*4bdff4beSrobert  module list {
1053*4bdff4beSrobert    header "list"
1054*4bdff4beSrobert    export initializer_list
1055*4bdff4beSrobert    export *
1056*4bdff4beSrobert  }
1057*4bdff4beSrobert  module locale {
1058*4bdff4beSrobert    @requires_LIBCXX_ENABLE_LOCALIZATION@
1059*4bdff4beSrobert    header "locale"
1060*4bdff4beSrobert    export *
1061*4bdff4beSrobert  }
1062*4bdff4beSrobert  module map {
1063*4bdff4beSrobert    header "map"
1064*4bdff4beSrobert    export initializer_list
1065*4bdff4beSrobert    export *
1066*4bdff4beSrobert  }
1067*4bdff4beSrobert  module memory {
1068*4bdff4beSrobert    header "memory"
1069*4bdff4beSrobert    export *
1070*4bdff4beSrobert
1071*4bdff4beSrobert    module __memory {
1072*4bdff4beSrobert      module addressof                       { private header "__memory/addressof.h" }
1073*4bdff4beSrobert      module align                           { private header "__memory/align.h" }
1074*4bdff4beSrobert      module allocate_at_least               { private header "__memory/allocate_at_least.h" }
1075*4bdff4beSrobert      module allocation_guard                { private header "__memory/allocation_guard.h" }
1076*4bdff4beSrobert      module allocator                       { private header "__memory/allocator.h" }
1077*4bdff4beSrobert      module allocator_arg_t                 { private header "__memory/allocator_arg_t.h" }
1078*4bdff4beSrobert      module allocator_destructor            { private header "__memory/allocator_destructor.h" }
1079*4bdff4beSrobert      module allocator_traits                { private header "__memory/allocator_traits.h" }
1080*4bdff4beSrobert      module assume_aligned                  { private header "__memory/assume_aligned.h" }
1081*4bdff4beSrobert      module auto_ptr                        { private header "__memory/auto_ptr.h" }
1082*4bdff4beSrobert      module builtin_new_allocator           { private header "__memory/builtin_new_allocator.h" }
1083*4bdff4beSrobert      module compressed_pair                 { private header "__memory/compressed_pair.h" }
1084*4bdff4beSrobert      module concepts                        { private header "__memory/concepts.h" }
1085*4bdff4beSrobert      module construct_at                    { private header "__memory/construct_at.h" }
1086*4bdff4beSrobert      module destruct_n                      { private header "__memory/destruct_n.h" }
1087*4bdff4beSrobert      module pointer_traits                  { private header "__memory/pointer_traits.h" }
1088*4bdff4beSrobert      module ranges_construct_at             { private header "__memory/ranges_construct_at.h" }
1089*4bdff4beSrobert      module ranges_uninitialized_algorithms {
1090*4bdff4beSrobert        private header "__memory/ranges_uninitialized_algorithms.h"
1091*4bdff4beSrobert        export algorithm.__algorithm.in_out_result
1092*4bdff4beSrobert      }
1093*4bdff4beSrobert      module raw_storage_iterator            { private header "__memory/raw_storage_iterator.h" }
1094*4bdff4beSrobert      module shared_ptr                      { private header "__memory/shared_ptr.h" }
1095*4bdff4beSrobert      module swap_allocator                  { private header "__memory/swap_allocator.h" }
1096*4bdff4beSrobert      module temp_value                      { private header "__memory/temp_value.h" }
1097*4bdff4beSrobert      module temporary_buffer                { private header "__memory/temporary_buffer.h" }
1098*4bdff4beSrobert      module uninitialized_algorithms        { private header "__memory/uninitialized_algorithms.h" }
1099*4bdff4beSrobert      module unique_ptr                      { private header "__memory/unique_ptr.h" }
1100*4bdff4beSrobert      module uses_allocator                  { private header "__memory/uses_allocator.h" }
1101*4bdff4beSrobert      module uses_allocator_construction     { private header "__memory/uses_allocator_construction.h" }
1102*4bdff4beSrobert      module voidify                         { private header "__memory/voidify.h" }
1103*4bdff4beSrobert    }
1104*4bdff4beSrobert  }
1105*4bdff4beSrobert  module memory_resource {
1106*4bdff4beSrobert    header "memory_resource"
1107*4bdff4beSrobert    export *
1108*4bdff4beSrobert
1109*4bdff4beSrobert    module __memory_resource {
1110*4bdff4beSrobert      module memory_resource              { private header "__memory_resource/memory_resource.h" }
1111*4bdff4beSrobert      module memory_resource_fwd          { private header "__fwd/memory_resource.h" }
1112*4bdff4beSrobert      module monotonic_buffer_resource    { private header "__memory_resource/monotonic_buffer_resource.h" }
1113*4bdff4beSrobert      module polymorphic_allocator        { private header "__memory_resource/polymorphic_allocator.h" }
1114*4bdff4beSrobert      module pool_options                 { private header "__memory_resource/pool_options.h" }
1115*4bdff4beSrobert      module synchronized_pool_resource   { private header "__memory_resource/synchronized_pool_resource.h" }
1116*4bdff4beSrobert      module unsynchronized_pool_resource { private header "__memory_resource/unsynchronized_pool_resource.h" }
1117*4bdff4beSrobert    }
1118*4bdff4beSrobert  }
1119*4bdff4beSrobert  module mutex {
1120*4bdff4beSrobert    @requires_LIBCXX_ENABLE_THREADS@
1121*4bdff4beSrobert    header "mutex"
1122*4bdff4beSrobert    export *
1123*4bdff4beSrobert  }
1124*4bdff4beSrobert  module new {
1125*4bdff4beSrobert    header "new"
1126*4bdff4beSrobert    export *
1127*4bdff4beSrobert  }
1128*4bdff4beSrobert  module numbers {
1129*4bdff4beSrobert    header "numbers"
1130*4bdff4beSrobert    export *
1131*4bdff4beSrobert  }
1132*4bdff4beSrobert  module numeric {
1133*4bdff4beSrobert    header "numeric"
1134*4bdff4beSrobert    export *
1135*4bdff4beSrobert
1136*4bdff4beSrobert    module __numeric {
1137*4bdff4beSrobert      module accumulate               { private header "__numeric/accumulate.h" }
1138*4bdff4beSrobert      module adjacent_difference      { private header "__numeric/adjacent_difference.h" }
1139*4bdff4beSrobert      module exclusive_scan           { private header "__numeric/exclusive_scan.h" }
1140*4bdff4beSrobert      module gcd_lcm                  { private header "__numeric/gcd_lcm.h" }
1141*4bdff4beSrobert      module inclusive_scan           { private header "__numeric/inclusive_scan.h" }
1142*4bdff4beSrobert      module inner_product            { private header "__numeric/inner_product.h" }
1143*4bdff4beSrobert      module iota                     { private header "__numeric/iota.h" }
1144*4bdff4beSrobert      module midpoint                 { private header "__numeric/midpoint.h" }
1145*4bdff4beSrobert      module partial_sum              { private header "__numeric/partial_sum.h" }
1146*4bdff4beSrobert      module reduce                   { private header "__numeric/reduce.h" }
1147*4bdff4beSrobert      module transform_exclusive_scan { private header "__numeric/transform_exclusive_scan.h" }
1148*4bdff4beSrobert      module transform_inclusive_scan { private header "__numeric/transform_inclusive_scan.h" }
1149*4bdff4beSrobert      module transform_reduce         { private header "__numeric/transform_reduce.h" }
1150*4bdff4beSrobert    }
1151*4bdff4beSrobert  }
1152*4bdff4beSrobert  module optional {
1153*4bdff4beSrobert    header "optional"
1154*4bdff4beSrobert    export *
1155*4bdff4beSrobert  }
1156*4bdff4beSrobert  module ostream {
1157*4bdff4beSrobert    @requires_LIBCXX_ENABLE_LOCALIZATION@
1158*4bdff4beSrobert    header "ostream"
1159*4bdff4beSrobert    // FIXME: should re-export ios, streambuf?
1160*4bdff4beSrobert    export *
1161*4bdff4beSrobert  }
1162*4bdff4beSrobert  module queue {
1163*4bdff4beSrobert    header "queue"
1164*4bdff4beSrobert    export initializer_list
1165*4bdff4beSrobert    export *
1166*4bdff4beSrobert  }
1167*4bdff4beSrobert  module random {
1168*4bdff4beSrobert    header "random"
1169*4bdff4beSrobert    export initializer_list
1170*4bdff4beSrobert    export *
1171*4bdff4beSrobert
1172*4bdff4beSrobert    module __random {
1173*4bdff4beSrobert      module bernoulli_distribution          { private header "__random/bernoulli_distribution.h" }
1174*4bdff4beSrobert      module binomial_distribution           { private header "__random/binomial_distribution.h" }
1175*4bdff4beSrobert      module cauchy_distribution             { private header "__random/cauchy_distribution.h" }
1176*4bdff4beSrobert      module chi_squared_distribution        { private header "__random/chi_squared_distribution.h" }
1177*4bdff4beSrobert      module clamp_to_integral               { private header "__random/clamp_to_integral.h" }
1178*4bdff4beSrobert      module default_random_engine           { private header "__random/default_random_engine.h" }
1179*4bdff4beSrobert      module discard_block_engine            { private header "__random/discard_block_engine.h" }
1180*4bdff4beSrobert      module discrete_distribution {
1181*4bdff4beSrobert        private header "__random/discrete_distribution.h"
1182*4bdff4beSrobert        export vector
1183*4bdff4beSrobert      }
1184*4bdff4beSrobert      module exponential_distribution        { private header "__random/exponential_distribution.h" }
1185*4bdff4beSrobert      module extreme_value_distribution      { private header "__random/extreme_value_distribution.h" }
1186*4bdff4beSrobert      module fisher_f_distribution           { private header "__random/fisher_f_distribution.h" }
1187*4bdff4beSrobert      module gamma_distribution              { private header "__random/gamma_distribution.h" }
1188*4bdff4beSrobert      module generate_canonical              { private header "__random/generate_canonical.h" }
1189*4bdff4beSrobert      module geometric_distribution          { private header "__random/geometric_distribution.h" }
1190*4bdff4beSrobert      module independent_bits_engine         { private header "__random/independent_bits_engine.h" }
1191*4bdff4beSrobert      module is_seed_sequence                { private header "__random/is_seed_sequence.h" }
1192*4bdff4beSrobert      module is_valid                        { private header "__random/is_valid.h" }
1193*4bdff4beSrobert      module knuth_b                         { private header "__random/knuth_b.h" }
1194*4bdff4beSrobert      module linear_congruential_engine      { private header "__random/linear_congruential_engine.h" }
1195*4bdff4beSrobert      module log2                            { private header "__random/log2.h" }
1196*4bdff4beSrobert      module lognormal_distribution          { private header "__random/lognormal_distribution.h" }
1197*4bdff4beSrobert      module mersenne_twister_engine         { private header "__random/mersenne_twister_engine.h" }
1198*4bdff4beSrobert      module negative_binomial_distribution  { private header "__random/negative_binomial_distribution.h" }
1199*4bdff4beSrobert      module normal_distribution             { private header "__random/normal_distribution.h" }
1200*4bdff4beSrobert      module piecewise_constant_distribution {
1201*4bdff4beSrobert        private header "__random/piecewise_constant_distribution.h"
1202*4bdff4beSrobert        export vector
1203*4bdff4beSrobert      }
1204*4bdff4beSrobert      module piecewise_linear_distribution {
1205*4bdff4beSrobert        private header "__random/piecewise_linear_distribution.h"
1206*4bdff4beSrobert        export vector
1207*4bdff4beSrobert      }
1208*4bdff4beSrobert      module poisson_distribution            { private header "__random/poisson_distribution.h" }
1209*4bdff4beSrobert      module random_device                   { private header "__random/random_device.h" }
1210*4bdff4beSrobert      module ranlux                          { private header "__random/ranlux.h" }
1211*4bdff4beSrobert      module seed_seq                        { private header "__random/seed_seq.h" }
1212*4bdff4beSrobert      module shuffle_order_engine            { private header "__random/shuffle_order_engine.h" }
1213*4bdff4beSrobert      module student_t_distribution          { private header "__random/student_t_distribution.h" }
1214*4bdff4beSrobert      module subtract_with_carry_engine      { private header "__random/subtract_with_carry_engine.h" }
1215*4bdff4beSrobert      module uniform_int_distribution        { private header "__random/uniform_int_distribution.h" }
1216*4bdff4beSrobert      module uniform_random_bit_generator    { private header "__random/uniform_random_bit_generator.h" }
1217*4bdff4beSrobert      module uniform_real_distribution       { private header "__random/uniform_real_distribution.h" }
1218*4bdff4beSrobert      module weibull_distribution            { private header "__random/weibull_distribution.h" }
1219*4bdff4beSrobert    }
1220*4bdff4beSrobert  }
1221*4bdff4beSrobert  module ranges {
1222*4bdff4beSrobert    header "ranges"
1223*4bdff4beSrobert    export compare
1224*4bdff4beSrobert    export initializer_list
1225*4bdff4beSrobert    export iterator
1226*4bdff4beSrobert    export *
1227*4bdff4beSrobert
1228*4bdff4beSrobert    module __ranges {
1229*4bdff4beSrobert      module access                 { private header "__ranges/access.h" }
1230*4bdff4beSrobert      module all                    {
1231*4bdff4beSrobert        private header "__ranges/all.h"
1232*4bdff4beSrobert        export functional.__functional.compose
1233*4bdff4beSrobert        export functional.__functional.perfect_forward
1234*4bdff4beSrobert      }
1235*4bdff4beSrobert      module as_rvalue_view         { private header "__ranges/as_rvalue_view.h" }
1236*4bdff4beSrobert      module common_view            { private header "__ranges/common_view.h" }
1237*4bdff4beSrobert      module concepts               { private header "__ranges/concepts.h" }
1238*4bdff4beSrobert      module copyable_box           { private header "__ranges/copyable_box.h" }
1239*4bdff4beSrobert      module counted                {
1240*4bdff4beSrobert        private header "__ranges/counted.h"
1241*4bdff4beSrobert        export span
1242*4bdff4beSrobert      }
1243*4bdff4beSrobert      module dangling               { private header "__ranges/dangling.h" }
1244*4bdff4beSrobert      module data                   { private header "__ranges/data.h" }
1245*4bdff4beSrobert      module drop_view              { private header "__ranges/drop_view.h" }
1246*4bdff4beSrobert      module drop_while_view        { private header "__ranges/drop_while_view.h" }
1247*4bdff4beSrobert      module elements_view          { private header "__ranges/elements_view.h" }
1248*4bdff4beSrobert      module empty                  { private header "__ranges/empty.h" }
1249*4bdff4beSrobert      module empty_view             { private header "__ranges/empty_view.h" }
1250*4bdff4beSrobert      module enable_borrowed_range  { private header "__ranges/enable_borrowed_range.h" }
1251*4bdff4beSrobert      module enable_view            { private header "__ranges/enable_view.h" }
1252*4bdff4beSrobert      module filter_view            { private header "__ranges/filter_view.h" }
1253*4bdff4beSrobert      module iota_view              { private header "__ranges/iota_view.h" }
1254*4bdff4beSrobert      module istream_view           {
1255*4bdff4beSrobert        @requires_LIBCXX_ENABLE_LOCALIZATION@
1256*4bdff4beSrobert        private header "__ranges/istream_view.h"
1257*4bdff4beSrobert      }
1258*4bdff4beSrobert      module join_view              { private header "__ranges/join_view.h" }
1259*4bdff4beSrobert      module lazy_split_view        { private header "__ranges/lazy_split_view.h" }
1260*4bdff4beSrobert      module non_propagating_cache  { private header "__ranges/non_propagating_cache.h" }
1261*4bdff4beSrobert      module owning_view            { private header "__ranges/owning_view.h" }
1262*4bdff4beSrobert      module range_adaptor          { private header "__ranges/range_adaptor.h" }
1263*4bdff4beSrobert      module rbegin                 { private header "__ranges/rbegin.h" }
1264*4bdff4beSrobert      module ref_view               { private header "__ranges/ref_view.h" }
1265*4bdff4beSrobert      module rend                   { private header "__ranges/rend.h" }
1266*4bdff4beSrobert      module reverse_view           { private header "__ranges/reverse_view.h" }
1267*4bdff4beSrobert      module single_view            { private header "__ranges/single_view.h" }
1268*4bdff4beSrobert      module size                   { private header "__ranges/size.h" }
1269*4bdff4beSrobert      module split_view             { private header "__ranges/split_view.h" }
1270*4bdff4beSrobert      module subrange               {
1271*4bdff4beSrobert        private header "__ranges/subrange.h"
1272*4bdff4beSrobert
1273*4bdff4beSrobert        module subrange_fwd { private header "__fwd/subrange.h" }
1274*4bdff4beSrobert      }
1275*4bdff4beSrobert      module take_view              { private header "__ranges/take_view.h" }
1276*4bdff4beSrobert      module take_while_view        { private header "__ranges/take_while_view.h" }
1277*4bdff4beSrobert      module transform_view         {
1278*4bdff4beSrobert        private header "__ranges/transform_view.h"
1279*4bdff4beSrobert        export functional.__functional.bind_back
1280*4bdff4beSrobert        export functional.__functional.perfect_forward
1281*4bdff4beSrobert      }
1282*4bdff4beSrobert      module view_interface         { private header "__ranges/view_interface.h" }
1283*4bdff4beSrobert      module views                  { private header "__ranges/views.h" }
1284*4bdff4beSrobert      module zip_view               { private header "__ranges/zip_view.h" }
1285*4bdff4beSrobert    }
1286*4bdff4beSrobert  }
1287*4bdff4beSrobert  module ratio {
1288*4bdff4beSrobert    header "ratio"
1289*4bdff4beSrobert    export *
1290*4bdff4beSrobert  }
1291*4bdff4beSrobert  module regex {
1292*4bdff4beSrobert    @requires_LIBCXX_ENABLE_LOCALIZATION@
1293*4bdff4beSrobert    header "regex"
1294*4bdff4beSrobert    export initializer_list
1295*4bdff4beSrobert    export *
1296*4bdff4beSrobert  }
1297*4bdff4beSrobert  module scoped_allocator {
1298*4bdff4beSrobert    header "scoped_allocator"
1299*4bdff4beSrobert    export *
1300*4bdff4beSrobert  }
1301*4bdff4beSrobert  module semaphore {
1302*4bdff4beSrobert    @requires_LIBCXX_ENABLE_THREADS@
1303*4bdff4beSrobert    header "semaphore"
1304*4bdff4beSrobert    export *
1305*4bdff4beSrobert  }
1306*4bdff4beSrobert  module set {
1307*4bdff4beSrobert    header "set"
1308*4bdff4beSrobert    export initializer_list
1309*4bdff4beSrobert    export *
1310*4bdff4beSrobert  }
1311*4bdff4beSrobert  module shared_mutex {
1312*4bdff4beSrobert    @requires_LIBCXX_ENABLE_THREADS@
1313*4bdff4beSrobert    header "shared_mutex"
1314*4bdff4beSrobert    export version
1315*4bdff4beSrobert  }
1316*4bdff4beSrobert  module source_location {
1317*4bdff4beSrobert    header "source_location"
1318*4bdff4beSrobert    export *
1319*4bdff4beSrobert  }
1320*4bdff4beSrobert  module span {
1321*4bdff4beSrobert    header "span"
1322*4bdff4beSrobert    export ranges.__ranges.enable_borrowed_range
1323*4bdff4beSrobert    export version
1324*4bdff4beSrobert    module span_fwd { private header "__fwd/span.h" }
1325*4bdff4beSrobert  }
1326*4bdff4beSrobert  module sstream {
1327*4bdff4beSrobert    @requires_LIBCXX_ENABLE_LOCALIZATION@
1328*4bdff4beSrobert    header "sstream"
1329*4bdff4beSrobert    // FIXME: should re-export istream, ostream, ios, streambuf, string?
1330*4bdff4beSrobert    export *
1331*4bdff4beSrobert  }
1332*4bdff4beSrobert  module stack {
1333*4bdff4beSrobert    header "stack"
1334*4bdff4beSrobert    export initializer_list
1335*4bdff4beSrobert    export *
1336*4bdff4beSrobert  }
1337*4bdff4beSrobert  module stdexcept {
1338*4bdff4beSrobert    header "stdexcept"
1339*4bdff4beSrobert    export *
1340*4bdff4beSrobert  }
1341*4bdff4beSrobert  module streambuf {
1342*4bdff4beSrobert    @requires_LIBCXX_ENABLE_LOCALIZATION@
1343*4bdff4beSrobert    header "streambuf"
1344*4bdff4beSrobert    export *
1345*4bdff4beSrobert  }
1346*4bdff4beSrobert  module string {
1347*4bdff4beSrobert    header "string"
1348*4bdff4beSrobert    export initializer_list
1349*4bdff4beSrobert    export string_view
1350*4bdff4beSrobert    module __string {
1351*4bdff4beSrobert      module char_traits           { private header "__string/char_traits.h" }
1352*4bdff4beSrobert      module extern_template_lists { private header "__string/extern_template_lists.h" }
1353*4bdff4beSrobert      module string_fwd            { private header "__fwd/string.h" }
1354*4bdff4beSrobert    }
1355*4bdff4beSrobert    export *
1356*4bdff4beSrobert  }
1357*4bdff4beSrobert  module string_view {
1358*4bdff4beSrobert    header "string_view"
1359*4bdff4beSrobert    export initializer_list
1360*4bdff4beSrobert    export *
1361*4bdff4beSrobert    module string_view_fwd { private header "__fwd/string_view.h" }
1362*4bdff4beSrobert  }
1363*4bdff4beSrobert  module strstream {
1364*4bdff4beSrobert    @requires_LIBCXX_ENABLE_LOCALIZATION@
1365*4bdff4beSrobert    header "strstream"
1366*4bdff4beSrobert    export *
1367*4bdff4beSrobert  }
1368*4bdff4beSrobert  module system_error {
1369*4bdff4beSrobert    header "system_error"
1370*4bdff4beSrobert    export *
1371*4bdff4beSrobert  }
1372*4bdff4beSrobert  module thread {
1373*4bdff4beSrobert    @requires_LIBCXX_ENABLE_THREADS@
1374*4bdff4beSrobert    header "thread"
1375*4bdff4beSrobert    export *
1376*4bdff4beSrobert
1377*4bdff4beSrobert    module __thread {
1378*4bdff4beSrobert      module poll_with_backoff    { private header "__thread/poll_with_backoff.h" }
1379*4bdff4beSrobert      module timed_backoff_policy { private header "__thread/timed_backoff_policy.h" }
1380*4bdff4beSrobert    }
1381*4bdff4beSrobert  }
1382*4bdff4beSrobert  module tuple {
1383*4bdff4beSrobert    header "tuple"
1384*4bdff4beSrobert    export *
1385*4bdff4beSrobert
1386*4bdff4beSrobert    module apply_cv         { private header "__tuple_dir/apply_cv.h" }
1387*4bdff4beSrobert    module get_fwd          { private header "__fwd/get.h" }
1388*4bdff4beSrobert    module make_tuple_types { private header "__tuple_dir/make_tuple_types.h" }
1389*4bdff4beSrobert    module pair_like        { private header "__tuple_dir/pair_like.h" }
1390*4bdff4beSrobert    module sfinae_helpers   { private header "__tuple_dir/sfinae_helpers.h" }
1391*4bdff4beSrobert    module tuple_element    { private header "__tuple_dir/tuple_element.h" }
1392*4bdff4beSrobert    module tuple_fwd        { private header "__fwd/tuple.h" }
1393*4bdff4beSrobert    module tuple_indices    { private header "__tuple_dir/tuple_indices.h" }
1394*4bdff4beSrobert    module tuple_like       { private header "__tuple_dir/tuple_like.h" }
1395*4bdff4beSrobert    module tuple_like_ext   { private header "__tuple_dir/tuple_like_ext.h" }
1396*4bdff4beSrobert    module tuple_size       { private header "__tuple_dir/tuple_size.h" }
1397*4bdff4beSrobert    module tuple_types      { private header "__tuple_dir/tuple_types.h" }
1398*4bdff4beSrobert  }
1399*4bdff4beSrobert  module type_traits {
1400*4bdff4beSrobert    header "type_traits"
1401*4bdff4beSrobert    export functional.__functional.unwrap_ref
1402*4bdff4beSrobert    export *
1403*4bdff4beSrobert
1404*4bdff4beSrobert    module add_const                           { private header "__type_traits/add_const.h" }
1405*4bdff4beSrobert    module add_cv                              { private header "__type_traits/add_cv.h" }
1406*4bdff4beSrobert    module add_lvalue_reference                { private header "__type_traits/add_lvalue_reference.h" }
1407*4bdff4beSrobert    module add_pointer                         { private header "__type_traits/add_pointer.h" }
1408*4bdff4beSrobert    module add_rvalue_reference                { private header "__type_traits/add_rvalue_reference.h" }
1409*4bdff4beSrobert    module add_volatile                        { private header "__type_traits/add_volatile.h" }
1410*4bdff4beSrobert    module aligned_storage                     { private header "__type_traits/aligned_storage.h" }
1411*4bdff4beSrobert    module aligned_union                       { private header "__type_traits/aligned_union.h" }
1412*4bdff4beSrobert    module alignment_of                        { private header "__type_traits/alignment_of.h" }
1413*4bdff4beSrobert    module apply_cv                            { private header "__type_traits/apply_cv.h" }
1414*4bdff4beSrobert    module can_extract_key                     { private header "__type_traits/can_extract_key.h" }
1415*4bdff4beSrobert    module common_reference                    { private header "__type_traits/common_reference.h" }
1416*4bdff4beSrobert    module common_type                         { private header "__type_traits/common_type.h" }
1417*4bdff4beSrobert    module conditional                         { private header "__type_traits/conditional.h" }
1418*4bdff4beSrobert    module conjunction                         { private header "__type_traits/conjunction.h" }
1419*4bdff4beSrobert    module copy_cv                             { private header "__type_traits/copy_cv.h" }
1420*4bdff4beSrobert    module copy_cvref                          { private header "__type_traits/copy_cvref.h" }
1421*4bdff4beSrobert    module decay                               { private header "__type_traits/decay.h" }
1422*4bdff4beSrobert    module dependent_type                      { private header "__type_traits/dependent_type.h" }
1423*4bdff4beSrobert    module disjunction                         { private header "__type_traits/disjunction.h" }
1424*4bdff4beSrobert    module enable_if                           { private header "__type_traits/enable_if.h" }
1425*4bdff4beSrobert    module extent                              { private header "__type_traits/extent.h" }
1426*4bdff4beSrobert    module has_unique_object_representation    { private header "__type_traits/has_unique_object_representation.h" }
1427*4bdff4beSrobert    module has_virtual_destructor              { private header "__type_traits/has_virtual_destructor.h" }
1428*4bdff4beSrobert    module integral_constant                   { private header "__type_traits/integral_constant.h" }
1429*4bdff4beSrobert    module is_abstract                         { private header "__type_traits/is_abstract.h" }
1430*4bdff4beSrobert    module is_aggregate                        { private header "__type_traits/is_aggregate.h" }
1431*4bdff4beSrobert    module is_allocator                        { private header "__type_traits/is_allocator.h" }
1432*4bdff4beSrobert    module is_always_bitcastable               { private header "__type_traits/is_always_bitcastable.h" }
1433*4bdff4beSrobert    module is_arithmetic {
1434*4bdff4beSrobert      private header "__type_traits/is_arithmetic.h"
1435*4bdff4beSrobert      export integral_constant
1436*4bdff4beSrobert    }
1437*4bdff4beSrobert    module is_array                            {
1438*4bdff4beSrobert      private header "__type_traits/is_array.h"
1439*4bdff4beSrobert      export integral_constant
1440*4bdff4beSrobert    }
1441*4bdff4beSrobert    module is_assignable                       { private header "__type_traits/is_assignable.h" }
1442*4bdff4beSrobert    module is_base_of                          { private header "__type_traits/is_base_of.h" }
1443*4bdff4beSrobert    module is_bounded_array                    { private header "__type_traits/is_bounded_array.h" }
1444*4bdff4beSrobert    module is_callable                         { private header "__type_traits/is_callable.h" }
1445*4bdff4beSrobert    module is_char_like_type                   { private header "__type_traits/is_char_like_type.h" }
1446*4bdff4beSrobert    module is_class                            { private header "__type_traits/is_class.h" }
1447*4bdff4beSrobert    module is_compound                         { private header "__type_traits/is_compound.h" }
1448*4bdff4beSrobert    module is_const                            { private header "__type_traits/is_const.h" }
1449*4bdff4beSrobert    module is_constant_evaluated               { private header "__type_traits/is_constant_evaluated.h" }
1450*4bdff4beSrobert    module is_constructible                    { private header "__type_traits/is_constructible.h" }
1451*4bdff4beSrobert    module is_convertible                      { private header "__type_traits/is_convertible.h" }
1452*4bdff4beSrobert    module is_copy_assignable                  { private header "__type_traits/is_copy_assignable.h" }
1453*4bdff4beSrobert    module is_copy_constructible               { private header "__type_traits/is_copy_constructible.h" }
1454*4bdff4beSrobert    module is_core_convertible                 {
1455*4bdff4beSrobert      private header "__type_traits/is_core_convertible.h"
1456*4bdff4beSrobert      export integral_constant
1457*4bdff4beSrobert    }
1458*4bdff4beSrobert    module is_default_constructible            { private header "__type_traits/is_default_constructible.h" }
1459*4bdff4beSrobert    module is_destructible                     { private header "__type_traits/is_destructible.h" }
1460*4bdff4beSrobert    module is_empty                            { private header "__type_traits/is_empty.h" }
1461*4bdff4beSrobert    module is_enum                             { private header "__type_traits/is_enum.h" }
1462*4bdff4beSrobert    module is_final                            { private header "__type_traits/is_final.h" }
1463*4bdff4beSrobert    module is_floating_point                   { private header "__type_traits/is_floating_point.h" }
1464*4bdff4beSrobert    module is_function                         { private header "__type_traits/is_function.h" }
1465*4bdff4beSrobert    module is_fundamental                      { private header "__type_traits/is_fundamental.h" }
1466*4bdff4beSrobert    module is_implicitly_default_constructible { private header "__type_traits/is_implicitly_default_constructible.h" }
1467*4bdff4beSrobert    module is_integral                         { private header "__type_traits/is_integral.h" }
1468*4bdff4beSrobert    module is_literal_type                     { private header "__type_traits/is_literal_type.h" }
1469*4bdff4beSrobert    module is_member_function_pointer          { private header "__type_traits/is_member_function_pointer.h" }
1470*4bdff4beSrobert    module is_member_object_pointer            { private header "__type_traits/is_member_object_pointer.h" }
1471*4bdff4beSrobert    module is_member_pointer                   { private header "__type_traits/is_member_pointer.h" }
1472*4bdff4beSrobert    module is_move_assignable                  { private header "__type_traits/is_move_assignable.h" }
1473*4bdff4beSrobert    module is_move_constructible               { private header "__type_traits/is_move_constructible.h" }
1474*4bdff4beSrobert    module is_nothrow_assignable               { private header "__type_traits/is_nothrow_assignable.h" }
1475*4bdff4beSrobert    module is_nothrow_constructible            { private header "__type_traits/is_nothrow_constructible.h" }
1476*4bdff4beSrobert    module is_nothrow_convertible              { private header "__type_traits/is_nothrow_convertible.h" }
1477*4bdff4beSrobert    module is_nothrow_copy_assignable          { private header "__type_traits/is_nothrow_copy_assignable.h" }
1478*4bdff4beSrobert    module is_nothrow_copy_constructible       { private header "__type_traits/is_nothrow_copy_constructible.h" }
1479*4bdff4beSrobert    module is_nothrow_default_constructible    { private header "__type_traits/is_nothrow_default_constructible.h" }
1480*4bdff4beSrobert    module is_nothrow_destructible             { private header "__type_traits/is_nothrow_destructible.h" }
1481*4bdff4beSrobert    module is_nothrow_move_assignable          { private header "__type_traits/is_nothrow_move_assignable.h" }
1482*4bdff4beSrobert    module is_nothrow_move_constructible       { private header "__type_traits/is_nothrow_move_constructible.h" }
1483*4bdff4beSrobert    module is_null_pointer                     { private header "__type_traits/is_null_pointer.h" }
1484*4bdff4beSrobert    module is_object                           { private header "__type_traits/is_object.h" }
1485*4bdff4beSrobert    module is_pod                              { private header "__type_traits/is_pod.h" }
1486*4bdff4beSrobert    module is_pointer                          { private header "__type_traits/is_pointer.h" }
1487*4bdff4beSrobert    module is_polymorphic                      { private header "__type_traits/is_polymorphic.h" }
1488*4bdff4beSrobert    module is_primary_template                 { private header "__type_traits/is_primary_template.h" }
1489*4bdff4beSrobert    module is_reference                        { private header "__type_traits/is_reference.h" }
1490*4bdff4beSrobert    module is_reference_wrapper                { private header "__type_traits/is_reference_wrapper.h" }
1491*4bdff4beSrobert    module is_referenceable                    { private header "__type_traits/is_referenceable.h" }
1492*4bdff4beSrobert    module is_same                             {
1493*4bdff4beSrobert      private header "__type_traits/is_same.h"
1494*4bdff4beSrobert      export type_traits.integral_constant
1495*4bdff4beSrobert    }
1496*4bdff4beSrobert    module is_scalar                           { private header "__type_traits/is_scalar.h" }
1497*4bdff4beSrobert    module is_scoped_enum                      { private header "__type_traits/is_scoped_enum.h" }
1498*4bdff4beSrobert    module is_signed                           { private header "__type_traits/is_signed.h" }
1499*4bdff4beSrobert    module is_signed_integer                   { private header "__type_traits/is_signed_integer.h" }
1500*4bdff4beSrobert    module is_specialization                   { private header "__type_traits/is_specialization.h" }
1501*4bdff4beSrobert    module is_standard_layout                  { private header "__type_traits/is_standard_layout.h" }
1502*4bdff4beSrobert    module is_swappable                        { private header "__type_traits/is_swappable.h" }
1503*4bdff4beSrobert    module is_trivial                          { private header "__type_traits/is_trivial.h" }
1504*4bdff4beSrobert    module is_trivially_assignable             { private header "__type_traits/is_trivially_assignable.h" }
1505*4bdff4beSrobert    module is_trivially_constructible          { private header "__type_traits/is_trivially_constructible.h" }
1506*4bdff4beSrobert    module is_trivially_copy_assignable        { private header "__type_traits/is_trivially_copy_assignable.h" }
1507*4bdff4beSrobert    module is_trivially_copy_constructible     { private header "__type_traits/is_trivially_copy_constructible.h" }
1508*4bdff4beSrobert    module is_trivially_copyable               { private header "__type_traits/is_trivially_copyable.h" }
1509*4bdff4beSrobert    module is_trivially_default_constructible  { private header "__type_traits/is_trivially_default_constructible.h" }
1510*4bdff4beSrobert    module is_trivially_destructible           { private header "__type_traits/is_trivially_destructible.h" }
1511*4bdff4beSrobert    module is_trivially_move_assignable        { private header "__type_traits/is_trivially_move_assignable.h" }
1512*4bdff4beSrobert    module is_trivially_move_constructible     { private header "__type_traits/is_trivially_move_constructible.h" }
1513*4bdff4beSrobert    module is_unbounded_array                  { private header "__type_traits/is_unbounded_array.h" }
1514*4bdff4beSrobert    module is_union                            { private header "__type_traits/is_union.h" }
1515*4bdff4beSrobert    module is_unsigned                         { private header "__type_traits/is_unsigned.h" }
1516*4bdff4beSrobert    module is_unsigned_integer                 { private header "__type_traits/is_unsigned_integer.h" }
1517*4bdff4beSrobert    module is_valid_expansion                  { private header "__type_traits/is_valid_expansion.h" }
1518*4bdff4beSrobert    module is_void                             {
1519*4bdff4beSrobert      private header "__type_traits/is_void.h"
1520*4bdff4beSrobert      export integral_constant
1521*4bdff4beSrobert    }
1522*4bdff4beSrobert    module is_volatile                         { private header "__type_traits/is_volatile.h" }
1523*4bdff4beSrobert    module lazy                                { private header "__type_traits/lazy.h" }
1524*4bdff4beSrobert    module make_32_64_or_128_bit               { private header "__type_traits/make_32_64_or_128_bit.h" }
1525*4bdff4beSrobert    module make_const_lvalue_ref               { private header "__type_traits/make_const_lvalue_ref.h" }
1526*4bdff4beSrobert    module make_signed                         { private header "__type_traits/make_signed.h" }
1527*4bdff4beSrobert    module make_unsigned                       { private header "__type_traits/make_unsigned.h" }
1528*4bdff4beSrobert    module maybe_const                         { private header "__type_traits/maybe_const.h" }
1529*4bdff4beSrobert    module nat                                 { private header "__type_traits/nat.h" }
1530*4bdff4beSrobert    module negation                            { private header "__type_traits/negation.h" }
1531*4bdff4beSrobert    module noexcept_move_assign_container      { private header "__type_traits/noexcept_move_assign_container.h" }
1532*4bdff4beSrobert    module promote                             { private header "__type_traits/promote.h" }
1533*4bdff4beSrobert    module rank                                { private header "__type_traits/rank.h" }
1534*4bdff4beSrobert    module remove_all_extents                  { private header "__type_traits/remove_all_extents.h" }
1535*4bdff4beSrobert    module remove_const                        { private header "__type_traits/remove_const.h" }
1536*4bdff4beSrobert    module remove_const_ref                    { private header "__type_traits/remove_const_ref.h" }
1537*4bdff4beSrobert    module remove_cv                           { private header "__type_traits/remove_cv.h" }
1538*4bdff4beSrobert    module remove_cvref                        { private header "__type_traits/remove_cvref.h" }
1539*4bdff4beSrobert    module remove_extent                       { private header "__type_traits/remove_extent.h" }
1540*4bdff4beSrobert    module remove_pointer                      { private header "__type_traits/remove_pointer.h" }
1541*4bdff4beSrobert    module remove_reference                    { private header "__type_traits/remove_reference.h" }
1542*4bdff4beSrobert    module remove_volatile                     { private header "__type_traits/remove_volatile.h" }
1543*4bdff4beSrobert    module result_of                           { private header "__type_traits/result_of.h" }
1544*4bdff4beSrobert    module strip_signature                     { private header "__type_traits/strip_signature.h" }
1545*4bdff4beSrobert    module type_identity                       { private header "__type_traits/type_identity.h" }
1546*4bdff4beSrobert    module type_list                           { private header "__type_traits/type_list.h" }
1547*4bdff4beSrobert    module underlying_type                     { private header "__type_traits/underlying_type.h" }
1548*4bdff4beSrobert    module void_t                              { private header "__type_traits/void_t.h" }
1549*4bdff4beSrobert  }
1550*4bdff4beSrobert  module typeindex {
1551*4bdff4beSrobert    header "typeindex"
1552*4bdff4beSrobert    export *
1553*4bdff4beSrobert  }
1554*4bdff4beSrobert  module typeinfo {
1555*4bdff4beSrobert    header "typeinfo"
1556*4bdff4beSrobert    export *
1557*4bdff4beSrobert  }
1558*4bdff4beSrobert  module unordered_map {
1559*4bdff4beSrobert    header "unordered_map"
1560*4bdff4beSrobert    export initializer_list
1561*4bdff4beSrobert    export *
1562*4bdff4beSrobert  }
1563*4bdff4beSrobert  module unordered_set {
1564*4bdff4beSrobert    header "unordered_set"
1565*4bdff4beSrobert    export initializer_list
1566*4bdff4beSrobert    export *
1567*4bdff4beSrobert  }
1568*4bdff4beSrobert  module utility {
1569*4bdff4beSrobert    header "utility"
1570*4bdff4beSrobert    export initializer_list
1571*4bdff4beSrobert    export *
1572*4bdff4beSrobert
1573*4bdff4beSrobert    module __utility {
1574*4bdff4beSrobert      module as_const            { private header "__utility/as_const.h" }
1575*4bdff4beSrobert      module auto_cast           { private header "__utility/auto_cast.h" }
1576*4bdff4beSrobert      module cmp                 { private header "__utility/cmp.h" }
1577*4bdff4beSrobert      module convert_to_integral { private header "__utility/convert_to_integral.h" }
1578*4bdff4beSrobert      module declval             { private header "__utility/declval.h" }
1579*4bdff4beSrobert      module exception_guard     { private header "__utility/exception_guard.h" }
1580*4bdff4beSrobert      module exchange            { private header "__utility/exchange.h" }
1581*4bdff4beSrobert      module forward             { private header "__utility/forward.h" }
1582*4bdff4beSrobert      module forward_like        { private header "__utility/forward_like.h" }
1583*4bdff4beSrobert      module in_place            { private header "__utility/in_place.h" }
1584*4bdff4beSrobert      module integer_sequence    { private header "__utility/integer_sequence.h" }
1585*4bdff4beSrobert      module move                { private header "__utility/move.h" }
1586*4bdff4beSrobert      module pair                { private header "__utility/pair.h" }
1587*4bdff4beSrobert      module pair_fwd            { private header "__fwd/pair.h" }
1588*4bdff4beSrobert      module piecewise_construct { private header "__utility/piecewise_construct.h" }
1589*4bdff4beSrobert      module priority_tag        { private header "__utility/priority_tag.h" }
1590*4bdff4beSrobert      module rel_ops             { private header "__utility/rel_ops.h" }
1591*4bdff4beSrobert      module swap                { private header "__utility/swap.h" }
1592*4bdff4beSrobert      module to_underlying       { private header "__utility/to_underlying.h" }
1593*4bdff4beSrobert      module unreachable         { private header "__utility/unreachable.h" }
1594*4bdff4beSrobert    }
1595*4bdff4beSrobert  }
1596*4bdff4beSrobert  module valarray {
1597*4bdff4beSrobert    header "valarray"
1598*4bdff4beSrobert    export initializer_list
1599*4bdff4beSrobert    export *
1600*4bdff4beSrobert  }
1601*4bdff4beSrobert  module variant {
1602*4bdff4beSrobert    header "variant"
1603*4bdff4beSrobert    export *
1604*4bdff4beSrobert
1605*4bdff4beSrobert    module __variant {
1606*4bdff4beSrobert      module monostate { private header "__variant/monostate.h" }
1607*4bdff4beSrobert    }
1608*4bdff4beSrobert  }
1609*4bdff4beSrobert  module vector {
1610*4bdff4beSrobert    header "vector"
1611*4bdff4beSrobert    export initializer_list
1612*4bdff4beSrobert    export *
1613*4bdff4beSrobert  }
1614*4bdff4beSrobert  module version {
1615*4bdff4beSrobert    header "version"
1616*4bdff4beSrobert    export *
1617*4bdff4beSrobert  }
1618*4bdff4beSrobert
1619*4bdff4beSrobert  // FIXME: These should be private.
1620*4bdff4beSrobert  module __assert            {         header "__assert"            export * }
1621*4bdff4beSrobert  module __availability      { private header "__availability"      export * }
1622*4bdff4beSrobert  module __bit_reference     { private header "__bit_reference"     export * }
1623*4bdff4beSrobert  module __debug             {         header "__debug"             export * }
1624*4bdff4beSrobert  module __errc              { private header "__errc"              export * }
1625*4bdff4beSrobert  module __hash_table        {         header "__hash_table"        export * }
1626*4bdff4beSrobert  module __locale            {
1627*4bdff4beSrobert    @requires_LIBCXX_ENABLE_LOCALIZATION@
1628*4bdff4beSrobert    private header "__locale" export *
1629*4bdff4beSrobert  }
1630*4bdff4beSrobert  module __mbstate_t         { private header "__mbstate_t.h"       export * }
1631*4bdff4beSrobert  module __mutex_base        { private header "__mutex_base"        export * }
1632*4bdff4beSrobert  module __node_handle       { private header "__node_handle"       export * }
1633*4bdff4beSrobert  module __split_buffer      { private header "__split_buffer"      export * }
1634*4bdff4beSrobert  module __std_stream        {
1635*4bdff4beSrobert    @requires_LIBCXX_ENABLE_LOCALIZATION@
1636*4bdff4beSrobert    private header "__std_stream" export *
1637*4bdff4beSrobert  }
1638*4bdff4beSrobert  module __threading_support {         header "__threading_support" export * }
1639*4bdff4beSrobert  module __tree              {         header "__tree"              export * }
1640*4bdff4beSrobert  module __undef_macros      {         header "__undef_macros"      export * }
1641*4bdff4beSrobert  module __verbose_abort     {         header "__verbose_abort"     export * }
1642*4bdff4beSrobert
1643*4bdff4beSrobert  module experimental {
1644*4bdff4beSrobert    requires cplusplus11
1645*4bdff4beSrobert
1646*4bdff4beSrobert    module algorithm {
1647*4bdff4beSrobert      header "experimental/algorithm"
1648*4bdff4beSrobert      export *
1649*4bdff4beSrobert    }
1650*4bdff4beSrobert    module coroutine {
1651*4bdff4beSrobert      requires coroutines
1652*4bdff4beSrobert      header "experimental/coroutine"
1653*4bdff4beSrobert      export *
1654*4bdff4beSrobert    }
1655*4bdff4beSrobert    module deque {
1656*4bdff4beSrobert      header "experimental/deque"
1657*4bdff4beSrobert      export *
1658*4bdff4beSrobert    }
1659*4bdff4beSrobert    module forward_list {
1660*4bdff4beSrobert      header "experimental/forward_list"
1661*4bdff4beSrobert      export *
1662*4bdff4beSrobert    }
1663*4bdff4beSrobert    module functional {
1664*4bdff4beSrobert      header "experimental/functional"
1665*4bdff4beSrobert      export *
1666*4bdff4beSrobert    }
1667*4bdff4beSrobert    module iterator {
1668*4bdff4beSrobert      header "experimental/iterator"
1669*4bdff4beSrobert      export *
1670*4bdff4beSrobert    }
1671*4bdff4beSrobert    module list {
1672*4bdff4beSrobert      header "experimental/list"
1673*4bdff4beSrobert      export *
1674*4bdff4beSrobert    }
1675*4bdff4beSrobert    module map {
1676*4bdff4beSrobert      header "experimental/map"
1677*4bdff4beSrobert      export *
1678*4bdff4beSrobert    }
1679*4bdff4beSrobert    module memory_resource {
1680*4bdff4beSrobert      header "experimental/memory_resource"
1681*4bdff4beSrobert      export *
1682*4bdff4beSrobert    }
1683*4bdff4beSrobert    module propagate_const {
1684*4bdff4beSrobert      header "experimental/propagate_const"
1685*4bdff4beSrobert      export *
1686*4bdff4beSrobert    }
1687*4bdff4beSrobert    module regex {
1688*4bdff4beSrobert      @requires_LIBCXX_ENABLE_LOCALIZATION@
1689*4bdff4beSrobert      header "experimental/regex"
1690*4bdff4beSrobert      export *
1691*4bdff4beSrobert    }
1692*4bdff4beSrobert    module simd {
1693*4bdff4beSrobert      header "experimental/simd"
1694*4bdff4beSrobert      export *
1695*4bdff4beSrobert    }
1696*4bdff4beSrobert    module set {
1697*4bdff4beSrobert      header "experimental/set"
1698*4bdff4beSrobert      export *
1699*4bdff4beSrobert    }
1700*4bdff4beSrobert    module span {
1701*4bdff4beSrobert      header "span"
1702*4bdff4beSrobert      export *
1703*4bdff4beSrobert    }
1704*4bdff4beSrobert    module string {
1705*4bdff4beSrobert      header "experimental/string"
1706*4bdff4beSrobert      export *
1707*4bdff4beSrobert    }
1708*4bdff4beSrobert    module type_traits {
1709*4bdff4beSrobert      header "experimental/type_traits"
1710*4bdff4beSrobert      export *
1711*4bdff4beSrobert    }
1712*4bdff4beSrobert    module unordered_map {
1713*4bdff4beSrobert      header "experimental/unordered_map"
1714*4bdff4beSrobert      export *
1715*4bdff4beSrobert    }
1716*4bdff4beSrobert    module unordered_set {
1717*4bdff4beSrobert      header "experimental/unordered_set"
1718*4bdff4beSrobert      export *
1719*4bdff4beSrobert    }
1720*4bdff4beSrobert    module utility {
1721*4bdff4beSrobert      header "experimental/utility"
1722*4bdff4beSrobert      export *
1723*4bdff4beSrobert    }
1724*4bdff4beSrobert    module vector {
1725*4bdff4beSrobert      header "experimental/vector"
1726*4bdff4beSrobert      export *
1727*4bdff4beSrobert    }
1728*4bdff4beSrobert    // FIXME these should be private
1729*4bdff4beSrobert    module __memory {
1730*4bdff4beSrobert      header "experimental/__memory"
1731*4bdff4beSrobert      export *
1732*4bdff4beSrobert    }
1733*4bdff4beSrobert  } // end experimental
1734*4bdff4beSrobert}
1735