10b57cec5SDimitry Andric// define the module for __config outside of the top level 'std' module 20b57cec5SDimitry Andric// since __config may be included from C headers which may create an 30b57cec5SDimitry Andric// include cycle. 40b57cec5SDimitry Andricmodule std_config [system] [extern_c] { 50b57cec5SDimitry Andric header "__config" 60b57cec5SDimitry Andric} 70b57cec5SDimitry Andric 80b57cec5SDimitry Andricmodule std [system] { 90b57cec5SDimitry Andric export std_config 100b57cec5SDimitry Andric // FIXME: The standard does not require that each of these submodules 110b57cec5SDimitry Andric // re-exports its imported modules. We should provide an alternative form of 120b57cec5SDimitry Andric // export that issues a warning if a name from the submodule is used, and 130b57cec5SDimitry Andric // use that to provide a 'strict mode' for libc++. 140b57cec5SDimitry Andric 150b57cec5SDimitry Andric // Deprecated C-compatibility headers. These can all be included from within 160b57cec5SDimitry Andric // an 'extern "C"' context. 170b57cec5SDimitry Andric module depr [extern_c] { 180b57cec5SDimitry Andric // <assert.h> provided by C library. 190b57cec5SDimitry Andric module ctype_h { 200b57cec5SDimitry Andric header "ctype.h" 210b57cec5SDimitry Andric export * 220b57cec5SDimitry Andric } 230b57cec5SDimitry Andric module errno_h { 240b57cec5SDimitry Andric header "errno.h" 250b57cec5SDimitry Andric export * 260b57cec5SDimitry Andric } 270b57cec5SDimitry Andric module fenv_h { 280b57cec5SDimitry Andric header "fenv.h" 290b57cec5SDimitry Andric export * 300b57cec5SDimitry Andric } 310b57cec5SDimitry Andric // <float.h> provided by compiler or C library. 320b57cec5SDimitry Andric module inttypes_h { 330b57cec5SDimitry Andric header "inttypes.h" 340b57cec5SDimitry Andric export stdint_h 350b57cec5SDimitry Andric export * 360b57cec5SDimitry Andric } 370b57cec5SDimitry Andric // <iso646.h> provided by compiler. 380b57cec5SDimitry Andric // <limits.h> provided by compiler or C library. 390b57cec5SDimitry Andric module locale_h { 400b57cec5SDimitry Andric header "locale.h" 410b57cec5SDimitry Andric export * 420b57cec5SDimitry Andric } 430b57cec5SDimitry Andric module math_h { 440b57cec5SDimitry Andric header "math.h" 450b57cec5SDimitry Andric export * 460b57cec5SDimitry Andric } 470b57cec5SDimitry Andric module setjmp_h { 480b57cec5SDimitry Andric header "setjmp.h" 490b57cec5SDimitry Andric export * 500b57cec5SDimitry Andric } 510b57cec5SDimitry Andric // FIXME: <stdalign.h> is missing. 520b57cec5SDimitry Andric // <signal.h> provided by C library. 530b57cec5SDimitry Andric // <stdarg.h> provided by compiler. 540b57cec5SDimitry Andric // <stdbool.h> provided by compiler. 550b57cec5SDimitry Andric module stddef_h { 560b57cec5SDimitry Andric // <stddef.h>'s __need_* macros require textual inclusion. 570b57cec5SDimitry Andric textual header "stddef.h" 580b57cec5SDimitry Andric } 590b57cec5SDimitry Andric module stdint_h { 600b57cec5SDimitry Andric header "stdint.h" 610b57cec5SDimitry Andric export * 620b57cec5SDimitry Andric // FIXME: This module only exists on OS X and for some reason the 630b57cec5SDimitry Andric // wildcard above doesn't export it. 640b57cec5SDimitry Andric export Darwin.C.stdint 650b57cec5SDimitry Andric } 660b57cec5SDimitry Andric module stdio_h { 670b57cec5SDimitry Andric // <stdio.h>'s __need_* macros require textual inclusion. 680b57cec5SDimitry Andric textual header "stdio.h" 690b57cec5SDimitry Andric export * 700b57cec5SDimitry Andric export Darwin.C.stdio 710b57cec5SDimitry Andric } 720b57cec5SDimitry Andric module stdlib_h { 730b57cec5SDimitry Andric // <stdlib.h>'s __need_* macros require textual inclusion. 740b57cec5SDimitry Andric textual header "stdlib.h" 750b57cec5SDimitry Andric export * 760b57cec5SDimitry Andric } 770b57cec5SDimitry Andric module string_h { 780b57cec5SDimitry Andric header "string.h" 790b57cec5SDimitry Andric export * 800b57cec5SDimitry Andric } 810b57cec5SDimitry Andric // FIXME: <uchar.h> is missing. 820b57cec5SDimitry Andric // <time.h> provided by C library. 830b57cec5SDimitry Andric module wchar_h { 840b57cec5SDimitry Andric // <wchar.h>'s __need_* macros require textual inclusion. 850b57cec5SDimitry Andric textual header "wchar.h" 860b57cec5SDimitry Andric export * 870b57cec5SDimitry Andric } 880b57cec5SDimitry Andric module wctype_h { 890b57cec5SDimitry Andric header "wctype.h" 900b57cec5SDimitry Andric export * 910b57cec5SDimitry Andric } 920b57cec5SDimitry Andric } 930b57cec5SDimitry Andric 940b57cec5SDimitry Andric // <complex.h> and <tgmath.h> are not C headers in any real sense, do not 950b57cec5SDimitry Andric // allow their use in extern "C" contexts. 960b57cec5SDimitry Andric module complex_h { 970b57cec5SDimitry Andric header "complex.h" 980b57cec5SDimitry Andric export ccomplex 990b57cec5SDimitry Andric export * 1000b57cec5SDimitry Andric } 1010b57cec5SDimitry Andric module tgmath_h { 1020b57cec5SDimitry Andric header "tgmath.h" 1030b57cec5SDimitry Andric export ccomplex 1040b57cec5SDimitry Andric export cmath 1050b57cec5SDimitry Andric export * 1060b57cec5SDimitry Andric } 1070b57cec5SDimitry Andric 1080b57cec5SDimitry Andric // C compatibility headers. 1090b57cec5SDimitry Andric module compat { 1100b57cec5SDimitry Andric module cassert { 1110b57cec5SDimitry Andric // <cassert>'s use of NDEBUG requires textual inclusion. 1120b57cec5SDimitry Andric textual header "cassert" 1130b57cec5SDimitry Andric } 1140b57cec5SDimitry Andric module ccomplex { 1150b57cec5SDimitry Andric header "ccomplex" 1160b57cec5SDimitry Andric export complex 1170b57cec5SDimitry Andric export * 1180b57cec5SDimitry Andric } 1190b57cec5SDimitry Andric module cctype { 1200b57cec5SDimitry Andric header "cctype" 1210b57cec5SDimitry Andric export * 1220b57cec5SDimitry Andric } 1230b57cec5SDimitry Andric module cerrno { 1240b57cec5SDimitry Andric header "cerrno" 1250b57cec5SDimitry Andric export * 1260b57cec5SDimitry Andric } 1270b57cec5SDimitry Andric module cfenv { 1280b57cec5SDimitry Andric header "cfenv" 1290b57cec5SDimitry Andric export * 1300b57cec5SDimitry Andric } 1310b57cec5SDimitry Andric module cfloat { 1320b57cec5SDimitry Andric header "cfloat" 1330b57cec5SDimitry Andric export * 1340b57cec5SDimitry Andric } 1350b57cec5SDimitry Andric module cinttypes { 1360b57cec5SDimitry Andric header "cinttypes" 1370b57cec5SDimitry Andric export cstdint 1380b57cec5SDimitry Andric export * 1390b57cec5SDimitry Andric } 1400b57cec5SDimitry Andric module ciso646 { 1410b57cec5SDimitry Andric header "ciso646" 1420b57cec5SDimitry Andric export * 1430b57cec5SDimitry Andric } 1440b57cec5SDimitry Andric module climits { 1450b57cec5SDimitry Andric header "climits" 1460b57cec5SDimitry Andric export * 1470b57cec5SDimitry Andric } 1480b57cec5SDimitry Andric module clocale { 1490b57cec5SDimitry Andric header "clocale" 1500b57cec5SDimitry Andric export * 1510b57cec5SDimitry Andric } 1520b57cec5SDimitry Andric module cmath { 1530b57cec5SDimitry Andric header "cmath" 1540b57cec5SDimitry Andric export * 1550b57cec5SDimitry Andric } 1560b57cec5SDimitry Andric module csetjmp { 1570b57cec5SDimitry Andric header "csetjmp" 1580b57cec5SDimitry Andric export * 1590b57cec5SDimitry Andric } 1600b57cec5SDimitry Andric module csignal { 1610b57cec5SDimitry Andric header "csignal" 1620b57cec5SDimitry Andric export * 1630b57cec5SDimitry Andric } 1640b57cec5SDimitry Andric // FIXME: <cstdalign> is missing. 1650b57cec5SDimitry Andric module cstdarg { 1660b57cec5SDimitry Andric header "cstdarg" 1670b57cec5SDimitry Andric export * 1680b57cec5SDimitry Andric } 1690b57cec5SDimitry Andric module cstdbool { 1700b57cec5SDimitry Andric header "cstdbool" 1710b57cec5SDimitry Andric export * 1720b57cec5SDimitry Andric } 1730b57cec5SDimitry Andric module cstddef { 1740b57cec5SDimitry Andric header "cstddef" 1750b57cec5SDimitry Andric export * 1760b57cec5SDimitry Andric } 1770b57cec5SDimitry Andric module cstdint { 1780b57cec5SDimitry Andric header "cstdint" 1790b57cec5SDimitry Andric export depr.stdint_h 1800b57cec5SDimitry Andric export * 1810b57cec5SDimitry Andric } 1820b57cec5SDimitry Andric module cstdio { 1830b57cec5SDimitry Andric header "cstdio" 1840b57cec5SDimitry Andric export * 1850b57cec5SDimitry Andric } 1860b57cec5SDimitry Andric module cstdlib { 1870b57cec5SDimitry Andric header "cstdlib" 1880b57cec5SDimitry Andric export * 1890b57cec5SDimitry Andric } 1900b57cec5SDimitry Andric module cstring { 1910b57cec5SDimitry Andric header "cstring" 1920b57cec5SDimitry Andric export * 1930b57cec5SDimitry Andric } 1940b57cec5SDimitry Andric module ctgmath { 1950b57cec5SDimitry Andric header "ctgmath" 1960b57cec5SDimitry Andric export ccomplex 1970b57cec5SDimitry Andric export cmath 1980b57cec5SDimitry Andric export * 1990b57cec5SDimitry Andric } 2000b57cec5SDimitry Andric module ctime { 2010b57cec5SDimitry Andric header "ctime" 2020b57cec5SDimitry Andric export * 2030b57cec5SDimitry Andric } 2040b57cec5SDimitry Andric // FIXME: <cuchar> is missing. 2050b57cec5SDimitry Andric module cwchar { 2060b57cec5SDimitry Andric header "cwchar" 2070b57cec5SDimitry Andric export depr.stdio_h 2080b57cec5SDimitry Andric export * 2090b57cec5SDimitry Andric } 2100b57cec5SDimitry Andric module cwctype { 2110b57cec5SDimitry Andric header "cwctype" 2120b57cec5SDimitry Andric export * 2130b57cec5SDimitry Andric } 2140b57cec5SDimitry Andric } 2150b57cec5SDimitry Andric 2160b57cec5SDimitry Andric module algorithm { 2170b57cec5SDimitry Andric header "algorithm" 2180b57cec5SDimitry Andric export initializer_list 2190b57cec5SDimitry Andric export * 220*5f7ddb14SDimitry Andric 221*5f7ddb14SDimitry Andric module __algorithm { 222*5f7ddb14SDimitry Andric module adjacent_find { private header "__algorithm/adjacent_find.h" } 223*5f7ddb14SDimitry Andric module all_of { private header "__algorithm/all_of.h" } 224*5f7ddb14SDimitry Andric module any_of { private header "__algorithm/any_of.h" } 225*5f7ddb14SDimitry Andric module binary_search { private header "__algorithm/binary_search.h" } 226*5f7ddb14SDimitry Andric module clamp { private header "__algorithm/clamp.h" } 227*5f7ddb14SDimitry Andric module comp { private header "__algorithm/comp.h" } 228*5f7ddb14SDimitry Andric module comp_ref_type { private header "__algorithm/comp_ref_type.h" } 229*5f7ddb14SDimitry Andric module copy { private header "__algorithm/copy.h" } 230*5f7ddb14SDimitry Andric module copy_backward { private header "__algorithm/copy_backward.h" } 231*5f7ddb14SDimitry Andric module copy_if { private header "__algorithm/copy_if.h" } 232*5f7ddb14SDimitry Andric module copy_n { private header "__algorithm/copy_n.h" } 233*5f7ddb14SDimitry Andric module count { private header "__algorithm/count.h" } 234*5f7ddb14SDimitry Andric module count_if { private header "__algorithm/count_if.h" } 235*5f7ddb14SDimitry Andric module equal { private header "__algorithm/equal.h" } 236*5f7ddb14SDimitry Andric module equal_range { private header "__algorithm/equal_range.h" } 237*5f7ddb14SDimitry Andric module fill { private header "__algorithm/fill.h" } 238*5f7ddb14SDimitry Andric module fill_n { private header "__algorithm/fill_n.h" } 239*5f7ddb14SDimitry Andric module find { private header "__algorithm/find.h" } 240*5f7ddb14SDimitry Andric module find_end { private header "__algorithm/find_end.h" } 241*5f7ddb14SDimitry Andric module find_first_of { private header "__algorithm/find_first_of.h" } 242*5f7ddb14SDimitry Andric module find_if { private header "__algorithm/find_if.h" } 243*5f7ddb14SDimitry Andric module find_if_not { private header "__algorithm/find_if_not.h" } 244*5f7ddb14SDimitry Andric module for_each { private header "__algorithm/for_each.h" } 245*5f7ddb14SDimitry Andric module for_each_n { private header "__algorithm/for_each_n.h" } 246*5f7ddb14SDimitry Andric module generate { private header "__algorithm/generate.h" } 247*5f7ddb14SDimitry Andric module generate_n { private header "__algorithm/generate_n.h" } 248*5f7ddb14SDimitry Andric module half_positive { private header "__algorithm/half_positive.h" } 249*5f7ddb14SDimitry Andric module includes { private header "__algorithm/includes.h" } 250*5f7ddb14SDimitry Andric module inplace_merge { private header "__algorithm/inplace_merge.h" } 251*5f7ddb14SDimitry Andric module is_heap { private header "__algorithm/is_heap.h" } 252*5f7ddb14SDimitry Andric module is_heap_until { private header "__algorithm/is_heap_until.h" } 253*5f7ddb14SDimitry Andric module is_partitioned { private header "__algorithm/is_partitioned.h" } 254*5f7ddb14SDimitry Andric module is_permutation { private header "__algorithm/is_permutation.h" } 255*5f7ddb14SDimitry Andric module is_sorted { private header "__algorithm/is_sorted.h" } 256*5f7ddb14SDimitry Andric module is_sorted_until { private header "__algorithm/is_sorted_until.h" } 257*5f7ddb14SDimitry Andric module iter_swap { private header "__algorithm/iter_swap.h" } 258*5f7ddb14SDimitry Andric module lexicographical_compare { private header "__algorithm/lexicographical_compare.h" } 259*5f7ddb14SDimitry Andric module lower_bound { private header "__algorithm/lower_bound.h" } 260*5f7ddb14SDimitry Andric module make_heap { private header "__algorithm/make_heap.h" } 261*5f7ddb14SDimitry Andric module max { private header "__algorithm/max.h" } 262*5f7ddb14SDimitry Andric module max_element { private header "__algorithm/max_element.h" } 263*5f7ddb14SDimitry Andric module merge { private header "__algorithm/merge.h" } 264*5f7ddb14SDimitry Andric module min { private header "__algorithm/min.h" } 265*5f7ddb14SDimitry Andric module min_element { private header "__algorithm/min_element.h" } 266*5f7ddb14SDimitry Andric module minmax { private header "__algorithm/minmax.h" } 267*5f7ddb14SDimitry Andric module minmax_element { private header "__algorithm/minmax_element.h" } 268*5f7ddb14SDimitry Andric module mismatch { private header "__algorithm/mismatch.h" } 269*5f7ddb14SDimitry Andric module move { private header "__algorithm/move.h" } 270*5f7ddb14SDimitry Andric module move_backward { private header "__algorithm/move_backward.h" } 271*5f7ddb14SDimitry Andric module next_permutation { private header "__algorithm/next_permutation.h" } 272*5f7ddb14SDimitry Andric module none_of { private header "__algorithm/none_of.h" } 273*5f7ddb14SDimitry Andric module nth_element { private header "__algorithm/nth_element.h" } 274*5f7ddb14SDimitry Andric module partial_sort { private header "__algorithm/partial_sort.h" } 275*5f7ddb14SDimitry Andric module partial_sort_copy { private header "__algorithm/partial_sort_copy.h" } 276*5f7ddb14SDimitry Andric module partition { private header "__algorithm/partition.h" } 277*5f7ddb14SDimitry Andric module partition_copy { private header "__algorithm/partition_copy.h" } 278*5f7ddb14SDimitry Andric module partition_point { private header "__algorithm/partition_point.h" } 279*5f7ddb14SDimitry Andric module pop_heap { private header "__algorithm/pop_heap.h" } 280*5f7ddb14SDimitry Andric module prev_permutation { private header "__algorithm/prev_permutation.h" } 281*5f7ddb14SDimitry Andric module push_heap { private header "__algorithm/push_heap.h" } 282*5f7ddb14SDimitry Andric module remove { private header "__algorithm/remove.h" } 283*5f7ddb14SDimitry Andric module remove_copy { private header "__algorithm/remove_copy.h" } 284*5f7ddb14SDimitry Andric module remove_copy_if { private header "__algorithm/remove_copy_if.h" } 285*5f7ddb14SDimitry Andric module remove_if { private header "__algorithm/remove_if.h" } 286*5f7ddb14SDimitry Andric module replace { private header "__algorithm/replace.h" } 287*5f7ddb14SDimitry Andric module replace_copy { private header "__algorithm/replace_copy.h" } 288*5f7ddb14SDimitry Andric module replace_copy_if { private header "__algorithm/replace_copy_if.h" } 289*5f7ddb14SDimitry Andric module replace_if { private header "__algorithm/replace_if.h" } 290*5f7ddb14SDimitry Andric module reverse { private header "__algorithm/reverse.h" } 291*5f7ddb14SDimitry Andric module reverse_copy { private header "__algorithm/reverse_copy.h" } 292*5f7ddb14SDimitry Andric module rotate { private header "__algorithm/rotate.h" } 293*5f7ddb14SDimitry Andric module rotate_copy { private header "__algorithm/rotate_copy.h" } 294*5f7ddb14SDimitry Andric module sample { private header "__algorithm/sample.h" } 295*5f7ddb14SDimitry Andric module search { private header "__algorithm/search.h" } 296*5f7ddb14SDimitry Andric module search_n { private header "__algorithm/search_n.h" } 297*5f7ddb14SDimitry Andric module set_difference { private header "__algorithm/set_difference.h" } 298*5f7ddb14SDimitry Andric module set_intersection { private header "__algorithm/set_intersection.h" } 299*5f7ddb14SDimitry Andric module set_symmetric_difference { private header "__algorithm/set_symmetric_difference.h" } 300*5f7ddb14SDimitry Andric module set_union { private header "__algorithm/set_union.h" } 301*5f7ddb14SDimitry Andric module shift_left { private header "__algorithm/shift_left.h" } 302*5f7ddb14SDimitry Andric module shift_right { private header "__algorithm/shift_right.h" } 303*5f7ddb14SDimitry Andric module shuffle { private header "__algorithm/shuffle.h" } 304*5f7ddb14SDimitry Andric module sift_down { private header "__algorithm/sift_down.h" } 305*5f7ddb14SDimitry Andric module sort { private header "__algorithm/sort.h" } 306*5f7ddb14SDimitry Andric module sort_heap { private header "__algorithm/sort_heap.h" } 307*5f7ddb14SDimitry Andric module stable_partition { private header "__algorithm/stable_partition.h" } 308*5f7ddb14SDimitry Andric module stable_sort { private header "__algorithm/stable_sort.h" } 309*5f7ddb14SDimitry Andric module swap_ranges { private header "__algorithm/swap_ranges.h" } 310*5f7ddb14SDimitry Andric module transform { private header "__algorithm/transform.h" } 311*5f7ddb14SDimitry Andric module unique { private header "__algorithm/unique.h" } 312*5f7ddb14SDimitry Andric module unique_copy { private header "__algorithm/unique_copy.h" } 313*5f7ddb14SDimitry Andric module unwrap_iter { private header "__algorithm/unwrap_iter.h" } 314*5f7ddb14SDimitry Andric module upper_bound { private header "__algorithm/upper_bound.h" } 315*5f7ddb14SDimitry Andric } 3160b57cec5SDimitry Andric } 3170b57cec5SDimitry Andric module any { 3180b57cec5SDimitry Andric header "any" 3190b57cec5SDimitry Andric export * 3200b57cec5SDimitry Andric } 3210b57cec5SDimitry Andric module array { 3220b57cec5SDimitry Andric header "array" 3230b57cec5SDimitry Andric export initializer_list 3240b57cec5SDimitry Andric export * 3250b57cec5SDimitry Andric } 3260b57cec5SDimitry Andric module atomic { 3270b57cec5SDimitry Andric header "atomic" 3280b57cec5SDimitry Andric export * 3290b57cec5SDimitry Andric } 3305ffd83dbSDimitry Andric module barrier { 3315ffd83dbSDimitry Andric requires cplusplus14 3325ffd83dbSDimitry Andric header "barrier" 3335ffd83dbSDimitry Andric export * 3345ffd83dbSDimitry Andric } 3350b57cec5SDimitry Andric module bit { 3360b57cec5SDimitry Andric header "bit" 3370b57cec5SDimitry Andric export * 3380b57cec5SDimitry Andric } 3390b57cec5SDimitry Andric module bitset { 3400b57cec5SDimitry Andric header "bitset" 3410b57cec5SDimitry Andric export string 3420b57cec5SDimitry Andric export iosfwd 3430b57cec5SDimitry Andric export * 3440b57cec5SDimitry Andric } 3450b57cec5SDimitry Andric // No submodule for cassert. It fundamentally needs repeated, textual inclusion. 3460b57cec5SDimitry Andric module charconv { 3470b57cec5SDimitry Andric header "charconv" 3480b57cec5SDimitry Andric export * 3490b57cec5SDimitry Andric } 3500b57cec5SDimitry Andric module chrono { 3510b57cec5SDimitry Andric header "chrono" 3520b57cec5SDimitry Andric export * 3530b57cec5SDimitry Andric } 3540b57cec5SDimitry Andric module codecvt { 3550b57cec5SDimitry Andric header "codecvt" 3560b57cec5SDimitry Andric export * 3570b57cec5SDimitry Andric } 3580b57cec5SDimitry Andric module compare { 3590b57cec5SDimitry Andric header "compare" 3600b57cec5SDimitry Andric export * 3610b57cec5SDimitry Andric } 3620b57cec5SDimitry Andric module complex { 3630b57cec5SDimitry Andric header "complex" 3640b57cec5SDimitry Andric export * 3650b57cec5SDimitry Andric } 3665ffd83dbSDimitry Andric module concepts { 3675ffd83dbSDimitry Andric header "concepts" 3685ffd83dbSDimitry Andric export * 3695ffd83dbSDimitry Andric } 3700b57cec5SDimitry Andric module condition_variable { 3710b57cec5SDimitry Andric header "condition_variable" 3720b57cec5SDimitry Andric export * 3730b57cec5SDimitry Andric } 3740b57cec5SDimitry Andric module deque { 3750b57cec5SDimitry Andric header "deque" 3760b57cec5SDimitry Andric export initializer_list 3770b57cec5SDimitry Andric export * 3780b57cec5SDimitry Andric } 3790b57cec5SDimitry Andric module exception { 3800b57cec5SDimitry Andric header "exception" 3810b57cec5SDimitry Andric export * 3820b57cec5SDimitry Andric } 383e40139ffSDimitry Andric module execution { 384e40139ffSDimitry Andric header "execution" 385e40139ffSDimitry Andric export * 386e40139ffSDimitry Andric } 3870b57cec5SDimitry Andric module filesystem { 3880b57cec5SDimitry Andric header "filesystem" 3890b57cec5SDimitry Andric export * 3900b57cec5SDimitry Andric } 391*5f7ddb14SDimitry Andric module format { 392*5f7ddb14SDimitry Andric header "format" 393*5f7ddb14SDimitry Andric export * 394*5f7ddb14SDimitry Andric 395*5f7ddb14SDimitry Andric module __format { 396*5f7ddb14SDimitry Andric module format_error { private header "__format/format_error.h" } 397*5f7ddb14SDimitry Andric module format_parse_context { private header "__format/format_parse_context.h" } 398*5f7ddb14SDimitry Andric } 399*5f7ddb14SDimitry Andric } 4000b57cec5SDimitry Andric module forward_list { 4010b57cec5SDimitry Andric header "forward_list" 4020b57cec5SDimitry Andric export initializer_list 4030b57cec5SDimitry Andric export * 4040b57cec5SDimitry Andric } 4050b57cec5SDimitry Andric module fstream { 4060b57cec5SDimitry Andric header "fstream" 4070b57cec5SDimitry Andric export * 4080b57cec5SDimitry Andric } 4090b57cec5SDimitry Andric module functional { 4100b57cec5SDimitry Andric header "functional" 4110b57cec5SDimitry Andric export * 412*5f7ddb14SDimitry Andric 413*5f7ddb14SDimitry Andric module __functional { 414*5f7ddb14SDimitry Andric module binary_function { private header "__functional/binary_function.h" } 415*5f7ddb14SDimitry Andric module binary_negate { private header "__functional/binary_negate.h" } 416*5f7ddb14SDimitry Andric module bind { private header "__functional/bind.h" } 417*5f7ddb14SDimitry Andric module bind_front { private header "__functional/bind_front.h" } 418*5f7ddb14SDimitry Andric module binder1st { private header "__functional/binder1st.h" } 419*5f7ddb14SDimitry Andric module binder2nd { private header "__functional/binder2nd.h" } 420*5f7ddb14SDimitry Andric module default_searcher { private header "__functional/default_searcher.h" } 421*5f7ddb14SDimitry Andric module function { private header "__functional/function.h" } 422*5f7ddb14SDimitry Andric module hash { private header "__functional/hash.h" } 423*5f7ddb14SDimitry Andric module identity { private header "__functional/identity.h" } 424*5f7ddb14SDimitry Andric module is_transparent { private header "__functional/is_transparent.h" } 425*5f7ddb14SDimitry Andric module invoke { private header "__functional/invoke.h" } 426*5f7ddb14SDimitry Andric module mem_fn { private header "__functional/mem_fn.h" } 427*5f7ddb14SDimitry Andric module mem_fun_ref { private header "__functional/mem_fun_ref.h" } 428*5f7ddb14SDimitry Andric module not_fn { private header "__functional/not_fn.h" } 429*5f7ddb14SDimitry Andric module operations { private header "__functional/operations.h" } 430*5f7ddb14SDimitry Andric module perfect_forward { private header "__functional/perfect_forward.h" } 431*5f7ddb14SDimitry Andric module pointer_to_binary_function { private header "__functional/pointer_to_binary_function.h" } 432*5f7ddb14SDimitry Andric module pointer_to_unary_function { private header "__functional/pointer_to_unary_function.h" } 433*5f7ddb14SDimitry Andric module ranges_operations { private header "__functional/ranges_operations.h" } 434*5f7ddb14SDimitry Andric module reference_wrapper { private header "__functional/reference_wrapper.h" } 435*5f7ddb14SDimitry Andric module unary_function { private header "__functional/unary_function.h" } 436*5f7ddb14SDimitry Andric module unary_negate { private header "__functional/unary_negate.h" } 437*5f7ddb14SDimitry Andric module unwrap_ref { private header "__functional/unwrap_ref.h" } 438*5f7ddb14SDimitry Andric module weak_result_type { private header "__functional/weak_result_type.h" } 439*5f7ddb14SDimitry Andric } 4400b57cec5SDimitry Andric } 4410b57cec5SDimitry Andric module future { 4420b57cec5SDimitry Andric header "future" 4430b57cec5SDimitry Andric export * 4440b57cec5SDimitry Andric } 4450b57cec5SDimitry Andric module initializer_list { 4460b57cec5SDimitry Andric header "initializer_list" 4470b57cec5SDimitry Andric export * 4480b57cec5SDimitry Andric } 4490b57cec5SDimitry Andric module iomanip { 4500b57cec5SDimitry Andric header "iomanip" 4510b57cec5SDimitry Andric export * 4520b57cec5SDimitry Andric } 4530b57cec5SDimitry Andric module ios { 4540b57cec5SDimitry Andric header "ios" 4550b57cec5SDimitry Andric export iosfwd 4560b57cec5SDimitry Andric export * 4570b57cec5SDimitry Andric } 4580b57cec5SDimitry Andric module iosfwd { 4590b57cec5SDimitry Andric header "iosfwd" 4600b57cec5SDimitry Andric export * 4610b57cec5SDimitry Andric } 4620b57cec5SDimitry Andric module iostream { 4630b57cec5SDimitry Andric header "iostream" 4640b57cec5SDimitry Andric export ios 4650b57cec5SDimitry Andric export streambuf 4660b57cec5SDimitry Andric export istream 4670b57cec5SDimitry Andric export ostream 4680b57cec5SDimitry Andric export * 4690b57cec5SDimitry Andric } 4700b57cec5SDimitry Andric module istream { 4710b57cec5SDimitry Andric header "istream" 4720b57cec5SDimitry Andric // FIXME: should re-export ios, streambuf? 4730b57cec5SDimitry Andric export * 4740b57cec5SDimitry Andric } 4750b57cec5SDimitry Andric module iterator { 4760b57cec5SDimitry Andric header "iterator" 4770b57cec5SDimitry Andric export * 478*5f7ddb14SDimitry Andric 479*5f7ddb14SDimitry Andric module __iterator { 480*5f7ddb14SDimitry Andric module access { private header "__iterator/access.h" } 481*5f7ddb14SDimitry Andric module advance { 482*5f7ddb14SDimitry Andric private header "__iterator/advance.h" 483*5f7ddb14SDimitry Andric export __function_like 484*5f7ddb14SDimitry Andric } 485*5f7ddb14SDimitry Andric module back_insert_iterator { private header "__iterator/back_insert_iterator.h" } 486*5f7ddb14SDimitry Andric module common_iterator { private header "__iterator/common_iterator.h" } 487*5f7ddb14SDimitry Andric module concepts { private header "__iterator/concepts.h" } 488*5f7ddb14SDimitry Andric module counted_iterator { private header "__iterator/counted_iterator.h" } 489*5f7ddb14SDimitry Andric module data { private header "__iterator/data.h" } 490*5f7ddb14SDimitry Andric module default_sentinel { private header "__iterator/default_sentinel.h" } 491*5f7ddb14SDimitry Andric module distance { private header "__iterator/distance.h" } 492*5f7ddb14SDimitry Andric module empty { private header "__iterator/empty.h" } 493*5f7ddb14SDimitry Andric module erase_if_container { private header "__iterator/erase_if_container.h" } 494*5f7ddb14SDimitry Andric module front_insert_iterator { private header "__iterator/front_insert_iterator.h" } 495*5f7ddb14SDimitry Andric module incrementable_traits { private header "__iterator/incrementable_traits.h" } 496*5f7ddb14SDimitry Andric module insert_iterator { private header "__iterator/insert_iterator.h" } 497*5f7ddb14SDimitry Andric module istream_iterator { private header "__iterator/istream_iterator.h" } 498*5f7ddb14SDimitry Andric module istreambuf_iterator { private header "__iterator/istreambuf_iterator.h" } 499*5f7ddb14SDimitry Andric module iter_move { private header "__iterator/iter_move.h" } 500*5f7ddb14SDimitry Andric module iter_swap { private header "__iterator/iter_swap.h" } 501*5f7ddb14SDimitry Andric module iterator { private header "__iterator/iterator.h" } 502*5f7ddb14SDimitry Andric module iterator_traits { private header "__iterator/iterator_traits.h" } 503*5f7ddb14SDimitry Andric module move_iterator { private header "__iterator/move_iterator.h" } 504*5f7ddb14SDimitry Andric module next { 505*5f7ddb14SDimitry Andric private header "__iterator/next.h" 506*5f7ddb14SDimitry Andric export __function_like 507*5f7ddb14SDimitry Andric } 508*5f7ddb14SDimitry Andric module ostream_iterator { private header "__iterator/ostream_iterator.h" } 509*5f7ddb14SDimitry Andric module ostreambuf_iterator { private header "__iterator/ostreambuf_iterator.h" } 510*5f7ddb14SDimitry Andric module prev { 511*5f7ddb14SDimitry Andric private header "__iterator/prev.h" 512*5f7ddb14SDimitry Andric export __function_like 513*5f7ddb14SDimitry Andric } 514*5f7ddb14SDimitry Andric module projected { private header "__iterator/projected.h" } 515*5f7ddb14SDimitry Andric module readable_traits { private header "__iterator/readable_traits.h" } 516*5f7ddb14SDimitry Andric module reverse_access { private header "__iterator/reverse_access.h" } 517*5f7ddb14SDimitry Andric module reverse_iterator { private header "__iterator/reverse_iterator.h" } 518*5f7ddb14SDimitry Andric module size { private header "__iterator/size.h" } 519*5f7ddb14SDimitry Andric module wrap_iter { private header "__iterator/wrap_iter.h" } 520*5f7ddb14SDimitry Andric } 5210b57cec5SDimitry Andric } 5225ffd83dbSDimitry Andric module latch { 5235ffd83dbSDimitry Andric requires cplusplus14 5245ffd83dbSDimitry Andric header "latch" 5255ffd83dbSDimitry Andric export * 5265ffd83dbSDimitry Andric } 5270b57cec5SDimitry Andric module limits { 5280b57cec5SDimitry Andric header "limits" 5290b57cec5SDimitry Andric export * 5300b57cec5SDimitry Andric } 5310b57cec5SDimitry Andric module list { 5320b57cec5SDimitry Andric header "list" 5330b57cec5SDimitry Andric export initializer_list 5340b57cec5SDimitry Andric export * 5350b57cec5SDimitry Andric } 5360b57cec5SDimitry Andric module locale { 5370b57cec5SDimitry Andric header "locale" 5380b57cec5SDimitry Andric export * 5390b57cec5SDimitry Andric } 5400b57cec5SDimitry Andric module map { 5410b57cec5SDimitry Andric header "map" 5420b57cec5SDimitry Andric export initializer_list 5430b57cec5SDimitry Andric export * 5440b57cec5SDimitry Andric } 5450b57cec5SDimitry Andric module memory { 5460b57cec5SDimitry Andric header "memory" 5470b57cec5SDimitry Andric export * 548*5f7ddb14SDimitry Andric 549*5f7ddb14SDimitry Andric module __memory { 550*5f7ddb14SDimitry Andric module addressof { private header "__memory/addressof.h" } 551*5f7ddb14SDimitry Andric module allocation_guard { private header "__memory/allocation_guard.h" } 552*5f7ddb14SDimitry Andric module allocator { private header "__memory/allocator.h" } 553*5f7ddb14SDimitry Andric module allocator_arg_t { private header "__memory/allocator_arg_t.h" } 554*5f7ddb14SDimitry Andric module allocator_traits { private header "__memory/allocator_traits.h" } 555*5f7ddb14SDimitry Andric module auto_ptr { private header "__memory/auto_ptr.h" } 556*5f7ddb14SDimitry Andric module compressed_pair { private header "__memory/compressed_pair.h" } 557*5f7ddb14SDimitry Andric module construct_at { private header "__memory/construct_at.h" } 558*5f7ddb14SDimitry Andric module pointer_safety { private header "__memory/pointer_safety.h" } 559*5f7ddb14SDimitry Andric module pointer_traits { private header "__memory/pointer_traits.h" } 560*5f7ddb14SDimitry Andric module raw_storage_iterator { private header "__memory/raw_storage_iterator.h" } 561*5f7ddb14SDimitry Andric module shared_ptr { private header "__memory/shared_ptr.h" } 562*5f7ddb14SDimitry Andric module temporary_buffer { private header "__memory/temporary_buffer.h" } 563*5f7ddb14SDimitry Andric module uninitialized_algorithms { private header "__memory/uninitialized_algorithms.h" } 564*5f7ddb14SDimitry Andric module unique_ptr { private header "__memory/unique_ptr.h" } 565*5f7ddb14SDimitry Andric module uses_allocator { private header "__memory/uses_allocator.h" } 566*5f7ddb14SDimitry Andric } 5670b57cec5SDimitry Andric } 5680b57cec5SDimitry Andric module mutex { 5690b57cec5SDimitry Andric header "mutex" 5700b57cec5SDimitry Andric export * 5710b57cec5SDimitry Andric } 5720b57cec5SDimitry Andric module new { 5730b57cec5SDimitry Andric header "new" 5740b57cec5SDimitry Andric export * 5750b57cec5SDimitry Andric } 5765ffd83dbSDimitry Andric module numbers { 5775ffd83dbSDimitry Andric header "numbers" 5785ffd83dbSDimitry Andric export * 5795ffd83dbSDimitry Andric } 5800b57cec5SDimitry Andric module numeric { 5810b57cec5SDimitry Andric header "numeric" 5820b57cec5SDimitry Andric export * 5830b57cec5SDimitry Andric } 5840b57cec5SDimitry Andric module optional { 5850b57cec5SDimitry Andric header "optional" 5860b57cec5SDimitry Andric export * 5870b57cec5SDimitry Andric } 5880b57cec5SDimitry Andric module ostream { 5890b57cec5SDimitry Andric header "ostream" 5900b57cec5SDimitry Andric // FIXME: should re-export ios, streambuf? 5910b57cec5SDimitry Andric export * 5920b57cec5SDimitry Andric } 5930b57cec5SDimitry Andric module queue { 5940b57cec5SDimitry Andric header "queue" 5950b57cec5SDimitry Andric export initializer_list 5960b57cec5SDimitry Andric export * 5970b57cec5SDimitry Andric } 5980b57cec5SDimitry Andric module random { 5990b57cec5SDimitry Andric header "random" 6000b57cec5SDimitry Andric export initializer_list 6010b57cec5SDimitry Andric export * 602*5f7ddb14SDimitry Andric 603*5f7ddb14SDimitry Andric module __random { 604*5f7ddb14SDimitry Andric module uniform_int_distribution { private header "__random/uniform_int_distribution.h" } 605*5f7ddb14SDimitry Andric } 606*5f7ddb14SDimitry Andric } 607*5f7ddb14SDimitry Andric module ranges { 608*5f7ddb14SDimitry Andric header "ranges" 609*5f7ddb14SDimitry Andric export compare 610*5f7ddb14SDimitry Andric export initializer_list 611*5f7ddb14SDimitry Andric export iterator 612*5f7ddb14SDimitry Andric export * 613*5f7ddb14SDimitry Andric 614*5f7ddb14SDimitry Andric module __ranges { 615*5f7ddb14SDimitry Andric module access { private header "__ranges/access.h" } 616*5f7ddb14SDimitry Andric module all { private header "__ranges/all.h" } 617*5f7ddb14SDimitry Andric module common_view { private header "__ranges/common_view.h" } 618*5f7ddb14SDimitry Andric module concepts { private header "__ranges/concepts.h" } 619*5f7ddb14SDimitry Andric module copyable_box { private header "__ranges/copyable_box.h" } 620*5f7ddb14SDimitry Andric module dangling { private header "__ranges/dangling.h" } 621*5f7ddb14SDimitry Andric module data { private header "__ranges/data.h" } 622*5f7ddb14SDimitry Andric module drop_view { private header "__ranges/drop_view.h" } 623*5f7ddb14SDimitry Andric module empty { private header "__ranges/empty.h" } 624*5f7ddb14SDimitry Andric module empty_view { private header "__ranges/empty_view.h" } 625*5f7ddb14SDimitry Andric module enable_borrowed_range { private header "__ranges/enable_borrowed_range.h" } 626*5f7ddb14SDimitry Andric module enable_view { private header "__ranges/enable_view.h" } 627*5f7ddb14SDimitry Andric module non_propagating_cache { private header "__ranges/non_propagating_cache.h" } 628*5f7ddb14SDimitry Andric module ref_view { private header "__ranges/ref_view.h" } 629*5f7ddb14SDimitry Andric module size { private header "__ranges/size.h" } 630*5f7ddb14SDimitry Andric module subrange { private header "__ranges/subrange.h" } 631*5f7ddb14SDimitry Andric module transform_view { private header "__ranges/transform_view.h" } 632*5f7ddb14SDimitry Andric module view_interface { private header "__ranges/view_interface.h" } 633*5f7ddb14SDimitry Andric } 6340b57cec5SDimitry Andric } 6350b57cec5SDimitry Andric module ratio { 6360b57cec5SDimitry Andric header "ratio" 6370b57cec5SDimitry Andric export * 6380b57cec5SDimitry Andric } 6390b57cec5SDimitry Andric module regex { 6400b57cec5SDimitry Andric header "regex" 6410b57cec5SDimitry Andric export initializer_list 6420b57cec5SDimitry Andric export * 6430b57cec5SDimitry Andric } 6440b57cec5SDimitry Andric module scoped_allocator { 6450b57cec5SDimitry Andric header "scoped_allocator" 6460b57cec5SDimitry Andric export * 6470b57cec5SDimitry Andric } 6485ffd83dbSDimitry Andric module semaphore { 6495ffd83dbSDimitry Andric requires cplusplus14 6505ffd83dbSDimitry Andric header "semaphore" 6515ffd83dbSDimitry Andric export * 6525ffd83dbSDimitry Andric } 6530b57cec5SDimitry Andric module set { 6540b57cec5SDimitry Andric header "set" 6550b57cec5SDimitry Andric export initializer_list 6560b57cec5SDimitry Andric export * 6570b57cec5SDimitry Andric } 658*5f7ddb14SDimitry Andric module shared_mutex { 659*5f7ddb14SDimitry Andric header "shared_mutex" 660*5f7ddb14SDimitry Andric export version 661*5f7ddb14SDimitry Andric } 662*5f7ddb14SDimitry Andric module span { 663*5f7ddb14SDimitry Andric header "span" 664*5f7ddb14SDimitry Andric export ranges.__ranges.enable_borrowed_range 665*5f7ddb14SDimitry Andric export version 666*5f7ddb14SDimitry Andric } 6670b57cec5SDimitry Andric module sstream { 6680b57cec5SDimitry Andric header "sstream" 6690b57cec5SDimitry Andric // FIXME: should re-export istream, ostream, ios, streambuf, string? 6700b57cec5SDimitry Andric export * 6710b57cec5SDimitry Andric } 6720b57cec5SDimitry Andric module stack { 6730b57cec5SDimitry Andric header "stack" 6740b57cec5SDimitry Andric export initializer_list 6750b57cec5SDimitry Andric export * 6760b57cec5SDimitry Andric } 6770b57cec5SDimitry Andric module stdexcept { 6780b57cec5SDimitry Andric header "stdexcept" 6790b57cec5SDimitry Andric export * 6800b57cec5SDimitry Andric } 6810b57cec5SDimitry Andric module streambuf { 6820b57cec5SDimitry Andric header "streambuf" 6830b57cec5SDimitry Andric export * 6840b57cec5SDimitry Andric } 6850b57cec5SDimitry Andric module string { 6860b57cec5SDimitry Andric header "string" 6870b57cec5SDimitry Andric export initializer_list 6880b57cec5SDimitry Andric export string_view 6890b57cec5SDimitry Andric export __string 6900b57cec5SDimitry Andric export * 6910b57cec5SDimitry Andric } 6920b57cec5SDimitry Andric module string_view { 6930b57cec5SDimitry Andric header "string_view" 6940b57cec5SDimitry Andric export initializer_list 6950b57cec5SDimitry Andric export __string 6960b57cec5SDimitry Andric export * 6970b57cec5SDimitry Andric } 6980b57cec5SDimitry Andric module strstream { 6990b57cec5SDimitry Andric header "strstream" 7000b57cec5SDimitry Andric export * 7010b57cec5SDimitry Andric } 7020b57cec5SDimitry Andric module system_error { 7030b57cec5SDimitry Andric header "system_error" 7040b57cec5SDimitry Andric export * 7050b57cec5SDimitry Andric } 7060b57cec5SDimitry Andric module thread { 7070b57cec5SDimitry Andric header "thread" 7080b57cec5SDimitry Andric export * 7090b57cec5SDimitry Andric } 7100b57cec5SDimitry Andric module tuple { 7110b57cec5SDimitry Andric header "tuple" 7120b57cec5SDimitry Andric export * 7130b57cec5SDimitry Andric } 7140b57cec5SDimitry Andric module type_traits { 7150b57cec5SDimitry Andric header "type_traits" 716*5f7ddb14SDimitry Andric export functional.__functional.unwrap_ref 7170b57cec5SDimitry Andric export * 7180b57cec5SDimitry Andric } 7190b57cec5SDimitry Andric module typeindex { 7200b57cec5SDimitry Andric header "typeindex" 7210b57cec5SDimitry Andric export * 7220b57cec5SDimitry Andric } 7230b57cec5SDimitry Andric module typeinfo { 7240b57cec5SDimitry Andric header "typeinfo" 7250b57cec5SDimitry Andric export * 7260b57cec5SDimitry Andric } 7270b57cec5SDimitry Andric module unordered_map { 7280b57cec5SDimitry Andric header "unordered_map" 7290b57cec5SDimitry Andric export initializer_list 7300b57cec5SDimitry Andric export * 7310b57cec5SDimitry Andric } 7320b57cec5SDimitry Andric module unordered_set { 7330b57cec5SDimitry Andric header "unordered_set" 7340b57cec5SDimitry Andric export initializer_list 7350b57cec5SDimitry Andric export * 7360b57cec5SDimitry Andric } 7370b57cec5SDimitry Andric module utility { 7380b57cec5SDimitry Andric header "utility" 7390b57cec5SDimitry Andric export initializer_list 7400b57cec5SDimitry Andric export * 741*5f7ddb14SDimitry Andric 742*5f7ddb14SDimitry Andric module __utility { 743*5f7ddb14SDimitry Andric module __decay_copy { private header "__utility/__decay_copy.h" } 744*5f7ddb14SDimitry Andric module as_const { private header "__utility/as_const.h" } 745*5f7ddb14SDimitry Andric module cmp { private header "__utility/cmp.h" } 746*5f7ddb14SDimitry Andric module declval { private header "__utility/declval.h" } 747*5f7ddb14SDimitry Andric module exchange { private header "__utility/exchange.h" } 748*5f7ddb14SDimitry Andric module forward { private header "__utility/forward.h" } 749*5f7ddb14SDimitry Andric module in_place { private header "__utility/in_place.h" } 750*5f7ddb14SDimitry Andric module integer_sequence { private header "__utility/integer_sequence.h" } 751*5f7ddb14SDimitry Andric module move { private header "__utility/move.h" } 752*5f7ddb14SDimitry Andric module pair { private header "__utility/pair.h" } 753*5f7ddb14SDimitry Andric module piecewise_construct { private header "__utility/piecewise_construct.h" } 754*5f7ddb14SDimitry Andric module rel_ops { private header "__utility/rel_ops.h" } 755*5f7ddb14SDimitry Andric module swap { private header "__utility/swap.h" } 756*5f7ddb14SDimitry Andric module to_underlying { private header "__utility/to_underlying.h" } 757*5f7ddb14SDimitry Andric } 7580b57cec5SDimitry Andric } 7590b57cec5SDimitry Andric module valarray { 7600b57cec5SDimitry Andric header "valarray" 7610b57cec5SDimitry Andric export initializer_list 7620b57cec5SDimitry Andric export * 7630b57cec5SDimitry Andric } 7640b57cec5SDimitry Andric module variant { 7650b57cec5SDimitry Andric header "variant" 7660b57cec5SDimitry Andric export * 767*5f7ddb14SDimitry Andric 768*5f7ddb14SDimitry Andric module __variant { 769*5f7ddb14SDimitry Andric module monostate { private header "__variant/monostate.h" } 770*5f7ddb14SDimitry Andric } 7710b57cec5SDimitry Andric } 7720b57cec5SDimitry Andric module vector { 7730b57cec5SDimitry Andric header "vector" 7740b57cec5SDimitry Andric export initializer_list 7750b57cec5SDimitry Andric export * 7760b57cec5SDimitry Andric } 7770b57cec5SDimitry Andric module version { 7780b57cec5SDimitry Andric header "version" 7790b57cec5SDimitry Andric export * 7800b57cec5SDimitry Andric } 7810b57cec5SDimitry Andric 782*5f7ddb14SDimitry Andric // __config not modularised due to a bug in Clang 7830b57cec5SDimitry Andric // FIXME: These should be private. 784*5f7ddb14SDimitry Andric module __availability { private header "__availability" export * } 785*5f7ddb14SDimitry Andric module __bit_reference { private header "__bit_reference" export * } 786*5f7ddb14SDimitry Andric module __bits { private header "__bits" export * } 7870b57cec5SDimitry Andric module __debug { header "__debug" export * } 788*5f7ddb14SDimitry Andric module __errc { private header "__errc" export * } 789*5f7ddb14SDimitry Andric module __function_like { private header "__function_like.h" export * } 7900b57cec5SDimitry Andric module __hash_table { header "__hash_table" export * } 791*5f7ddb14SDimitry Andric module __locale { private header "__locale" export * } 792*5f7ddb14SDimitry Andric module __mutex_base { private header "__mutex_base" export * } 793*5f7ddb14SDimitry Andric module __node_handle { private header "__node_handle" export * } 794*5f7ddb14SDimitry Andric module __nullptr { header "__nullptr" export * } 795*5f7ddb14SDimitry Andric module __split_buffer { private header "__split_buffer" export * } 796*5f7ddb14SDimitry Andric module __std_stream { private header "__std_stream" export * } 797*5f7ddb14SDimitry Andric module __string { private header "__string" export * } 798*5f7ddb14SDimitry Andric module __threading_support { header "__threading_support" export * } 7990b57cec5SDimitry Andric module __tree { header "__tree" export * } 800*5f7ddb14SDimitry Andric module __tuple { private header "__tuple" export * } 8010b57cec5SDimitry Andric module __undef_macros { header "__undef_macros" export * } 8020b57cec5SDimitry Andric 8030b57cec5SDimitry Andric module experimental { 8040b57cec5SDimitry Andric requires cplusplus11 8050b57cec5SDimitry Andric 8060b57cec5SDimitry Andric module algorithm { 8070b57cec5SDimitry Andric header "experimental/algorithm" 8080b57cec5SDimitry Andric export * 8090b57cec5SDimitry Andric } 8100b57cec5SDimitry Andric module coroutine { 8110b57cec5SDimitry Andric requires coroutines 8120b57cec5SDimitry Andric header "experimental/coroutine" 8130b57cec5SDimitry Andric export * 8140b57cec5SDimitry Andric } 8150b57cec5SDimitry Andric module deque { 8160b57cec5SDimitry Andric header "experimental/deque" 8170b57cec5SDimitry Andric export * 8180b57cec5SDimitry Andric } 8190b57cec5SDimitry Andric module filesystem { 8200b57cec5SDimitry Andric header "experimental/filesystem" 8210b57cec5SDimitry Andric export * 8220b57cec5SDimitry Andric } 8230b57cec5SDimitry Andric module forward_list { 8240b57cec5SDimitry Andric header "experimental/forward_list" 8250b57cec5SDimitry Andric export * 8260b57cec5SDimitry Andric } 8270b57cec5SDimitry Andric module functional { 8280b57cec5SDimitry Andric header "experimental/functional" 8290b57cec5SDimitry Andric export * 8300b57cec5SDimitry Andric } 8310b57cec5SDimitry Andric module iterator { 8320b57cec5SDimitry Andric header "experimental/iterator" 8330b57cec5SDimitry Andric export * 8340b57cec5SDimitry Andric } 8350b57cec5SDimitry Andric module list { 8360b57cec5SDimitry Andric header "experimental/list" 8370b57cec5SDimitry Andric export * 8380b57cec5SDimitry Andric } 8390b57cec5SDimitry Andric module map { 8400b57cec5SDimitry Andric header "experimental/map" 8410b57cec5SDimitry Andric export * 8420b57cec5SDimitry Andric } 8430b57cec5SDimitry Andric module memory_resource { 8440b57cec5SDimitry Andric header "experimental/memory_resource" 8450b57cec5SDimitry Andric export * 8460b57cec5SDimitry Andric } 8470b57cec5SDimitry Andric module propagate_const { 8480b57cec5SDimitry Andric header "experimental/propagate_const" 8490b57cec5SDimitry Andric export * 8500b57cec5SDimitry Andric } 8510b57cec5SDimitry Andric module regex { 8520b57cec5SDimitry Andric header "experimental/regex" 8530b57cec5SDimitry Andric export * 8540b57cec5SDimitry Andric } 8550b57cec5SDimitry Andric module simd { 8560b57cec5SDimitry Andric header "experimental/simd" 8570b57cec5SDimitry Andric export * 8580b57cec5SDimitry Andric } 8590b57cec5SDimitry Andric module set { 8600b57cec5SDimitry Andric header "experimental/set" 8610b57cec5SDimitry Andric export * 8620b57cec5SDimitry Andric } 8630b57cec5SDimitry Andric module span { 8640b57cec5SDimitry Andric header "span" 8650b57cec5SDimitry Andric export * 8660b57cec5SDimitry Andric } 8670b57cec5SDimitry Andric module string { 8680b57cec5SDimitry Andric header "experimental/string" 8690b57cec5SDimitry Andric export * 8700b57cec5SDimitry Andric } 8710b57cec5SDimitry Andric module type_traits { 8720b57cec5SDimitry Andric header "experimental/type_traits" 8730b57cec5SDimitry Andric export * 8740b57cec5SDimitry Andric } 8750b57cec5SDimitry Andric module unordered_map { 8760b57cec5SDimitry Andric header "experimental/unordered_map" 8770b57cec5SDimitry Andric export * 8780b57cec5SDimitry Andric } 8790b57cec5SDimitry Andric module unordered_set { 8800b57cec5SDimitry Andric header "experimental/unordered_set" 8810b57cec5SDimitry Andric export * 8820b57cec5SDimitry Andric } 8830b57cec5SDimitry Andric module utility { 8840b57cec5SDimitry Andric header "experimental/utility" 8850b57cec5SDimitry Andric export * 8860b57cec5SDimitry Andric } 8870b57cec5SDimitry Andric module vector { 8880b57cec5SDimitry Andric header "experimental/vector" 8890b57cec5SDimitry Andric export * 8900b57cec5SDimitry Andric } 8910b57cec5SDimitry Andric // FIXME these should be private 8920b57cec5SDimitry Andric module __memory { 8930b57cec5SDimitry Andric header "experimental/__memory" 8940b57cec5SDimitry Andric export * 8950b57cec5SDimitry Andric } 8960b57cec5SDimitry Andric } // end experimental 8970b57cec5SDimitry Andric} 898