1// define the module for __config outside of the top level 'std' module 2// since __config may be included from C headers which may create an 3// include cycle. 4module std_config [system] [extern_c] { 5 header "__config" 6} 7 8module std [system] { 9 export std_config 10 // FIXME: The standard does not require that each of these submodules 11 // re-exports its imported modules. We should provide an alternative form of 12 // export that issues a warning if a name from the submodule is used, and 13 // use that to provide a 'strict mode' for libc++. 14 15 // Deprecated C-compatibility headers. These can all be included from within 16 // an 'extern "C"' context. 17 module depr [extern_c] { 18 // <assert.h> provided by C library. 19 module ctype_h { 20 header "ctype.h" 21 export * 22 } 23 module errno_h { 24 header "errno.h" 25 export * 26 } 27 module fenv_h { 28 header "fenv.h" 29 export * 30 } 31 // <float.h> provided by compiler or C library. 32 module inttypes_h { 33 header "inttypes.h" 34 export stdint_h 35 export * 36 } 37 // <iso646.h> provided by compiler. 38 // <limits.h> provided by compiler or C library. 39 module locale_h { 40 header "locale.h" 41 export * 42 } 43 module math_h { 44 header "math.h" 45 export * 46 } 47 module setjmp_h { 48 header "setjmp.h" 49 export * 50 } 51 // FIXME: <stdalign.h> is missing. 52 // <signal.h> provided by C library. 53 // <stdarg.h> provided by compiler. 54 // <stdbool.h> provided by compiler. 55 module stddef_h { 56 // <stddef.h>'s __need_* macros require textual inclusion. 57 textual header "stddef.h" 58 } 59 module stdint_h { 60 header "stdint.h" 61 export * 62 // FIXME: This module only exists on OS X and for some reason the 63 // wildcard above doesn't export it. 64 export Darwin.C.stdint 65 } 66 module stdio_h { 67 // <stdio.h>'s __need_* macros require textual inclusion. 68 textual header "stdio.h" 69 export * 70 export Darwin.C.stdio 71 } 72 module stdlib_h { 73 // <stdlib.h>'s __need_* macros require textual inclusion. 74 textual header "stdlib.h" 75 export * 76 } 77 module string_h { 78 header "string.h" 79 export * 80 } 81 // FIXME: <uchar.h> is missing. 82 // <time.h> provided by C library. 83 module wchar_h { 84 // <wchar.h>'s __need_* macros require textual inclusion. 85 textual header "wchar.h" 86 export * 87 } 88 module wctype_h { 89 header "wctype.h" 90 export * 91 } 92 } 93 94 // <complex.h> and <tgmath.h> are not C headers in any real sense, do not 95 // allow their use in extern "C" contexts. 96 module complex_h { 97 header "complex.h" 98 export ccomplex 99 export * 100 } 101 module tgmath_h { 102 header "tgmath.h" 103 export ccomplex 104 export cmath 105 export * 106 } 107 108 // C compatibility headers. 109 module compat { 110 module cassert { 111 // <cassert>'s use of NDEBUG requires textual inclusion. 112 textual header "cassert" 113 } 114 module ccomplex { 115 header "ccomplex" 116 export complex 117 export * 118 } 119 module cctype { 120 header "cctype" 121 export * 122 } 123 module cerrno { 124 header "cerrno" 125 export * 126 } 127 module cfenv { 128 header "cfenv" 129 export * 130 } 131 module cfloat { 132 header "cfloat" 133 export * 134 } 135 module cinttypes { 136 header "cinttypes" 137 export cstdint 138 export * 139 } 140 module ciso646 { 141 header "ciso646" 142 export * 143 } 144 module climits { 145 header "climits" 146 export * 147 } 148 module clocale { 149 header "clocale" 150 export * 151 } 152 module cmath { 153 header "cmath" 154 export * 155 } 156 module csetjmp { 157 header "csetjmp" 158 export * 159 } 160 module csignal { 161 header "csignal" 162 export * 163 } 164 // FIXME: <cstdalign> is missing. 165 module cstdarg { 166 header "cstdarg" 167 export * 168 } 169 module cstdbool { 170 header "cstdbool" 171 export * 172 } 173 module cstddef { 174 header "cstddef" 175 export * 176 } 177 module cstdint { 178 header "cstdint" 179 export depr.stdint_h 180 export * 181 } 182 module cstdio { 183 header "cstdio" 184 export * 185 } 186 module cstdlib { 187 header "cstdlib" 188 export * 189 } 190 module cstring { 191 header "cstring" 192 export * 193 } 194 module ctgmath { 195 header "ctgmath" 196 export ccomplex 197 export cmath 198 export * 199 } 200 module ctime { 201 header "ctime" 202 export * 203 } 204 // FIXME: <cuchar> is missing. 205 module cwchar { 206 header "cwchar" 207 export depr.stdio_h 208 export * 209 } 210 module cwctype { 211 header "cwctype" 212 export * 213 } 214 } 215 216 module algorithm { 217 header "algorithm" 218 export initializer_list 219 export * 220 221 module __algorithm { 222 module adjacent_find { private header "__algorithm/adjacent_find.h" } 223 module all_of { private header "__algorithm/all_of.h" } 224 module any_of { private header "__algorithm/any_of.h" } 225 module binary_search { private header "__algorithm/binary_search.h" } 226 module clamp { private header "__algorithm/clamp.h" } 227 module comp { private header "__algorithm/comp.h" } 228 module comp_ref_type { private header "__algorithm/comp_ref_type.h" } 229 module copy { private header "__algorithm/copy.h" } 230 module copy_backward { private header "__algorithm/copy_backward.h" } 231 module copy_if { private header "__algorithm/copy_if.h" } 232 module copy_n { private header "__algorithm/copy_n.h" } 233 module count { private header "__algorithm/count.h" } 234 module count_if { private header "__algorithm/count_if.h" } 235 module equal { private header "__algorithm/equal.h" } 236 module equal_range { private header "__algorithm/equal_range.h" } 237 module fill { private header "__algorithm/fill.h" } 238 module fill_n { private header "__algorithm/fill_n.h" } 239 module find { private header "__algorithm/find.h" } 240 module find_end { private header "__algorithm/find_end.h" } 241 module find_first_of { private header "__algorithm/find_first_of.h" } 242 module find_if { private header "__algorithm/find_if.h" } 243 module find_if_not { private header "__algorithm/find_if_not.h" } 244 module for_each { private header "__algorithm/for_each.h" } 245 module for_each_n { private header "__algorithm/for_each_n.h" } 246 module generate { private header "__algorithm/generate.h" } 247 module generate_n { private header "__algorithm/generate_n.h" } 248 module half_positive { private header "__algorithm/half_positive.h" } 249 module includes { private header "__algorithm/includes.h" } 250 module inplace_merge { private header "__algorithm/inplace_merge.h" } 251 module is_heap { private header "__algorithm/is_heap.h" } 252 module is_heap_until { private header "__algorithm/is_heap_until.h" } 253 module is_partitioned { private header "__algorithm/is_partitioned.h" } 254 module is_permutation { private header "__algorithm/is_permutation.h" } 255 module is_sorted { private header "__algorithm/is_sorted.h" } 256 module is_sorted_until { private header "__algorithm/is_sorted_until.h" } 257 module iter_swap { private header "__algorithm/iter_swap.h" } 258 module lexicographical_compare { private header "__algorithm/lexicographical_compare.h" } 259 module lower_bound { private header "__algorithm/lower_bound.h" } 260 module make_heap { private header "__algorithm/make_heap.h" } 261 module max { private header "__algorithm/max.h" } 262 module max_element { private header "__algorithm/max_element.h" } 263 module merge { private header "__algorithm/merge.h" } 264 module min { private header "__algorithm/min.h" } 265 module min_element { private header "__algorithm/min_element.h" } 266 module minmax { private header "__algorithm/minmax.h" } 267 module minmax_element { private header "__algorithm/minmax_element.h" } 268 module mismatch { private header "__algorithm/mismatch.h" } 269 module move { private header "__algorithm/move.h" } 270 module move_backward { private header "__algorithm/move_backward.h" } 271 module next_permutation { private header "__algorithm/next_permutation.h" } 272 module none_of { private header "__algorithm/none_of.h" } 273 module nth_element { private header "__algorithm/nth_element.h" } 274 module partial_sort { private header "__algorithm/partial_sort.h" } 275 module partial_sort_copy { private header "__algorithm/partial_sort_copy.h" } 276 module partition { private header "__algorithm/partition.h" } 277 module partition_copy { private header "__algorithm/partition_copy.h" } 278 module partition_point { private header "__algorithm/partition_point.h" } 279 module pop_heap { private header "__algorithm/pop_heap.h" } 280 module prev_permutation { private header "__algorithm/prev_permutation.h" } 281 module push_heap { private header "__algorithm/push_heap.h" } 282 module remove { private header "__algorithm/remove.h" } 283 module remove_copy { private header "__algorithm/remove_copy.h" } 284 module remove_copy_if { private header "__algorithm/remove_copy_if.h" } 285 module remove_if { private header "__algorithm/remove_if.h" } 286 module replace { private header "__algorithm/replace.h" } 287 module replace_copy { private header "__algorithm/replace_copy.h" } 288 module replace_copy_if { private header "__algorithm/replace_copy_if.h" } 289 module replace_if { private header "__algorithm/replace_if.h" } 290 module reverse { private header "__algorithm/reverse.h" } 291 module reverse_copy { private header "__algorithm/reverse_copy.h" } 292 module rotate { private header "__algorithm/rotate.h" } 293 module rotate_copy { private header "__algorithm/rotate_copy.h" } 294 module sample { private header "__algorithm/sample.h" } 295 module search { private header "__algorithm/search.h" } 296 module search_n { private header "__algorithm/search_n.h" } 297 module set_difference { private header "__algorithm/set_difference.h" } 298 module set_intersection { private header "__algorithm/set_intersection.h" } 299 module set_symmetric_difference { private header "__algorithm/set_symmetric_difference.h" } 300 module set_union { private header "__algorithm/set_union.h" } 301 module shift_left { private header "__algorithm/shift_left.h" } 302 module shift_right { private header "__algorithm/shift_right.h" } 303 module shuffle { private header "__algorithm/shuffle.h" } 304 module sift_down { private header "__algorithm/sift_down.h" } 305 module sort { private header "__algorithm/sort.h" } 306 module sort_heap { private header "__algorithm/sort_heap.h" } 307 module stable_partition { private header "__algorithm/stable_partition.h" } 308 module stable_sort { private header "__algorithm/stable_sort.h" } 309 module swap_ranges { private header "__algorithm/swap_ranges.h" } 310 module transform { private header "__algorithm/transform.h" } 311 module unique { private header "__algorithm/unique.h" } 312 module unique_copy { private header "__algorithm/unique_copy.h" } 313 module unwrap_iter { private header "__algorithm/unwrap_iter.h" } 314 module upper_bound { private header "__algorithm/upper_bound.h" } 315 } 316 } 317 module any { 318 header "any" 319 export * 320 } 321 module array { 322 header "array" 323 export initializer_list 324 export * 325 } 326 module atomic { 327 header "atomic" 328 export * 329 } 330 module barrier { 331 requires cplusplus14 332 header "barrier" 333 export * 334 } 335 module bit { 336 header "bit" 337 export * 338 } 339 module bitset { 340 header "bitset" 341 export string 342 export iosfwd 343 export * 344 } 345 // No submodule for cassert. It fundamentally needs repeated, textual inclusion. 346 module charconv { 347 header "charconv" 348 export * 349 } 350 module chrono { 351 header "chrono" 352 export * 353 } 354 module codecvt { 355 header "codecvt" 356 export * 357 } 358 module compare { 359 header "compare" 360 export * 361 } 362 module complex { 363 header "complex" 364 export * 365 } 366 module concepts { 367 header "concepts" 368 export * 369 } 370 module condition_variable { 371 header "condition_variable" 372 export * 373 } 374 module deque { 375 header "deque" 376 export initializer_list 377 export * 378 } 379 module exception { 380 header "exception" 381 export * 382 } 383 module execution { 384 header "execution" 385 export * 386 } 387 module filesystem { 388 header "filesystem" 389 export * 390 } 391 module format { 392 header "format" 393 export * 394 395 module __format { 396 module format_error { private header "__format/format_error.h" } 397 module format_parse_context { private header "__format/format_parse_context.h" } 398 } 399 } 400 module forward_list { 401 header "forward_list" 402 export initializer_list 403 export * 404 } 405 module fstream { 406 header "fstream" 407 export * 408 } 409 module functional { 410 header "functional" 411 export * 412 413 module __functional { 414 module binary_function { private header "__functional/binary_function.h" } 415 module binary_negate { private header "__functional/binary_negate.h" } 416 module bind { private header "__functional/bind.h" } 417 module bind_front { private header "__functional/bind_front.h" } 418 module binder1st { private header "__functional/binder1st.h" } 419 module binder2nd { private header "__functional/binder2nd.h" } 420 module default_searcher { private header "__functional/default_searcher.h" } 421 module function { private header "__functional/function.h" } 422 module hash { private header "__functional/hash.h" } 423 module identity { private header "__functional/identity.h" } 424 module is_transparent { private header "__functional/is_transparent.h" } 425 module invoke { private header "__functional/invoke.h" } 426 module mem_fn { private header "__functional/mem_fn.h" } 427 module mem_fun_ref { private header "__functional/mem_fun_ref.h" } 428 module not_fn { private header "__functional/not_fn.h" } 429 module operations { private header "__functional/operations.h" } 430 module perfect_forward { private header "__functional/perfect_forward.h" } 431 module pointer_to_binary_function { private header "__functional/pointer_to_binary_function.h" } 432 module pointer_to_unary_function { private header "__functional/pointer_to_unary_function.h" } 433 module ranges_operations { private header "__functional/ranges_operations.h" } 434 module reference_wrapper { private header "__functional/reference_wrapper.h" } 435 module unary_function { private header "__functional/unary_function.h" } 436 module unary_negate { private header "__functional/unary_negate.h" } 437 module unwrap_ref { private header "__functional/unwrap_ref.h" } 438 module weak_result_type { private header "__functional/weak_result_type.h" } 439 } 440 } 441 module future { 442 header "future" 443 export * 444 } 445 module initializer_list { 446 header "initializer_list" 447 export * 448 } 449 module iomanip { 450 header "iomanip" 451 export * 452 } 453 module ios { 454 header "ios" 455 export iosfwd 456 export * 457 } 458 module iosfwd { 459 header "iosfwd" 460 export * 461 } 462 module iostream { 463 header "iostream" 464 export ios 465 export streambuf 466 export istream 467 export ostream 468 export * 469 } 470 module istream { 471 header "istream" 472 // FIXME: should re-export ios, streambuf? 473 export * 474 } 475 module iterator { 476 header "iterator" 477 export * 478 479 module __iterator { 480 module access { private header "__iterator/access.h" } 481 module advance { 482 private header "__iterator/advance.h" 483 export __function_like 484 } 485 module back_insert_iterator { private header "__iterator/back_insert_iterator.h" } 486 module common_iterator { private header "__iterator/common_iterator.h" } 487 module concepts { private header "__iterator/concepts.h" } 488 module counted_iterator { private header "__iterator/counted_iterator.h" } 489 module data { private header "__iterator/data.h" } 490 module default_sentinel { private header "__iterator/default_sentinel.h" } 491 module distance { private header "__iterator/distance.h" } 492 module empty { private header "__iterator/empty.h" } 493 module erase_if_container { private header "__iterator/erase_if_container.h" } 494 module front_insert_iterator { private header "__iterator/front_insert_iterator.h" } 495 module incrementable_traits { private header "__iterator/incrementable_traits.h" } 496 module insert_iterator { private header "__iterator/insert_iterator.h" } 497 module istream_iterator { private header "__iterator/istream_iterator.h" } 498 module istreambuf_iterator { private header "__iterator/istreambuf_iterator.h" } 499 module iter_move { private header "__iterator/iter_move.h" } 500 module iter_swap { private header "__iterator/iter_swap.h" } 501 module iterator { private header "__iterator/iterator.h" } 502 module iterator_traits { private header "__iterator/iterator_traits.h" } 503 module move_iterator { private header "__iterator/move_iterator.h" } 504 module next { 505 private header "__iterator/next.h" 506 export __function_like 507 } 508 module ostream_iterator { private header "__iterator/ostream_iterator.h" } 509 module ostreambuf_iterator { private header "__iterator/ostreambuf_iterator.h" } 510 module prev { 511 private header "__iterator/prev.h" 512 export __function_like 513 } 514 module projected { private header "__iterator/projected.h" } 515 module readable_traits { private header "__iterator/readable_traits.h" } 516 module reverse_access { private header "__iterator/reverse_access.h" } 517 module reverse_iterator { private header "__iterator/reverse_iterator.h" } 518 module size { private header "__iterator/size.h" } 519 module wrap_iter { private header "__iterator/wrap_iter.h" } 520 } 521 } 522 module latch { 523 requires cplusplus14 524 header "latch" 525 export * 526 } 527 module limits { 528 header "limits" 529 export * 530 } 531 module list { 532 header "list" 533 export initializer_list 534 export * 535 } 536 module locale { 537 header "locale" 538 export * 539 } 540 module map { 541 header "map" 542 export initializer_list 543 export * 544 } 545 module memory { 546 header "memory" 547 export * 548 549 module __memory { 550 module addressof { private header "__memory/addressof.h" } 551 module allocation_guard { private header "__memory/allocation_guard.h" } 552 module allocator { private header "__memory/allocator.h" } 553 module allocator_arg_t { private header "__memory/allocator_arg_t.h" } 554 module allocator_traits { private header "__memory/allocator_traits.h" } 555 module auto_ptr { private header "__memory/auto_ptr.h" } 556 module compressed_pair { private header "__memory/compressed_pair.h" } 557 module construct_at { private header "__memory/construct_at.h" } 558 module pointer_safety { private header "__memory/pointer_safety.h" } 559 module pointer_traits { private header "__memory/pointer_traits.h" } 560 module raw_storage_iterator { private header "__memory/raw_storage_iterator.h" } 561 module shared_ptr { private header "__memory/shared_ptr.h" } 562 module temporary_buffer { private header "__memory/temporary_buffer.h" } 563 module uninitialized_algorithms { private header "__memory/uninitialized_algorithms.h" } 564 module unique_ptr { private header "__memory/unique_ptr.h" } 565 module uses_allocator { private header "__memory/uses_allocator.h" } 566 } 567 } 568 module mutex { 569 header "mutex" 570 export * 571 } 572 module new { 573 header "new" 574 export * 575 } 576 module numbers { 577 header "numbers" 578 export * 579 } 580 module numeric { 581 header "numeric" 582 export * 583 } 584 module optional { 585 header "optional" 586 export * 587 } 588 module ostream { 589 header "ostream" 590 // FIXME: should re-export ios, streambuf? 591 export * 592 } 593 module queue { 594 header "queue" 595 export initializer_list 596 export * 597 } 598 module random { 599 header "random" 600 export initializer_list 601 export * 602 603 module __random { 604 module uniform_int_distribution { private header "__random/uniform_int_distribution.h" } 605 } 606 } 607 module ranges { 608 header "ranges" 609 export compare 610 export initializer_list 611 export iterator 612 export * 613 614 module __ranges { 615 module access { private header "__ranges/access.h" } 616 module all { private header "__ranges/all.h" } 617 module common_view { private header "__ranges/common_view.h" } 618 module concepts { private header "__ranges/concepts.h" } 619 module copyable_box { private header "__ranges/copyable_box.h" } 620 module dangling { private header "__ranges/dangling.h" } 621 module data { private header "__ranges/data.h" } 622 module drop_view { private header "__ranges/drop_view.h" } 623 module empty { private header "__ranges/empty.h" } 624 module empty_view { private header "__ranges/empty_view.h" } 625 module enable_borrowed_range { private header "__ranges/enable_borrowed_range.h" } 626 module enable_view { private header "__ranges/enable_view.h" } 627 module non_propagating_cache { private header "__ranges/non_propagating_cache.h" } 628 module ref_view { private header "__ranges/ref_view.h" } 629 module size { private header "__ranges/size.h" } 630 module subrange { private header "__ranges/subrange.h" } 631 module transform_view { private header "__ranges/transform_view.h" } 632 module view_interface { private header "__ranges/view_interface.h" } 633 } 634 } 635 module ratio { 636 header "ratio" 637 export * 638 } 639 module regex { 640 header "regex" 641 export initializer_list 642 export * 643 } 644 module scoped_allocator { 645 header "scoped_allocator" 646 export * 647 } 648 module semaphore { 649 requires cplusplus14 650 header "semaphore" 651 export * 652 } 653 module set { 654 header "set" 655 export initializer_list 656 export * 657 } 658 module shared_mutex { 659 header "shared_mutex" 660 export version 661 } 662 module span { 663 header "span" 664 export ranges.__ranges.enable_borrowed_range 665 export version 666 } 667 module sstream { 668 header "sstream" 669 // FIXME: should re-export istream, ostream, ios, streambuf, string? 670 export * 671 } 672 module stack { 673 header "stack" 674 export initializer_list 675 export * 676 } 677 module stdexcept { 678 header "stdexcept" 679 export * 680 } 681 module streambuf { 682 header "streambuf" 683 export * 684 } 685 module string { 686 header "string" 687 export initializer_list 688 export string_view 689 export __string 690 export * 691 } 692 module string_view { 693 header "string_view" 694 export initializer_list 695 export __string 696 export * 697 } 698 module strstream { 699 header "strstream" 700 export * 701 } 702 module system_error { 703 header "system_error" 704 export * 705 } 706 module thread { 707 header "thread" 708 export * 709 } 710 module tuple { 711 header "tuple" 712 export * 713 } 714 module type_traits { 715 header "type_traits" 716 export functional.__functional.unwrap_ref 717 export * 718 } 719 module typeindex { 720 header "typeindex" 721 export * 722 } 723 module typeinfo { 724 header "typeinfo" 725 export * 726 } 727 module unordered_map { 728 header "unordered_map" 729 export initializer_list 730 export * 731 } 732 module unordered_set { 733 header "unordered_set" 734 export initializer_list 735 export * 736 } 737 module utility { 738 header "utility" 739 export initializer_list 740 export * 741 742 module __utility { 743 module __decay_copy { private header "__utility/__decay_copy.h" } 744 module as_const { private header "__utility/as_const.h" } 745 module cmp { private header "__utility/cmp.h" } 746 module declval { private header "__utility/declval.h" } 747 module exchange { private header "__utility/exchange.h" } 748 module forward { private header "__utility/forward.h" } 749 module in_place { private header "__utility/in_place.h" } 750 module integer_sequence { private header "__utility/integer_sequence.h" } 751 module move { private header "__utility/move.h" } 752 module pair { private header "__utility/pair.h" } 753 module piecewise_construct { private header "__utility/piecewise_construct.h" } 754 module rel_ops { private header "__utility/rel_ops.h" } 755 module swap { private header "__utility/swap.h" } 756 module to_underlying { private header "__utility/to_underlying.h" } 757 } 758 } 759 module valarray { 760 header "valarray" 761 export initializer_list 762 export * 763 } 764 module variant { 765 header "variant" 766 export * 767 768 module __variant { 769 module monostate { private header "__variant/monostate.h" } 770 } 771 } 772 module vector { 773 header "vector" 774 export initializer_list 775 export * 776 } 777 module version { 778 header "version" 779 export * 780 } 781 782 // __config not modularised due to a bug in Clang 783 // FIXME: These should be private. 784 module __availability { private header "__availability" export * } 785 module __bit_reference { private header "__bit_reference" export * } 786 module __bits { private header "__bits" export * } 787 module __debug { header "__debug" export * } 788 module __errc { private header "__errc" export * } 789 module __function_like { private header "__function_like.h" export * } 790 module __hash_table { header "__hash_table" export * } 791 module __locale { private header "__locale" export * } 792 module __mutex_base { private header "__mutex_base" export * } 793 module __node_handle { private header "__node_handle" export * } 794 module __nullptr { header "__nullptr" export * } 795 module __split_buffer { private header "__split_buffer" export * } 796 module __std_stream { private header "__std_stream" export * } 797 module __string { private header "__string" export * } 798 module __threading_support { header "__threading_support" export * } 799 module __tree { header "__tree" export * } 800 module __tuple { private header "__tuple" export * } 801 module __undef_macros { header "__undef_macros" export * } 802 803 module experimental { 804 requires cplusplus11 805 806 module algorithm { 807 header "experimental/algorithm" 808 export * 809 } 810 module coroutine { 811 requires coroutines 812 header "experimental/coroutine" 813 export * 814 } 815 module deque { 816 header "experimental/deque" 817 export * 818 } 819 module filesystem { 820 header "experimental/filesystem" 821 export * 822 } 823 module forward_list { 824 header "experimental/forward_list" 825 export * 826 } 827 module functional { 828 header "experimental/functional" 829 export * 830 } 831 module iterator { 832 header "experimental/iterator" 833 export * 834 } 835 module list { 836 header "experimental/list" 837 export * 838 } 839 module map { 840 header "experimental/map" 841 export * 842 } 843 module memory_resource { 844 header "experimental/memory_resource" 845 export * 846 } 847 module propagate_const { 848 header "experimental/propagate_const" 849 export * 850 } 851 module regex { 852 header "experimental/regex" 853 export * 854 } 855 module simd { 856 header "experimental/simd" 857 export * 858 } 859 module set { 860 header "experimental/set" 861 export * 862 } 863 module span { 864 header "span" 865 export * 866 } 867 module string { 868 header "experimental/string" 869 export * 870 } 871 module type_traits { 872 header "experimental/type_traits" 873 export * 874 } 875 module unordered_map { 876 header "experimental/unordered_map" 877 export * 878 } 879 module unordered_set { 880 header "experimental/unordered_set" 881 export * 882 } 883 module utility { 884 header "experimental/utility" 885 export * 886 } 887 module vector { 888 header "experimental/vector" 889 export * 890 } 891 // FIXME these should be private 892 module __memory { 893 header "experimental/__memory" 894 export * 895 } 896 } // end experimental 897} 898