// 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 {
      @requires_LIBCXX_ENABLE_LOCALIZATION@
      header "locale.h"
      export *
    }
    module math_h {
      header "math.h"
      export *
    }
    module setjmp_h {
      header "setjmp.h"
      export *
    }
    module stdatomic_h {
      @requires_LIBCXX_ENABLE_THREADS@
      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 {
      @requires_LIBCXX_ENABLE_WIDE_CHARACTERS@
      // <wchar.h>'s __need_* macros require textual inclusion.
      textual header "wchar.h"
      export *
    }
    module wctype_h {
      @requires_LIBCXX_ENABLE_WIDE_CHARACTERS@
      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 {
      @requires_LIBCXX_ENABLE_LOCALIZATION@
      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 {
      @requires_LIBCXX_ENABLE_WIDE_CHARACTERS@
      header "cwchar"
      export depr.stdio_h
      export *
    }
    module cwctype {
      @requires_LIBCXX_ENABLE_WIDE_CHARACTERS@
      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_move_common                { private header "__algorithm/copy_move_common.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"
        export functional.__functional.ranges_operations
      }
      module ranges_clamp {
        private header "__algorithm/ranges_clamp.h"
        export functional.__functional.ranges_operations
      }
      module ranges_copy {
        private header "__algorithm/ranges_copy.h"
        export algorithm.__algorithm.in_out_result
      }
      module ranges_copy_backward {
        private header "__algorithm/ranges_copy_backward.h"
        export algorithm.__algorithm.in_out_result
      }
      module ranges_copy_if {
        private header "__algorithm/ranges_copy_if.h"
        export algorithm.__algorithm.in_out_result
      }
      module ranges_copy_n {
        private header "__algorithm/ranges_copy_n.h"
        export algorithm.__algorithm.in_out_result
      }
      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"
        export functional.__functional.ranges_operations
      }
      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"
        export algorithm.__algorithm.in_fun_result
      }
      module ranges_for_each_n {
        private header "__algorithm/ranges_for_each_n.h"
        export algorithm.__algorithm.in_fun_result
      }
      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"
        export functional.__functional.ranges_operations
      }
      module ranges_inplace_merge {
        private header "__algorithm/ranges_inplace_merge.h"
        export functional.__functional.ranges_operations
      }
      module ranges_is_heap {
        private header "__algorithm/ranges_is_heap.h"
        export functional.__functional.ranges_operations
      }
      module ranges_is_heap_until {
        private header "__algorithm/ranges_is_heap_until.h"
        export functional.__functional.ranges_operations
      }
      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"
        export functional.__functional.ranges_operations
      }
      module ranges_is_sorted_until {
        private header "__algorithm/ranges_is_sorted_until.h"
        export functional.__functional.ranges_operations
      }
      module ranges_iterator_concept         { private header "__algorithm/ranges_iterator_concept.h" }
      module ranges_lexicographical_compare {
        private header "__algorithm/ranges_lexicographical_compare.h"
        export functional.__functional.ranges_operations
      }
      module ranges_lower_bound {
        private header "__algorithm/ranges_lower_bound.h"
        export functional.__functional.ranges_operations
      }
      module ranges_make_heap {
        private header "__algorithm/ranges_make_heap.h"
        export functional.__functional.ranges_operations
      }
      module ranges_max {
        private header "__algorithm/ranges_max.h"
        export functional.__functional.ranges_operations
      }
      module ranges_max_element {
        private header "__algorithm/ranges_max_element.h"
        export functional.__functional.ranges_operations
      }
      module ranges_merge {
        private header "__algorithm/ranges_merge.h"
        export algorithm.__algorithm.in_in_out_result
      }
      module ranges_min {
        private header "__algorithm/ranges_min.h"
        export functional.__functional.ranges_operations
      }
      module ranges_min_element {
        private header "__algorithm/ranges_min_element.h"
        export functional.__functional.ranges_operations
      }
      module ranges_minmax {
        private header "__algorithm/ranges_minmax.h"
        export functional.__functional.ranges_operations
        export algorithm.__algorithm.min_max_result
      }
      module ranges_minmax_element {
        private header "__algorithm/ranges_minmax_element.h"
        export functional.__functional.ranges_operations
        export algorithm.__algorithm.min_max_result
      }
      module ranges_mismatch {
        private header "__algorithm/ranges_mismatch.h"
        export algorithm.__algorithm.in_in_result
      }
      module ranges_move {
        private header "__algorithm/ranges_move.h"
        export algorithm.__algorithm.in_out_result
      }
      module ranges_move_backward {
        private header "__algorithm/ranges_move_backward.h"
        export algorithm.__algorithm.in_out_result
      }
      module ranges_next_permutation {
        private header "__algorithm/ranges_next_permutation.h"
        export algorithm.__algorithm.in_found_result
        export functional.__functional.ranges_operations
      }
      module ranges_none_of                  { private header "__algorithm/ranges_none_of.h" }
      module ranges_nth_element {
        private header "__algorithm/ranges_nth_element.h"
        export functional.__functional.ranges_operations
      }
      module ranges_partial_sort {
        private header "__algorithm/ranges_partial_sort.h"
        export algorithm.__algorithm.in_out_result
        export functional.__functional.ranges_operations
      }
      module ranges_partial_sort_copy {
        private header "__algorithm/ranges_partial_sort_copy.h"
        export algorithm.__algorithm.in_out_out_result
        export functional.__functional.ranges_operations
      }
      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"
        export functional.__functional.ranges_operations
      }
      module ranges_prev_permutation {
        private header "__algorithm/ranges_prev_permutation.h"
        export algorithm.__algorithm.in_found_result
        export functional.__functional.ranges_operations
      }
      module ranges_push_heap {
        private header "__algorithm/ranges_push_heap.h"
        export functional.__functional.ranges_operations
      }
      module ranges_remove                   { private header "__algorithm/ranges_remove.h" }
      module ranges_remove_copy {
        private header "__algorithm/ranges_remove_copy.h"
        export algorithm.__algorithm.in_out_result
      }
      module ranges_remove_copy_if {
        private header "__algorithm/ranges_remove_copy_if.h"
        export algorithm.__algorithm.in_out_result
      }
      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"
        export algorithm.__algorithm.in_out_result
      }
      module ranges_replace_copy_if {
        private header "__algorithm/ranges_replace_copy_if.h"
        export algorithm.__algorithm.in_out_result
      }
      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"
        export algorithm.__algorithm.in_out_result
      }
      module ranges_rotate                   { private header "__algorithm/ranges_rotate.h" }
      module ranges_rotate_copy {
        private header "__algorithm/ranges_rotate_copy.h"
        export algorithm.__algorithm.in_out_result
      }
      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"
        export algorithm.__algorithm.in_out_result
      }
      module ranges_set_intersection {
        private header "__algorithm/ranges_set_intersection.h"
        export algorithm.__algorithm.in_in_out_result
      }
      module ranges_set_symmetric_difference {
        private header "__algorithm/ranges_set_symmetric_difference.h"
        export algorithm.__algorithm.in_in_out_result
        export functional.__functional.ranges_operations
      }
      module ranges_set_union {
        private header "__algorithm/ranges_set_union.h"
        export algorithm.__algorithm.in_in_out_result
        export functional.__functional.ranges_operations
      }
      module ranges_shuffle                  { private header "__algorithm/ranges_shuffle.h" }
      module ranges_sort {
        private header "__algorithm/ranges_sort.h"
        export functional.__functional.ranges_operations
      }
      module ranges_sort_heap {
        private header "__algorithm/ranges_sort_heap.h"
        export functional.__functional.ranges_operations
      }
      module ranges_stable_partition         { private header "__algorithm/ranges_stable_partition.h" }
      module ranges_stable_sort {
        private header "__algorithm/ranges_stable_sort.h"
        export functional.__functional.ranges_operations
      }
      module ranges_swap_ranges {
        private header "__algorithm/ranges_swap_ranges.h"
        export algorithm.__algorithm.in_in_result
      }
      module ranges_transform {
        private header "__algorithm/ranges_transform.h"
        export algorithm.__algorithm.in_in_out_result
        export algorithm.__algorithm.in_out_result
      }
      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"
        export algorithm.__algorithm.in_out_result
      }
      module ranges_upper_bound {
        private header "__algorithm/ranges_upper_bound.h"
        export functional.__functional.ranges_operations
      }
      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 {
    @requires_LIBCXX_ENABLE_THREADS@
    header "barrier"
    export *
  }
  module bit {
    header "bit"
    export *

    module __bit {
      module bit_cast       { private header "__bit/bit_cast.h" }
      module bit_ceil       { private header "__bit/bit_ceil.h" }
      module bit_floor      { private header "__bit/bit_floor.h" }
      module bit_log2       { private header "__bit/bit_log2.h" }
      module bit_width      { private header "__bit/bit_width.h" }
      module blsr           { private header "__bit/blsr.h" }
      module byteswap       { private header "__bit/byteswap.h" }
      module countl         { private header "__bit/countl.h" }
      module countr         { private header "__bit/countr.h" }
      module endian         { private header "__bit/endian.h" }
      module has_single_bit { private header "__bit/has_single_bit.h" }
      module popcount       { private header "__bit/popcount.h" }
      module rotate         { private header "__bit/rotate.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              {
        @requires_LIBCXX_ENABLE_LOCALIZATION@
        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
        export time_point
      }
      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                {
        @requires_LIBCXX_ENABLE_LOCALIZATION@
        private header "__chrono/ostream.h"
      }
      module parser_std_format_spec {
        @requires_LIBCXX_ENABLE_LOCALIZATION@
        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 {
    @requires_LIBCXX_ENABLE_LOCALIZATION@
    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 expected {
    header "expected"
    export *

    module __expected {
      module bad_expected_access          { private header "__expected/bad_expected_access.h" }
      module expected                     { private header "__expected/expected.h" }
      module unexpect                     { private header "__expected/unexpect.h" }
      module unexpected                   { private header "__expected/unexpected.h" }
    }
  }
  module filesystem {
    @requires_LIBCXX_ENABLE_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 escaped_output_table            { private header "__format/escaped_output_table.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 formatter_tuple                 { private header "__format/formatter_tuple.h" }
      module parser_std_format_spec          { private header "__format/parser_std_format_spec.h" }
      module range_default_formatter         { private header "__format/range_default_formatter.h" }
      module unicode                         { private header "__format/unicode.h" }
    }
  }
  module forward_list {
    header "forward_list"
    export initializer_list
    export *
  }
  module fstream {
    @requires_LIBCXX_ENABLE_LOCALIZATION@
    @requires_LIBCXX_ENABLE_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"
        export type_traits
      }
      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 {
    @requires_LIBCXX_ENABLE_THREADS@
    header "future"
    export *
  }
  module initializer_list {
    header "initializer_list"
    export *
  }
  module iomanip {
    @requires_LIBCXX_ENABLE_LOCALIZATION@
    header "iomanip"
    export *
  }
  module ios {
    @requires_LIBCXX_ENABLE_LOCALIZATION@
    header "ios"
    export iosfwd
    export *

    module __ios {
      module fpos { private header "__ios/fpos.h" }
    }
  }
  module iosfwd {
    header "iosfwd"
    export *
  }
  module iostream {
    @requires_LIBCXX_ENABLE_LOCALIZATION@
    header "iostream"
    export ios
    export streambuf
    export istream
    export ostream
    export *
  }
  module istream {
    @requires_LIBCXX_ENABLE_LOCALIZATION@
    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"
        export functional.__functional.ranges_operations
      }
      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"
        export functional.__functional.ranges_operations
      }
      module unreachable_sentinel  { private header "__iterator/unreachable_sentinel.h" }
      module wrap_iter             { private header "__iterator/wrap_iter.h" }
    }
  }
  module latch {
    @requires_LIBCXX_ENABLE_THREADS@
    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 {
    @requires_LIBCXX_ENABLE_LOCALIZATION@
    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_destructor            { private header "__memory/allocator_destructor.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"
        export algorithm.__algorithm.in_out_result
      }
      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 uses_allocator_construction     { private header "__memory/uses_allocator_construction.h" }
      module voidify                         { private header "__memory/voidify.h" }
    }
  }
  module memory_resource {
    header "memory_resource"
    export *

    module __memory_resource {
      module memory_resource              { private header "__memory_resource/memory_resource.h" }
      module memory_resource_fwd          { private header "__fwd/memory_resource.h" }
      module monotonic_buffer_resource    { private header "__memory_resource/monotonic_buffer_resource.h" }
      module polymorphic_allocator        { private header "__memory_resource/polymorphic_allocator.h" }
      module pool_options                 { private header "__memory_resource/pool_options.h" }
      module synchronized_pool_resource   { private header "__memory_resource/synchronized_pool_resource.h" }
      module unsynchronized_pool_resource { private header "__memory_resource/unsynchronized_pool_resource.h" }
    }
  }
  module mutex {
    @requires_LIBCXX_ENABLE_THREADS@
    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 {
    @requires_LIBCXX_ENABLE_LOCALIZATION@
    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 drop_while_view        { private header "__ranges/drop_while_view.h" }
      module elements_view          { private header "__ranges/elements_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 istream_view           {
        @requires_LIBCXX_ENABLE_LOCALIZATION@
        private header "__ranges/istream_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 subrange_fwd { private header "__fwd/subrange.h" }
      }
      module take_view              { private header "__ranges/take_view.h" }
      module take_while_view        { private header "__ranges/take_while_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 {
    @requires_LIBCXX_ENABLE_LOCALIZATION@
    header "regex"
    export initializer_list
    export *
  }
  module scoped_allocator {
    header "scoped_allocator"
    export *
  }
  module semaphore {
    @requires_LIBCXX_ENABLE_THREADS@
    header "semaphore"
    export *
  }
  module set {
    header "set"
    export initializer_list
    export *
  }
  module shared_mutex {
    @requires_LIBCXX_ENABLE_THREADS@
    header "shared_mutex"
    export version
  }
  module source_location {
    header "source_location"
    export *
  }
  module span {
    header "span"
    export ranges.__ranges.enable_borrowed_range
    export version
    module span_fwd { private header "__fwd/span.h" }
  }
  module sstream {
    @requires_LIBCXX_ENABLE_LOCALIZATION@
    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 {
    @requires_LIBCXX_ENABLE_LOCALIZATION@
    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" }
      module string_fwd            { private header "__fwd/string.h" }
    }
    export *
  }
  module string_view {
    header "string_view"
    export initializer_list
    export *
    module string_view_fwd { private header "__fwd/string_view.h" }
  }
  module strstream {
    @requires_LIBCXX_ENABLE_LOCALIZATION@
    header "strstream"
    export *
  }
  module system_error {
    header "system_error"
    export *
  }
  module thread {
    @requires_LIBCXX_ENABLE_THREADS@
    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_dir/apply_cv.h" }
    module get_fwd          { private header "__fwd/get.h" }
    module make_tuple_types { private header "__tuple_dir/make_tuple_types.h" }
    module pair_like        { private header "__tuple_dir/pair_like.h" }
    module sfinae_helpers   { private header "__tuple_dir/sfinae_helpers.h" }
    module tuple_element    { private header "__tuple_dir/tuple_element.h" }
    module tuple_fwd        { private header "__fwd/tuple.h" }
    module tuple_indices    { private header "__tuple_dir/tuple_indices.h" }
    module tuple_like       { private header "__tuple_dir/tuple_like.h" }
    module tuple_like_ext   { private header "__tuple_dir/tuple_like_ext.h" }
    module tuple_size       { private header "__tuple_dir/tuple_size.h" }
    module tuple_types      { private header "__tuple_dir/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_always_bitcastable               { private header "__type_traits/is_always_bitcastable.h" }
    module is_arithmetic {
      private header "__type_traits/is_arithmetic.h"
      export integral_constant
    }
    module is_array                            {
      private header "__type_traits/is_array.h"
      export integral_constant
    }
    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"
      export integral_constant
    }
    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"
      export type_traits.integral_constant
    }
    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_specialization                   { private header "__type_traits/is_specialization.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"
      export integral_constant
    }
    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 strip_signature                     { private header "__type_traits/strip_signature.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 __debug             {         header "__debug"             export * }
  module __errc              { private header "__errc"              export * }
  module __hash_table        {         header "__hash_table"        export * }
  module __locale            {
    @requires_LIBCXX_ENABLE_LOCALIZATION@
    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        {
    @requires_LIBCXX_ENABLE_LOCALIZATION@
    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 {
      @requires_LIBCXX_ENABLE_LOCALIZATION@
      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
}
