// 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_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 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              {
        @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" }
      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 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 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 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 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_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_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"
      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" }
    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 __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            {
    @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
}
