// define the module for __config outside of the top level 'std' module
// since __config may be included from C headers which may create an
// include cycle.
module std_config [system] [extern_c] {
  header "__config"
  export *
}

module std [system] {
  export std_config
  // FIXME: The standard does not require that each of these submodules
  // re-exports its imported modules. We should provide an alternative form of
  // export that issues a warning if a name from the submodule is used, and
  // use that to provide a 'strict mode' for libc++.

  // Deprecated C-compatibility headers. These can all be included from within
  // an 'extern "C"' context.
  module depr [extern_c] {
    // <assert.h> provided by C library.
    module ctype_h {
      header "ctype.h"
      export *
    }
    module errno_h {
      header "errno.h"
      export *
    }
    module fenv_h {
      header "fenv.h"
      export *
    }
    // <float.h> provided by compiler or C library.
    module inttypes_h {
      header "inttypes.h"
      export stdint_h
      export *
    }
    // <iso646.h> provided by compiler.
    // <limits.h> provided by compiler or C library.
    module locale_h {
      
      header "locale.h"
      export *
    }
    module math_h {
      header "math.h"
      export *
    }
    module setjmp_h {
      header "setjmp.h"
      export *
    }
    module stdatomic_h {
      
      requires cplusplus23
      header "stdatomic.h"
      export *
    }
    // FIXME: <stdalign.h> is missing.
    // <signal.h> provided by C library.
    // <stdarg.h> provided by compiler.
    module stdbool_h {
      // <stdbool.h>'s __bool_true_false_are_defined macro requires textual inclusion.
      textual header "stdbool.h"
    }
    module stddef_h {
      // <stddef.h>'s __need_* macros require textual inclusion.
      textual header "stddef.h"
    }
    module stdint_h {
      header "stdint.h"
      export *
      // FIXME: This module only exists on OS X and for some reason the
      // wildcard above doesn't export it.
      export Darwin.C.stdint
    }
    module stdio_h {
      // <stdio.h>'s __need_* macros require textual inclusion.
      textual header "stdio.h"
      export *
      export Darwin.C.stdio
    }
    module stdlib_h {
      // <stdlib.h>'s __need_* macros require textual inclusion.
      textual header "stdlib.h"
      export *
    }
    module string_h {
      header "string.h"
      export *
    }
    module uchar_h {
      header "uchar.h"
      export *
    }
    // <time.h> provided by C library.
    module wchar_h {
      
      // <wchar.h>'s __need_* macros require textual inclusion.
      textual header "wchar.h"
      export *
    }
    module wctype_h {
      
      header "wctype.h"
      export *
    }
  }

  // <complex.h> and <tgmath.h> are not C headers in any real sense, do not
  // allow their use in extern "C" contexts.
  module complex_h {
    header "complex.h"
    export ccomplex
    export *
  }
  module tgmath_h {
    header "tgmath.h"
    export ccomplex
    export cmath
    export *
  }

  // C compatibility headers.
  module compat {
    module cassert {
      // <cassert>'s use of NDEBUG requires textual inclusion.
      textual header "cassert"
    }
    module ccomplex {
      header "ccomplex"
      export complex
      export *
    }
    module cctype {
      header "cctype"
      export *
    }
    module cerrno {
      header "cerrno"
      export *
    }
    module cfenv {
      header "cfenv"
      export *
    }
    module cfloat {
      header "cfloat"
      export *
    }
    module cinttypes {
      header "cinttypes"
      export cstdint
      export *
    }
    module ciso646 {
      header "ciso646"
      export *
    }
    module climits {
      header "climits"
      export *
    }
    module clocale {
      
      header "clocale"
      export *
    }
    module cmath {
      header "cmath"
      export *
    }
    module csetjmp {
      header "csetjmp"
      export *
    }
    module csignal {
      header "csignal"
      export *
    }
    // FIXME: <cstdalign> is missing.
    module cstdarg {
      header "cstdarg"
      export *
    }
    module cstdbool {
      header "cstdbool"
      export *
    }
    module cstddef {
      header "cstddef"
      export *
    }
    module cstdint {
      header "cstdint"
      export depr.stdint_h
      export *
    }
    module cstdio {
      header "cstdio"
      export *
    }
    module cstdlib {
      header "cstdlib"
      export *
    }
    module cstring {
      header "cstring"
      export *
    }
    module ctgmath {
      header "ctgmath"
      export ccomplex
      export cmath
      export *
    }
    module ctime {
      header "ctime"
      export *
    }
    module cuchar {
      header "cuchar"
      export *
    }
    module cwchar {
      
      header "cwchar"
      export depr.stdio_h
      export *
    }
    module cwctype {
      
      header "cwctype"
      export *
    }
  }

  module algorithm {
    header "algorithm"
    export initializer_list
    export *

    module __algorithm {
      module adjacent_find                   { private header "__algorithm/adjacent_find.h" }
      module all_of                          { private header "__algorithm/all_of.h" }
      module any_of                          { private header "__algorithm/any_of.h" }
      module binary_search                   { private header "__algorithm/binary_search.h" }
      module clamp                           { private header "__algorithm/clamp.h" }
      module comp                            { private header "__algorithm/comp.h" }
      module comp_ref_type                   { private header "__algorithm/comp_ref_type.h" }
      module copy                            { private header "__algorithm/copy.h" }
      module copy_backward                   { private header "__algorithm/copy_backward.h" }
      module copy_if                         { private header "__algorithm/copy_if.h" }
      module copy_n                          { private header "__algorithm/copy_n.h" }
      module count                           { private header "__algorithm/count.h" }
      module count_if                        { private header "__algorithm/count_if.h" }
      module equal                           { private header "__algorithm/equal.h" }
      module equal_range                     { private header "__algorithm/equal_range.h" }
      module fill                            { private header "__algorithm/fill.h" }
      module fill_n                          { private header "__algorithm/fill_n.h" }
      module find                            { private header "__algorithm/find.h" }
      module find_end                        { private header "__algorithm/find_end.h" }
      module find_first_of                   { private header "__algorithm/find_first_of.h" }
      module find_if                         { private header "__algorithm/find_if.h" }
      module find_if_not                     { private header "__algorithm/find_if_not.h" }
      module for_each                        { private header "__algorithm/for_each.h" }
      module for_each_n                      { private header "__algorithm/for_each_n.h" }
      module generate                        { private header "__algorithm/generate.h" }
      module generate_n                      { private header "__algorithm/generate_n.h" }
      module half_positive                   { private header "__algorithm/half_positive.h" }
      module in_found_result                 { private header "__algorithm/in_found_result.h" }
      module in_fun_result                   { private header "__algorithm/in_fun_result.h" }
      module in_in_out_result                { private header "__algorithm/in_in_out_result.h" }
      module in_in_result                    { private header "__algorithm/in_in_result.h" }
      module in_out_out_result               { private header "__algorithm/in_out_out_result.h" }
      module in_out_result                   { private header "__algorithm/in_out_result.h" }
      module includes                        { private header "__algorithm/includes.h" }
      module inplace_merge                   { private header "__algorithm/inplace_merge.h" }
      module is_heap                         { private header "__algorithm/is_heap.h" }
      module is_heap_until                   { private header "__algorithm/is_heap_until.h" }
      module is_partitioned                  { private header "__algorithm/is_partitioned.h" }
      module is_permutation                  { private header "__algorithm/is_permutation.h" }
      module is_sorted                       { private header "__algorithm/is_sorted.h" }
      module is_sorted_until                 { private header "__algorithm/is_sorted_until.h" }
      module iter_swap                       { private header "__algorithm/iter_swap.h" }
      module iterator_operations             {
        private header "__algorithm/iterator_operations.h"
        export *
      }
      module lexicographical_compare         { private header "__algorithm/lexicographical_compare.h" }
      module lower_bound                     { private header "__algorithm/lower_bound.h" }
      module make_heap                       { private header "__algorithm/make_heap.h" }
      module make_projected                  { private header "__algorithm/make_projected.h" }
      module max                             { private header "__algorithm/max.h" }
      module max_element                     { private header "__algorithm/max_element.h" }
      module merge                           { private header "__algorithm/merge.h" }
      module min                             { private header "__algorithm/min.h" }
      module min_element                     { private header "__algorithm/min_element.h" }
      module min_max_result                  { private header "__algorithm/min_max_result.h" }
      module minmax                          { private header "__algorithm/minmax.h" }
      module minmax_element                  { private header "__algorithm/minmax_element.h" }
      module mismatch                        { private header "__algorithm/mismatch.h" }
      module move                            { private header "__algorithm/move.h" }
      module move_backward                   { private header "__algorithm/move_backward.h" }
      module next_permutation                { private header "__algorithm/next_permutation.h" }
      module none_of                         { private header "__algorithm/none_of.h" }
      module nth_element                     { private header "__algorithm/nth_element.h" }
      module partial_sort                    { private header "__algorithm/partial_sort.h" }
      module partial_sort_copy               { private header "__algorithm/partial_sort_copy.h" }
      module partition                       { private header "__algorithm/partition.h" }
      module partition_copy                  { private header "__algorithm/partition_copy.h" }
      module partition_point                 { private header "__algorithm/partition_point.h" }
      module pop_heap                        { private header "__algorithm/pop_heap.h" }
      module prev_permutation                { private header "__algorithm/prev_permutation.h" }
      module push_heap                       { private header "__algorithm/push_heap.h" }
      module ranges_adjacent_find            { private header "__algorithm/ranges_adjacent_find.h" }
      module ranges_all_of                   { private header "__algorithm/ranges_all_of.h" }
      module ranges_any_of                   { private header "__algorithm/ranges_any_of.h" }
      module ranges_binary_search            { private header "__algorithm/ranges_binary_search.h" }
      module ranges_clamp                    { private header "__algorithm/ranges_clamp.h" }
      module ranges_copy                     { private header "__algorithm/ranges_copy.h" }
      module ranges_copy_backward            { private header "__algorithm/ranges_copy_backward.h" }
      module ranges_copy_if                  { private header "__algorithm/ranges_copy_if.h" }
      module ranges_copy_n                   { private header "__algorithm/ranges_copy_n.h" }
      module ranges_count                    { private header "__algorithm/ranges_count.h" }
      module ranges_count_if                 { private header "__algorithm/ranges_count_if.h" }
      module ranges_equal                    { private header "__algorithm/ranges_equal.h" }
      module ranges_equal_range              { private header "__algorithm/ranges_equal_range.h" }
      module ranges_fill                     { private header "__algorithm/ranges_fill.h" }
      module ranges_fill_n                   { private header "__algorithm/ranges_fill_n.h" }
      module ranges_find                     { private header "__algorithm/ranges_find.h" }
      module ranges_find_end                 { private header "__algorithm/ranges_find_end.h" }
      module ranges_find_first_of            { private header "__algorithm/ranges_find_first_of.h" }
      module ranges_find_if                  { private header "__algorithm/ranges_find_if.h" }
      module ranges_find_if_not              { private header "__algorithm/ranges_find_if_not.h" }
      module ranges_for_each                 { private header "__algorithm/ranges_for_each.h" }
      module ranges_for_each_n               { private header "__algorithm/ranges_for_each_n.h" }
      module ranges_generate                 { private header "__algorithm/ranges_generate.h" }
      module ranges_generate_n               { private header "__algorithm/ranges_generate_n.h" }
      module ranges_includes                 { private header "__algorithm/ranges_includes.h" }
      module ranges_inplace_merge            { private header "__algorithm/ranges_inplace_merge.h" }
      module ranges_is_heap                  { private header "__algorithm/ranges_is_heap.h" }
      module ranges_is_heap_until            { private header "__algorithm/ranges_is_heap_until.h" }
      module ranges_is_partitioned           { private header "__algorithm/ranges_is_partitioned.h" }
      module ranges_is_permutation           { private header "__algorithm/ranges_is_permutation.h" }
      module ranges_is_sorted                { private header "__algorithm/ranges_is_sorted.h" }
      module ranges_is_sorted_until          { private header "__algorithm/ranges_is_sorted_until.h" }
      module ranges_iterator_concept         { private header "__algorithm/ranges_iterator_concept.h" }
      module ranges_lexicographical_compare  { private header "__algorithm/ranges_lexicographical_compare.h" }
      module ranges_lower_bound              { private header "__algorithm/ranges_lower_bound.h" }
      module ranges_make_heap                { private header "__algorithm/ranges_make_heap.h" }
      module ranges_max                      { private header "__algorithm/ranges_max.h" }
      module ranges_max_element              { private header "__algorithm/ranges_max_element.h" }
      module ranges_merge                    { private header "__algorithm/ranges_merge.h" }
      module ranges_min                      { private header "__algorithm/ranges_min.h" }
      module ranges_min_element              { private header "__algorithm/ranges_min_element.h" }
      module ranges_minmax                   { private header "__algorithm/ranges_minmax.h" }
      module ranges_minmax_element           { private header "__algorithm/ranges_minmax_element.h" }
      module ranges_mismatch                 { private header "__algorithm/ranges_mismatch.h" }
      module ranges_move                     { private header "__algorithm/ranges_move.h" }
      module ranges_move_backward            { private header "__algorithm/ranges_move_backward.h" }
      module ranges_next_permutation         { private header "__algorithm/ranges_next_permutation.h" }
      module ranges_none_of                  { private header "__algorithm/ranges_none_of.h" }
      module ranges_nth_element              { private header "__algorithm/ranges_nth_element.h" }
      module ranges_partial_sort             { private header "__algorithm/ranges_partial_sort.h" }
      module ranges_partial_sort_copy        { private header "__algorithm/ranges_partial_sort_copy.h" }
      module ranges_partition                { private header "__algorithm/ranges_partition.h" }
      module ranges_partition_copy           { private header "__algorithm/ranges_partition_copy.h" }
      module ranges_partition_point          { private header "__algorithm/ranges_partition_point.h" }
      module ranges_pop_heap                 { private header "__algorithm/ranges_pop_heap.h" }
      module ranges_prev_permutation         { private header "__algorithm/ranges_prev_permutation.h" }
      module ranges_push_heap                { private header "__algorithm/ranges_push_heap.h" }
      module ranges_remove                   { private header "__algorithm/ranges_remove.h" }
      module ranges_remove_copy              { private header "__algorithm/ranges_remove_copy.h" }
      module ranges_remove_copy_if           { private header "__algorithm/ranges_remove_copy_if.h" }
      module ranges_remove_if                { private header "__algorithm/ranges_remove_if.h" }
      module ranges_replace                  { private header "__algorithm/ranges_replace.h" }
      module ranges_replace_copy             { private header "__algorithm/ranges_replace_copy.h" }
      module ranges_replace_copy_if          { private header "__algorithm/ranges_replace_copy_if.h" }
      module ranges_replace_if               { private header "__algorithm/ranges_replace_if.h" }
      module ranges_reverse                  { private header "__algorithm/ranges_reverse.h" }
      module ranges_reverse_copy             { private header "__algorithm/ranges_reverse_copy.h" }
      module ranges_rotate                   { private header "__algorithm/ranges_rotate.h" }
      module ranges_rotate_copy              { private header "__algorithm/ranges_rotate_copy.h" }
      module ranges_sample                   { private header "__algorithm/ranges_sample.h" }
      module ranges_search                   { private header "__algorithm/ranges_search.h" }
      module ranges_search_n                 { private header "__algorithm/ranges_search_n.h" }
      module ranges_set_difference           { private header "__algorithm/ranges_set_difference.h" }
      module ranges_set_intersection         { private header "__algorithm/ranges_set_intersection.h" }
      module ranges_set_symmetric_difference { private header "__algorithm/ranges_set_symmetric_difference.h" }
      module ranges_set_union                { private header "__algorithm/ranges_set_union.h" }
      module ranges_shuffle                  { private header "__algorithm/ranges_shuffle.h" }
      module ranges_sort                     { private header "__algorithm/ranges_sort.h" }
      module ranges_sort_heap                { private header "__algorithm/ranges_sort_heap.h" }
      module ranges_stable_partition         { private header "__algorithm/ranges_stable_partition.h" }
      module ranges_stable_sort              { private header "__algorithm/ranges_stable_sort.h" }
      module ranges_swap_ranges              { private header "__algorithm/ranges_swap_ranges.h" }
      module ranges_transform                { private header "__algorithm/ranges_transform.h" }
      module uniform_random_bit_generator_adaptor {
        private header "__algorithm/uniform_random_bit_generator_adaptor.h"
      }
      module ranges_unique                   { private header "__algorithm/ranges_unique.h" }
      module ranges_unique_copy              { private header "__algorithm/ranges_unique_copy.h" }
      module ranges_upper_bound              { private header "__algorithm/ranges_upper_bound.h" }
      module remove                          { private header "__algorithm/remove.h" }
      module remove_copy                     { private header "__algorithm/remove_copy.h" }
      module remove_copy_if                  { private header "__algorithm/remove_copy_if.h" }
      module remove_if                       { private header "__algorithm/remove_if.h" }
      module replace                         { private header "__algorithm/replace.h" }
      module replace_copy                    { private header "__algorithm/replace_copy.h" }
      module replace_copy_if                 { private header "__algorithm/replace_copy_if.h" }
      module replace_if                      { private header "__algorithm/replace_if.h" }
      module reverse                         { private header "__algorithm/reverse.h" }
      module reverse_copy                    { private header "__algorithm/reverse_copy.h" }
      module rotate                          { private header "__algorithm/rotate.h" }
      module rotate_copy                     { private header "__algorithm/rotate_copy.h" }
      module sample                          { private header "__algorithm/sample.h" }
      module search                          { private header "__algorithm/search.h" }
      module search_n                        { private header "__algorithm/search_n.h" }
      module set_difference                  { private header "__algorithm/set_difference.h" }
      module set_intersection                { private header "__algorithm/set_intersection.h" }
      module set_symmetric_difference        { private header "__algorithm/set_symmetric_difference.h" }
      module set_union                       { private header "__algorithm/set_union.h" }
      module shift_left                      { private header "__algorithm/shift_left.h" }
      module shift_right                     { private header "__algorithm/shift_right.h" }
      module shuffle                         { private header "__algorithm/shuffle.h" }
      module sift_down                       { private header "__algorithm/sift_down.h" }
      module sort                            { private header "__algorithm/sort.h" }
      module sort_heap                       { private header "__algorithm/sort_heap.h" }
      module stable_partition                { private header "__algorithm/stable_partition.h" }
      module stable_sort                     { private header "__algorithm/stable_sort.h" }
      module swap_ranges                     { private header "__algorithm/swap_ranges.h" }
      module transform                       { private header "__algorithm/transform.h" }
      module unique                          { private header "__algorithm/unique.h" }
      module unique_copy                     { private header "__algorithm/unique_copy.h" }
      module unwrap_iter                     { private header "__algorithm/unwrap_iter.h" }
      module unwrap_range                    { private header "__algorithm/unwrap_range.h" }
      module upper_bound                     { private header "__algorithm/upper_bound.h" }
    }
  }
  module any {
    header "any"
    export *
  }
  module array {
    header "array"
    export initializer_list
    export *

    module array_fwd { private header "__fwd/array.h" }
  }
  module atomic {
    header "atomic"
    export *
  }
  module barrier {
    
    header "barrier"
    export *
  }
  module bit {
    header "bit"
    export *

    module __bit {
      module bit_cast { private header "__bit/bit_cast.h" }
      module byteswap { private header "__bit/byteswap.h" }
    }
  }
  module bitset {
    header "bitset"
    export string
    export iosfwd
    export *
  }
  // No submodule for cassert. It fundamentally needs repeated, textual inclusion.
  module charconv {
    header "charconv"
    export *

    module __charconv {
      module chars_format      { private header "__charconv/chars_format.h" }
      module from_chars_result { private header "__charconv/from_chars_result.h" }
      module tables            { private header "__charconv/tables.h" }
      module to_chars_base_10  { private header "__charconv/to_chars_base_10.h" }
      module to_chars_result   { private header "__charconv/to_chars_result.h" }
    }

  }
  module chrono {
    header "chrono"
    export *

    module __chrono {
      module calendar               { private header "__chrono/calendar.h" }
      module convert_to_timespec    { private header "__chrono/convert_to_timespec.h" }
      module convert_to_tm          { private header "__chrono/convert_to_tm.h" }
      module day                    { private header "__chrono/day.h" }
      module duration               { private header "__chrono/duration.h" }
      module file_clock             { private header "__chrono/file_clock.h" }
      module formatter              {
        
        private header "__chrono/formatter.h"
      }
      module hh_mm_ss               { private header "__chrono/hh_mm_ss.h" }
      module high_resolution_clock  {
        private header "__chrono/high_resolution_clock.h"
        export steady_clock
        export system_clock
      }
      module literals               { private header "__chrono/literals.h" }
      module month                  { private header "__chrono/month.h" }
      module month_weekday          { private header "__chrono/month_weekday.h" }
      module monthday               { private header "__chrono/monthday.h" }
      module ostream                {
        
        private header "__chrono/ostream.h"
      }
      module parser_std_format_spec {
        
        private header "__chrono/parser_std_format_spec.h"
      }
      module statically_widen       { private header "__chrono/statically_widen.h" }
      module steady_clock           { private header "__chrono/steady_clock.h" }
      module system_clock           { private header "__chrono/system_clock.h" }
      module time_point             { private header "__chrono/time_point.h" }
      module weekday                { private header "__chrono/weekday.h" }
      module year                   { private header "__chrono/year.h" }
      module year_month             { private header "__chrono/year_month.h" }
      module year_month_day         { private header "__chrono/year_month_day.h" }
      module year_month_weekday     { private header "__chrono/year_month_weekday.h" }
    }
  }
  module codecvt {
    
    header "codecvt"
    export *
  }
  module compare {
    header "compare"
    export *

    module __compare {
      module common_comparison_category     { private header "__compare/common_comparison_category.h" }
      module compare_partial_order_fallback { private header "__compare/compare_partial_order_fallback.h" }
      module compare_strong_order_fallback  { private header "__compare/compare_strong_order_fallback.h" }
      module compare_three_way              { private header "__compare/compare_three_way.h" }
      module compare_three_way_result       { private header "__compare/compare_three_way_result.h" }
      module compare_weak_order_fallback    { private header "__compare/compare_weak_order_fallback.h" }
      module is_eq                          { private header "__compare/is_eq.h" }
      module ordering                       { private header "__compare/ordering.h" }
      module partial_order                  { private header "__compare/partial_order.h" }
      module strong_order                   { private header "__compare/strong_order.h" }
      module synth_three_way                { private header "__compare/synth_three_way.h" }
      module three_way_comparable           { private header "__compare/three_way_comparable.h" }
      module weak_order                     { private header "__compare/weak_order.h" }
    }
  }
  module complex {
    header "complex"
    export *
  }
  module concepts {
    header "concepts"
    export *

    module __concepts {
      module arithmetic                 { private header "__concepts/arithmetic.h" }
      module assignable                 { private header "__concepts/assignable.h" }
      module boolean_testable           { private header "__concepts/boolean_testable.h" }
      module class_or_enum              { private header "__concepts/class_or_enum.h" }
      module common_reference_with      { private header "__concepts/common_reference_with.h" }
      module common_with                { private header "__concepts/common_with.h" }
      module constructible              { private header "__concepts/constructible.h" }
      module convertible_to             { private header "__concepts/convertible_to.h" }
      module copyable                   { private header "__concepts/copyable.h" }
      module derived_from               { private header "__concepts/derived_from.h" }
      module destructible               { private header "__concepts/destructible.h" }
      module different_from             { private header "__concepts/different_from.h" }
      module equality_comparable        { private header "__concepts/equality_comparable.h" }
      module invocable                  { private header "__concepts/invocable.h" }
      module movable                    { private header "__concepts/movable.h" }
      module predicate                  { private header "__concepts/predicate.h" }
      module regular                    { private header "__concepts/regular.h" }
      module relation                   { private header "__concepts/relation.h" }
      module same_as                    { private header "__concepts/same_as.h" }
      module semiregular                { private header "__concepts/semiregular.h" }
      module swappable                  { private header "__concepts/swappable.h" }
      module totally_ordered            { private header "__concepts/totally_ordered.h" }
    }
  }
  module condition_variable {
    header "condition_variable"
    export *
  }
  module coroutine {
    requires coroutines
    header "coroutine"
    export compare
    export *

    module __coroutine {
      module coroutine_handle           { private header "__coroutine/coroutine_handle.h" }
      module coroutine_traits           { private header "__coroutine/coroutine_traits.h" }
      module noop_coroutine_handle      { private header "__coroutine/noop_coroutine_handle.h" }
      module trivial_awaitables         { private header "__coroutine/trivial_awaitables.h" }
    }
  }
  module deque {
    header "deque"
    export initializer_list
    export *
  }
  module exception {
    header "exception"
    export *
  }
  module execution {
    header "execution"
    export *
  }
  module filesystem {
    
    header "filesystem"
    export *

    module __filesystem {
      module copy_options                 { private header "__filesystem/copy_options.h" }
      module directory_entry              { private header "__filesystem/directory_entry.h" }
      module directory_iterator           { private header "__filesystem/directory_iterator.h" }
      module directory_options            { private header "__filesystem/directory_options.h" }
      module file_status                  { private header "__filesystem/file_status.h" }
      module file_time_type               { private header "__filesystem/file_time_type.h" }
      module file_type                    { private header "__filesystem/file_type.h" }
      module filesystem_error             { private header "__filesystem/filesystem_error.h" }
      module operations                   { private header "__filesystem/operations.h" }
      module path                         { private header "__filesystem/path.h" }
      module path_iterator                { private header "__filesystem/path_iterator.h" }
      module perm_options                 { private header "__filesystem/perm_options.h" }
      module perms                        { private header "__filesystem/perms.h" }
      module recursive_directory_iterator { private header "__filesystem/recursive_directory_iterator.h" }
      module space_info                   { private header "__filesystem/space_info.h" }
      module u8path                       { private header "__filesystem/u8path.h" }
    }
  }
  module format {
    header "format"
    export *

    module __format {
      module buffer                          { private header "__format/buffer.h" }
      module concepts                        { private header "__format/concepts.h" }
      module enable_insertable               { private header "__format/enable_insertable.h" }
      module extended_grapheme_cluster_table { private header "__format/extended_grapheme_cluster_table.h" }
      module format_arg                      { private header "__format/format_arg.h" }
      module format_arg_store                { private header "__format/format_arg_store.h" }
      module format_args                     { private header "__format/format_args.h" }
      module format_context {
        private header "__format/format_context.h"
        export optional
        export locale
      }
      module format_error                    { private header "__format/format_error.h" }
      module format_functions                { private header "__format/format_functions.h" }
      module format_fwd                      { private header "__format/format_fwd.h" }
      module format_parse_context            { private header "__format/format_parse_context.h" }
      module format_string                   { private header "__format/format_string.h" }
      module format_to_n_result {
        private header "__format/format_to_n_result.h"
        export iterator.__iterator.incrementable_traits
      }
      module formatter                       { private header "__format/formatter.h" }
      module formatter_bool                  { private header "__format/formatter_bool.h" }
      module formatter_char                  { private header "__format/formatter_char.h" }
      module formatter_floating_point        { private header "__format/formatter_floating_point.h" }
      module formatter_integer               { private header "__format/formatter_integer.h" }
      module formatter_integral              { private header "__format/formatter_integral.h" }
      module formatter_output                { private header "__format/formatter_output.h" }
      module formatter_pointer               { private header "__format/formatter_pointer.h" }
      module formatter_string                { private header "__format/formatter_string.h" }
      module parser_std_format_spec          { private header "__format/parser_std_format_spec.h" }
      module unicode                         { private header "__format/unicode.h" }
    }
  }
  module forward_list {
    header "forward_list"
    export initializer_list
    export *
  }
  module fstream {
    
    header "fstream"
    export *
  }
  module functional {
    header "functional"
    export *

    module __functional {
      module binary_function            { private header "__functional/binary_function.h" }
      module binary_negate              { private header "__functional/binary_negate.h" }
      module bind                       { private header "__functional/bind.h" }
      module bind_back                  { private header "__functional/bind_back.h" }
      module bind_front                 { private header "__functional/bind_front.h" }
      module binder1st                  { private header "__functional/binder1st.h" }
      module binder2nd                  { private header "__functional/binder2nd.h" }
      module boyer_moore_searcher       { private header "__functional/boyer_moore_searcher.h" }
      module compose                    { private header "__functional/compose.h" }
      module default_searcher           { private header "__functional/default_searcher.h" }
      module function                   { private header "__functional/function.h" }
      module hash                       { private header "__functional/hash.h" }
      module hash_fwd                   { private header "__fwd/hash.h" }
      module identity                   { private header "__functional/identity.h" }
      module invoke                     { private header "__functional/invoke.h" }
      module is_transparent             { private header "__functional/is_transparent.h" }
      module mem_fn                     { private header "__functional/mem_fn.h" }
      module mem_fun_ref                { private header "__functional/mem_fun_ref.h" }
      module not_fn                     { private header "__functional/not_fn.h" }
      module operations                 { private header "__functional/operations.h" }
      module perfect_forward            { private header "__functional/perfect_forward.h" }
      module pointer_to_binary_function { private header "__functional/pointer_to_binary_function.h" }
      module pointer_to_unary_function  { private header "__functional/pointer_to_unary_function.h" }
      module ranges_operations          { private header "__functional/ranges_operations.h" }
      module reference_wrapper          { private header "__functional/reference_wrapper.h" }
      module unary_function             { private header "__functional/unary_function.h" }
      module unary_negate               { private header "__functional/unary_negate.h" }
      module unwrap_ref                 { private header "__functional/unwrap_ref.h" }
      module weak_result_type           { private header "__functional/weak_result_type.h" }
    }
  }
  module future {
    
    header "future"
    export *
  }
  module initializer_list {
    header "initializer_list"
    export *
  }
  module iomanip {
    
    header "iomanip"
    export *
  }
  module ios {
    
    header "ios"
    export iosfwd
    export *

    module __ios {
      module fpos { private header "__ios/fpos.h" }
    }
  }
  module iosfwd {
    header "iosfwd"
    export *
  }
  module iostream {
    
    header "iostream"
    export ios
    export streambuf
    export istream
    export ostream
    export *
  }
  module istream {
    
    header "istream"
    // FIXME: should re-export ios, streambuf?
    export *
  }
  module iterator {
    header "iterator"
    export *

    module __iterator {
      module access                { private header "__iterator/access.h" }
      module advance               { private header "__iterator/advance.h" }
      module back_insert_iterator  { private header "__iterator/back_insert_iterator.h" }
      module bounded_iter          { private header "__iterator/bounded_iter.h" }
      module common_iterator       { private header "__iterator/common_iterator.h" }
      module concepts              { private header "__iterator/concepts.h" }
      module counted_iterator      { private header "__iterator/counted_iterator.h" }
      module data                  { private header "__iterator/data.h" }
      module default_sentinel      { private header "__iterator/default_sentinel.h" }
      module distance              { private header "__iterator/distance.h" }
      module empty                 { private header "__iterator/empty.h" }
      module erase_if_container    { private header "__iterator/erase_if_container.h" }
      module front_insert_iterator { private header "__iterator/front_insert_iterator.h" }
      module incrementable_traits  { private header "__iterator/incrementable_traits.h" }
      module indirectly_comparable { private header "__iterator/indirectly_comparable.h" }
      module insert_iterator       { private header "__iterator/insert_iterator.h" }
      module istream_iterator      { private header "__iterator/istream_iterator.h" }
      module istreambuf_iterator   { private header "__iterator/istreambuf_iterator.h" }
      module iter_move             { private header "__iterator/iter_move.h" }
      module iter_swap             { private header "__iterator/iter_swap.h" }
      module iterator              { private header "__iterator/iterator.h" }
      module iterator_traits       { private header "__iterator/iterator_traits.h" }
      module mergeable             { private header "__iterator/mergeable.h" }
      module move_iterator         { private header "__iterator/move_iterator.h" }
      module move_sentinel         { private header "__iterator/move_sentinel.h" }
      module next                  { private header "__iterator/next.h" }
      module ostream_iterator      { private header "__iterator/ostream_iterator.h" }
      module ostreambuf_iterator   {
        private header "__iterator/ostreambuf_iterator.h"
        export iosfwd
      }
      module permutable            { private header "__iterator/permutable.h" }
      module prev                  { private header "__iterator/prev.h" }
      module projected             { private header "__iterator/projected.h" }
      module readable_traits       { private header "__iterator/readable_traits.h" }
      module reverse_access        { private header "__iterator/reverse_access.h" }
      module reverse_iterator      { private header "__iterator/reverse_iterator.h" }
      module size                  { private header "__iterator/size.h" }
      module sortable              { private header "__iterator/sortable.h" }
      module unreachable_sentinel  { private header "__iterator/unreachable_sentinel.h" }
      module wrap_iter             { private header "__iterator/wrap_iter.h" }
    }
  }
  module latch {
    
    header "latch"
    export *
  }

  module __debug_utils {
    module randomize_range { private header "__debug_utils/randomize_range.h" }
  }

  module limits {
    header "limits"
    export *
  }
  module list {
    header "list"
    export initializer_list
    export *
  }
  module locale {
    
    header "locale"
    export *
  }
  module map {
    header "map"
    export initializer_list
    export *
  }
  module memory {
    header "memory"
    export *

    module __memory {
      module addressof                       { private header "__memory/addressof.h" }
      module align                           { private header "__memory/align.h" }
      module allocate_at_least               { private header "__memory/allocate_at_least.h" }
      module allocation_guard                { private header "__memory/allocation_guard.h" }
      module allocator                       { private header "__memory/allocator.h" }
      module allocator_arg_t                 { private header "__memory/allocator_arg_t.h" }
      module allocator_traits                { private header "__memory/allocator_traits.h" }
      module assume_aligned                  { private header "__memory/assume_aligned.h" }
      module auto_ptr                        { private header "__memory/auto_ptr.h" }
      module builtin_new_allocator           { private header "__memory/builtin_new_allocator.h" }
      module compressed_pair                 { private header "__memory/compressed_pair.h" }
      module concepts                        { private header "__memory/concepts.h" }
      module construct_at                    { private header "__memory/construct_at.h" }
      module destruct_n                      { private header "__memory/destruct_n.h" }
      module pointer_traits                  { private header "__memory/pointer_traits.h" }
      module ranges_construct_at             { private header "__memory/ranges_construct_at.h" }
      module ranges_uninitialized_algorithms { private header "__memory/ranges_uninitialized_algorithms.h" }
      module raw_storage_iterator            { private header "__memory/raw_storage_iterator.h" }
      module shared_ptr                      { private header "__memory/shared_ptr.h" }
      module swap_allocator                  { private header "__memory/swap_allocator.h" }
      module temp_value                      { private header "__memory/temp_value.h" }
      module temporary_buffer                { private header "__memory/temporary_buffer.h" }
      module uninitialized_algorithms        { private header "__memory/uninitialized_algorithms.h" }
      module unique_ptr                      { private header "__memory/unique_ptr.h" }
      module uses_allocator                  { private header "__memory/uses_allocator.h" }
      module voidify                         { private header "__memory/voidify.h" }
    }
  }
  module mutex {
    
    header "mutex"
    export *
  }
  module new {
    header "new"
    export *
  }
  module numbers {
    header "numbers"
    export *
  }
  module numeric {
    header "numeric"
    export *

    module __numeric {
      module accumulate               { private header "__numeric/accumulate.h" }
      module adjacent_difference      { private header "__numeric/adjacent_difference.h" }
      module exclusive_scan           { private header "__numeric/exclusive_scan.h" }
      module gcd_lcm                  { private header "__numeric/gcd_lcm.h" }
      module inclusive_scan           { private header "__numeric/inclusive_scan.h" }
      module inner_product            { private header "__numeric/inner_product.h" }
      module iota                     { private header "__numeric/iota.h" }
      module midpoint                 { private header "__numeric/midpoint.h" }
      module partial_sum              { private header "__numeric/partial_sum.h" }
      module reduce                   { private header "__numeric/reduce.h" }
      module transform_exclusive_scan { private header "__numeric/transform_exclusive_scan.h" }
      module transform_inclusive_scan { private header "__numeric/transform_inclusive_scan.h" }
      module transform_reduce         { private header "__numeric/transform_reduce.h" }
    }
  }
  module optional {
    header "optional"
    export *
  }
  module ostream {
    
    header "ostream"
    // FIXME: should re-export ios, streambuf?
    export *
  }
  module queue {
    header "queue"
    export initializer_list
    export *
  }
  module random {
    header "random"
    export initializer_list
    export *

    module __random {
      module bernoulli_distribution          { private header "__random/bernoulli_distribution.h" }
      module binomial_distribution           { private header "__random/binomial_distribution.h" }
      module cauchy_distribution             { private header "__random/cauchy_distribution.h" }
      module chi_squared_distribution        { private header "__random/chi_squared_distribution.h" }
      module clamp_to_integral               { private header "__random/clamp_to_integral.h" }
      module default_random_engine           { private header "__random/default_random_engine.h" }
      module discard_block_engine            { private header "__random/discard_block_engine.h" }
      module discrete_distribution {
        private header "__random/discrete_distribution.h"
        export vector
      }
      module exponential_distribution        { private header "__random/exponential_distribution.h" }
      module extreme_value_distribution      { private header "__random/extreme_value_distribution.h" }
      module fisher_f_distribution           { private header "__random/fisher_f_distribution.h" }
      module gamma_distribution              { private header "__random/gamma_distribution.h" }
      module generate_canonical              { private header "__random/generate_canonical.h" }
      module geometric_distribution          { private header "__random/geometric_distribution.h" }
      module independent_bits_engine         { private header "__random/independent_bits_engine.h" }
      module is_seed_sequence                { private header "__random/is_seed_sequence.h" }
      module is_valid                        { private header "__random/is_valid.h" }
      module knuth_b                         { private header "__random/knuth_b.h" }
      module linear_congruential_engine      { private header "__random/linear_congruential_engine.h" }
      module log2                            { private header "__random/log2.h" }
      module lognormal_distribution          { private header "__random/lognormal_distribution.h" }
      module mersenne_twister_engine         { private header "__random/mersenne_twister_engine.h" }
      module negative_binomial_distribution  { private header "__random/negative_binomial_distribution.h" }
      module normal_distribution             { private header "__random/normal_distribution.h" }
      module piecewise_constant_distribution {
        private header "__random/piecewise_constant_distribution.h"
        export vector
      }
      module piecewise_linear_distribution {
        private header "__random/piecewise_linear_distribution.h"
        export vector
      }
      module poisson_distribution            { private header "__random/poisson_distribution.h" }
      module random_device                   { private header "__random/random_device.h" }
      module ranlux                          { private header "__random/ranlux.h" }
      module seed_seq                        { private header "__random/seed_seq.h" }
      module shuffle_order_engine            { private header "__random/shuffle_order_engine.h" }
      module student_t_distribution          { private header "__random/student_t_distribution.h" }
      module subtract_with_carry_engine      { private header "__random/subtract_with_carry_engine.h" }
      module uniform_int_distribution        { private header "__random/uniform_int_distribution.h" }
      module uniform_random_bit_generator    { private header "__random/uniform_random_bit_generator.h" }
      module uniform_real_distribution       { private header "__random/uniform_real_distribution.h" }
      module weibull_distribution            { private header "__random/weibull_distribution.h" }
    }
  }
  module ranges {
    header "ranges"
    export compare
    export initializer_list
    export iterator
    export *

    module __ranges {
      module access                 { private header "__ranges/access.h" }
      module all                    {
        private header "__ranges/all.h"
        export functional.__functional.compose
        export functional.__functional.perfect_forward
      }
      module common_view            { private header "__ranges/common_view.h" }
      module concepts               { private header "__ranges/concepts.h" }
      module copyable_box           { private header "__ranges/copyable_box.h" }
      module counted                {
        private header "__ranges/counted.h"
        export span
      }
      module dangling               { private header "__ranges/dangling.h" }
      module data                   { private header "__ranges/data.h" }
      module drop_view              { private header "__ranges/drop_view.h" }
      module empty                  { private header "__ranges/empty.h" }
      module empty_view             { private header "__ranges/empty_view.h" }
      module enable_borrowed_range  { private header "__ranges/enable_borrowed_range.h" }
      module enable_view            { private header "__ranges/enable_view.h" }
      module filter_view            { private header "__ranges/filter_view.h" }
      module iota_view              { private header "__ranges/iota_view.h" }
      module join_view              { private header "__ranges/join_view.h" }
      module lazy_split_view        { private header "__ranges/lazy_split_view.h" }
      module non_propagating_cache  { private header "__ranges/non_propagating_cache.h" }
      module owning_view            { private header "__ranges/owning_view.h" }
      module range_adaptor          { private header "__ranges/range_adaptor.h" }
      module rbegin                 { private header "__ranges/rbegin.h" }
      module ref_view               { private header "__ranges/ref_view.h" }
      module rend                   { private header "__ranges/rend.h" }
      module reverse_view           { private header "__ranges/reverse_view.h" }
      module single_view            { private header "__ranges/single_view.h" }
      module size                   { private header "__ranges/size.h" }
      module subrange               { private header "__ranges/subrange.h" }
      module take_view              { private header "__ranges/take_view.h" }
      module transform_view         {
        private header "__ranges/transform_view.h"
        export functional.__functional.bind_back
        export functional.__functional.perfect_forward
      }
      module view_interface         { private header "__ranges/view_interface.h" }
      module views                  { private header "__ranges/views.h" }
      module zip_view               { private header "__ranges/zip_view.h" }
    }
  }
  module ratio {
    header "ratio"
    export *
  }
  module regex {
    
    header "regex"
    export initializer_list
    export *
  }
  module scoped_allocator {
    header "scoped_allocator"
    export *
  }
  module semaphore {
    
    header "semaphore"
    export *
  }
  module set {
    header "set"
    export initializer_list
    export *
  }
  module shared_mutex {
    
    header "shared_mutex"
    export version
  }
  module span {
    header "span"
    export ranges.__ranges.enable_borrowed_range
    export version
    module span_fwd { private header "__fwd/span.h" }
  }
  module sstream {
    
    header "sstream"
    // FIXME: should re-export istream, ostream, ios, streambuf, string?
    export *
  }
  module stack {
    header "stack"
    export initializer_list
    export *
  }
  module stdexcept {
    header "stdexcept"
    export *
  }
  module streambuf {
    
    header "streambuf"
    export *
  }
  module string {
    header "string"
    export initializer_list
    export string_view
    module __string {
      module char_traits           { private header "__string/char_traits.h" }
      module extern_template_lists { private header "__string/extern_template_lists.h" }
    }
    export *
  }
  module string_view {
    header "string_view"
    export initializer_list
    export *
    module string_view_fwd { private header "__fwd/string_view.h" }
  }
  module strstream {
    
    header "strstream"
    export *
  }
  module system_error {
    header "system_error"
    export *
  }
  module thread {
    
    header "thread"
    export *

    module __thread {
      module poll_with_backoff    { private header "__thread/poll_with_backoff.h" }
      module timed_backoff_policy { private header "__thread/timed_backoff_policy.h" }
    }
  }
  module tuple {
    header "tuple"
    export *

    module apply_cv         { private header "__tuple/apply_cv.h" }
    module get_fwd          { private header "__fwd/get.h" }
    module make_tuple_types { private header "__tuple/make_tuple_types.h" }
    module sfinae_helpers   { private header "__tuple/sfinae_helpers.h" }
    module tuple_element    { private header "__tuple/tuple_element.h" }
    module tuple_fwd        { private header "__fwd/tuple.h" }
    module tuple_indices    { private header "__tuple/tuple_indices.h" }
    module tuple_like       { private header "__tuple/tuple_like.h" }
    module tuple_size       { private header "__tuple/tuple_size.h" }
    module tuple_types      { private header "__tuple/tuple_types.h" }
  }
  module type_traits {
    header "type_traits"
    export functional.__functional.unwrap_ref
    export *

    module add_const                           { private header "__type_traits/add_const.h" }
    module add_cv                              { private header "__type_traits/add_cv.h" }
    module add_lvalue_reference                { private header "__type_traits/add_lvalue_reference.h" }
    module add_pointer                         { private header "__type_traits/add_pointer.h" }
    module add_rvalue_reference                { private header "__type_traits/add_rvalue_reference.h" }
    module add_volatile                        { private header "__type_traits/add_volatile.h" }
    module aligned_storage                     { private header "__type_traits/aligned_storage.h" }
    module aligned_union                       { private header "__type_traits/aligned_union.h" }
    module alignment_of                        { private header "__type_traits/alignment_of.h" }
    module apply_cv                            { private header "__type_traits/apply_cv.h" }
    module can_extract_key                     { private header "__type_traits/can_extract_key.h" }
    module common_reference                    { private header "__type_traits/common_reference.h" }
    module common_type                         { private header "__type_traits/common_type.h" }
    module conditional                         { private header "__type_traits/conditional.h" }
    module conjunction                         { private header "__type_traits/conjunction.h" }
    module copy_cv                             { private header "__type_traits/copy_cv.h" }
    module copy_cvref                          { private header "__type_traits/copy_cvref.h" }
    module decay                               { private header "__type_traits/decay.h" }
    module dependent_type                      { private header "__type_traits/dependent_type.h" }
    module disjunction                         { private header "__type_traits/disjunction.h" }
    module enable_if                           { private header "__type_traits/enable_if.h" }
    module extent                              { private header "__type_traits/extent.h" }
    module has_unique_object_representation    { private header "__type_traits/has_unique_object_representation.h" }
    module has_virtual_destructor              { private header "__type_traits/has_virtual_destructor.h" }
    module integral_constant                   { private header "__type_traits/integral_constant.h" }
    module is_abstract                         { private header "__type_traits/is_abstract.h" }
    module is_aggregate                        { private header "__type_traits/is_aggregate.h" }
    module is_allocator                        { private header "__type_traits/is_allocator.h" }
    module is_arithmetic                       { private header "__type_traits/is_arithmetic.h" }
    module is_array                            { private header "__type_traits/is_array.h" }
    module is_assignable                       { private header "__type_traits/is_assignable.h" }
    module is_base_of                          { private header "__type_traits/is_base_of.h" }
    module is_bounded_array                    { private header "__type_traits/is_bounded_array.h" }
    module is_callable                         { private header "__type_traits/is_callable.h" }
    module is_char_like_type                   { private header "__type_traits/is_char_like_type.h" }
    module is_class                            { private header "__type_traits/is_class.h" }
    module is_compound                         { private header "__type_traits/is_compound.h" }
    module is_const                            { private header "__type_traits/is_const.h" }
    module is_constant_evaluated               { private header "__type_traits/is_constant_evaluated.h" }
    module is_constructible                    { private header "__type_traits/is_constructible.h" }
    module is_convertible                      { private header "__type_traits/is_convertible.h" }
    module is_copy_assignable                  { private header "__type_traits/is_copy_assignable.h" }
    module is_copy_constructible               { private header "__type_traits/is_copy_constructible.h" }
    module is_core_convertible                 { private header "__type_traits/is_core_convertible.h" }
    module is_default_constructible            { private header "__type_traits/is_default_constructible.h" }
    module is_destructible                     { private header "__type_traits/is_destructible.h" }
    module is_empty                            { private header "__type_traits/is_empty.h" }
    module is_enum                             { private header "__type_traits/is_enum.h" }
    module is_final                            { private header "__type_traits/is_final.h" }
    module is_floating_point                   { private header "__type_traits/is_floating_point.h" }
    module is_function                         { private header "__type_traits/is_function.h" }
    module is_fundamental                      { private header "__type_traits/is_fundamental.h" }
    module is_implicitly_default_constructible { private header "__type_traits/is_implicitly_default_constructible.h" }
    module is_integral                         { private header "__type_traits/is_integral.h" }
    module is_literal_type                     { private header "__type_traits/is_literal_type.h" }
    module is_member_function_pointer          { private header "__type_traits/is_member_function_pointer.h" }
    module is_member_object_pointer            { private header "__type_traits/is_member_object_pointer.h" }
    module is_member_pointer                   { private header "__type_traits/is_member_pointer.h" }
    module is_move_assignable                  { private header "__type_traits/is_move_assignable.h" }
    module is_move_constructible               { private header "__type_traits/is_move_constructible.h" }
    module is_nothrow_assignable               { private header "__type_traits/is_nothrow_assignable.h" }
    module is_nothrow_constructible            { private header "__type_traits/is_nothrow_constructible.h" }
    module is_nothrow_convertible              { private header "__type_traits/is_nothrow_convertible.h" }
    module is_nothrow_copy_assignable          { private header "__type_traits/is_nothrow_copy_assignable.h" }
    module is_nothrow_copy_constructible       { private header "__type_traits/is_nothrow_copy_constructible.h" }
    module is_nothrow_default_constructible    { private header "__type_traits/is_nothrow_default_constructible.h" }
    module is_nothrow_destructible             { private header "__type_traits/is_nothrow_destructible.h" }
    module is_nothrow_move_assignable          { private header "__type_traits/is_nothrow_move_assignable.h" }
    module is_nothrow_move_constructible       { private header "__type_traits/is_nothrow_move_constructible.h" }
    module is_null_pointer                     { private header "__type_traits/is_null_pointer.h" }
    module is_object                           { private header "__type_traits/is_object.h" }
    module is_pod                              { private header "__type_traits/is_pod.h" }
    module is_pointer                          { private header "__type_traits/is_pointer.h" }
    module is_polymorphic                      { private header "__type_traits/is_polymorphic.h" }
    module is_primary_template                 { private header "__type_traits/is_primary_template.h" }
    module is_reference                        { private header "__type_traits/is_reference.h" }
    module is_reference_wrapper                { private header "__type_traits/is_reference_wrapper.h" }
    module is_referenceable                    { private header "__type_traits/is_referenceable.h" }
    module is_same                             { private header "__type_traits/is_same.h" }
    module is_scalar                           { private header "__type_traits/is_scalar.h" }
    module is_scoped_enum                      { private header "__type_traits/is_scoped_enum.h" }
    module is_signed                           { private header "__type_traits/is_signed.h" }
    module is_signed_integer                   { private header "__type_traits/is_signed_integer.h" }
    module is_standard_layout                  { private header "__type_traits/is_standard_layout.h" }
    module is_swappable                        { private header "__type_traits/is_swappable.h" }
    module is_trivial                          { private header "__type_traits/is_trivial.h" }
    module is_trivially_assignable             { private header "__type_traits/is_trivially_assignable.h" }
    module is_trivially_constructible          { private header "__type_traits/is_trivially_constructible.h" }
    module is_trivially_copy_assignable        { private header "__type_traits/is_trivially_copy_assignable.h" }
    module is_trivially_copy_constructible     { private header "__type_traits/is_trivially_copy_constructible.h" }
    module is_trivially_copyable               { private header "__type_traits/is_trivially_copyable.h" }
    module is_trivially_default_constructible  { private header "__type_traits/is_trivially_default_constructible.h" }
    module is_trivially_destructible           { private header "__type_traits/is_trivially_destructible.h" }
    module is_trivially_move_assignable        { private header "__type_traits/is_trivially_move_assignable.h" }
    module is_trivially_move_constructible     { private header "__type_traits/is_trivially_move_constructible.h" }
    module is_unbounded_array                  { private header "__type_traits/is_unbounded_array.h" }
    module is_union                            { private header "__type_traits/is_union.h" }
    module is_unsigned                         { private header "__type_traits/is_unsigned.h" }
    module is_unsigned_integer                 { private header "__type_traits/is_unsigned_integer.h" }
    module is_valid_expansion                  { private header "__type_traits/is_valid_expansion.h" }
    module is_void                             { private header "__type_traits/is_void.h" }
    module is_volatile                         { private header "__type_traits/is_volatile.h" }
    module lazy                                { private header "__type_traits/lazy.h" }
    module make_32_64_or_128_bit               { private header "__type_traits/make_32_64_or_128_bit.h" }
    module make_const_lvalue_ref               { private header "__type_traits/make_const_lvalue_ref.h" }
    module make_signed                         { private header "__type_traits/make_signed.h" }
    module make_unsigned                       { private header "__type_traits/make_unsigned.h" }
    module maybe_const                         { private header "__type_traits/maybe_const.h" }
    module nat                                 { private header "__type_traits/nat.h" }
    module negation                            { private header "__type_traits/negation.h" }
    module noexcept_move_assign_container      { private header "__type_traits/noexcept_move_assign_container.h" }
    module promote                             { private header "__type_traits/promote.h" }
    module rank                                { private header "__type_traits/rank.h" }
    module remove_all_extents                  { private header "__type_traits/remove_all_extents.h" }
    module remove_const                        { private header "__type_traits/remove_const.h" }
    module remove_const_ref                    { private header "__type_traits/remove_const_ref.h" }
    module remove_cv                           { private header "__type_traits/remove_cv.h" }
    module remove_cvref                        { private header "__type_traits/remove_cvref.h" }
    module remove_extent                       { private header "__type_traits/remove_extent.h" }
    module remove_pointer                      { private header "__type_traits/remove_pointer.h" }
    module remove_reference                    { private header "__type_traits/remove_reference.h" }
    module remove_volatile                     { private header "__type_traits/remove_volatile.h" }
    module result_of                           { private header "__type_traits/result_of.h" }
    module type_identity                       { private header "__type_traits/type_identity.h" }
    module type_list                           { private header "__type_traits/type_list.h" }
    module underlying_type                     { private header "__type_traits/underlying_type.h" }
    module void_t                              { private header "__type_traits/void_t.h" }
  }
  module typeindex {
    header "typeindex"
    export *
  }
  module typeinfo {
    header "typeinfo"
    export *
  }
  module unordered_map {
    header "unordered_map"
    export initializer_list
    export *
  }
  module unordered_set {
    header "unordered_set"
    export initializer_list
    export *
  }
  module utility {
    header "utility"
    export initializer_list
    export *

    module __utility {
      module as_const            { private header "__utility/as_const.h" }
      module auto_cast           { private header "__utility/auto_cast.h" }
      module cmp                 { private header "__utility/cmp.h" }
      module convert_to_integral { private header "__utility/convert_to_integral.h" }
      module declval             { private header "__utility/declval.h" }
      module exchange            { private header "__utility/exchange.h" }
      module forward             { private header "__utility/forward.h" }
      module forward_like        { private header "__utility/forward_like.h" }
      module in_place            { private header "__utility/in_place.h" }
      module integer_sequence    { private header "__utility/integer_sequence.h" }
      module move                { private header "__utility/move.h" }
      module pair                { private header "__utility/pair.h" }
      module pair_fwd            { private header "__fwd/pair.h" }
      module piecewise_construct { private header "__utility/piecewise_construct.h" }
      module priority_tag        { private header "__utility/priority_tag.h" }
      module rel_ops             { private header "__utility/rel_ops.h" }
      module swap                { private header "__utility/swap.h" }
      module to_underlying       { private header "__utility/to_underlying.h" }
      module transaction         { private header "__utility/transaction.h" }
      module unreachable         { private header "__utility/unreachable.h" }
    }
  }
  module valarray {
    header "valarray"
    export initializer_list
    export *
  }
  module variant {
    header "variant"
    export *

    module __variant {
      module monostate { private header "__variant/monostate.h" }
    }
  }
  module vector {
    header "vector"
    export initializer_list
    export *
  }
  module version {
    header "version"
    export *
  }

  // FIXME: These should be private.
  module __assert            {         header "__assert"            export * }
  module __availability      { private header "__availability"      export * }
  module __bit_reference     { private header "__bit_reference"     export * }
  module __bits              { private header "__bits"              export * }
  module __debug             {         header "__debug"             export * }
  module __errc              { private header "__errc"              export * }
  module __hash_table        {         header "__hash_table"        export * }
  module __locale            {
    
    private header "__locale" export *
  }
  module __mbstate_t         { private header "__mbstate_t.h"       export * }
  module __mutex_base        { private header "__mutex_base"        export * }
  module __node_handle       { private header "__node_handle"       export * }
  module __split_buffer      { private header "__split_buffer"      export * }
  module __std_stream        {
    
    private header "__std_stream" export *
  }
  module __threading_support {         header "__threading_support" export * }
  module __tree              {         header "__tree"              export * }
  module __undef_macros      {         header "__undef_macros"      export * }
  module __verbose_abort     {         header "__verbose_abort"     export * }

  module experimental {
    requires cplusplus11

    module algorithm {
      header "experimental/algorithm"
      export *
    }
    module coroutine {
      requires coroutines
      header "experimental/coroutine"
      export *
    }
    module deque {
      header "experimental/deque"
      export *
    }
    module forward_list {
      header "experimental/forward_list"
      export *
    }
    module functional {
      header "experimental/functional"
      export *
    }
    module iterator {
      header "experimental/iterator"
      export *
    }
    module list {
      header "experimental/list"
      export *
    }
    module map {
      header "experimental/map"
      export *
    }
    module memory_resource {
      header "experimental/memory_resource"
      export *
    }
    module propagate_const {
      header "experimental/propagate_const"
      export *
    }
    module regex {
      
      header "experimental/regex"
      export *
    }
    module simd {
      header "experimental/simd"
      export *
    }
    module set {
      header "experimental/set"
      export *
    }
    module span {
      header "span"
      export *
    }
    module string {
      header "experimental/string"
      export *
    }
    module type_traits {
      header "experimental/type_traits"
      export *
    }
    module unordered_map {
      header "experimental/unordered_map"
      export *
    }
    module unordered_set {
      header "experimental/unordered_set"
      export *
    }
    module utility {
      header "experimental/utility"
      export *
    }
    module vector {
      header "experimental/vector"
      export *
    }
    // FIXME these should be private
    module __memory {
      header "experimental/__memory"
      export *
    }
  } // end experimental
}
