brintos

brintos / llvm-project-archived public Read only

0
0
Text · 96.3 KiB · 5d2a92b Raw
2473 lines · plain
1// This module contains headers related to the configuration of the library. These headers2// are free of any dependency on the rest of libc++.3module std_config [system] {4  @LIBCXX_CONFIG_SITE_MODULE_ENTRY@ // generated via CMake5  textual header "__config"6  textual header "__configuration/abi.h"7  textual header "__configuration/availability.h"8  textual header "__configuration/compiler.h"9  textual header "__configuration/experimental.h"10  textual header "__configuration/hardening.h"11  textual header "__configuration/language.h"12  textual header "__configuration/platform.h"13  textual header "version"14}15 16module std_core [system] {17  module cstddef {18    module byte         { header "__cstddef/byte.h" }19    module max_align_t  {20      header "__cstddef/max_align_t.h"21      export *22    }23    module nullptr_t    { header "__cstddef/nullptr_t.h" }24    module ptrdiff_t    { header "__cstddef/ptrdiff_t.h" }25    module size_t       { header "__cstddef/size_t.h" }26  }27 28  module cstdint {29    header "cstdint"30    export *31  }32 33  module fwd {34    module byte         { header "__fwd/byte.h" }35    module functional   { header "__fwd/functional.h" }36    module pair         { header "__fwd/pair.h" }37    module tuple        { header "__fwd/tuple.h" }38  }39 40  module limits {41    header "limits"42    export *43  }44 45  module math {46    module abs                              { header "__math/abs.h" }47    module copysign                         { header "__math/copysign.h" }48    module error_functions                  { header "__math/error_functions.h" }49    module exponential_functions            { header "__math/exponential_functions.h" }50    module fdim                             { header "__math/fdim.h" }51    module fma                              { header "__math/fma.h" }52    module gamma                            { header "__math/gamma.h" }53    module hyperbolic_functions             { header "__math/hyperbolic_functions.h" }54    module hypot                            { header "__math/hypot.h" }55    module inverse_hyperbolic_functions     { header "__math/inverse_hyperbolic_functions.h" }56    module inverse_trigonometric_functions  { header "__math/inverse_trigonometric_functions.h" }57    module logarithms                       { header "__math/logarithms.h" }58    module min_max                          { header "__math/min_max.h" }59    module modulo                           { header "__math/modulo.h" }60    module remainder                        { header "__math/remainder.h" }61    module roots                            { header "__math/roots.h" }62    module rounding_functions               { header "__math/rounding_functions.h" }63    module special_functions                { header "__math/special_functions.h" }64    module traits                           { header "__math/traits.h" }65    module trigonometric_functions          { header "__math/trigonometric_functions.h" }66  }67 68  module type_traits {69    module add_cv_quals                               { header "__type_traits/add_cv_quals.h" }70    module add_pointer                                { header "__type_traits/add_pointer.h" }71    module add_reference                              { header "__type_traits/add_reference.h" }72    module aligned_storage                            { header "__type_traits/aligned_storage.h" }73    module aligned_union                              { header "__type_traits/aligned_union.h" }74    module alignment_of                               { header "__type_traits/alignment_of.h" }75    module common_reference                           { header "__type_traits/common_reference.h" }76    module common_type {77      header "__type_traits/common_type.h"78      // We need to export those because common_type inherits from either of those based on __builtin_common_type.79      export std_core.type_traits.type_identity80      export std_core.utility_core.empty81    }82    module conditional                                { header "__type_traits/conditional.h" }83    module conjunction                                { header "__type_traits/conjunction.h" }84    module container_traits                           { header "__type_traits/container_traits.h" }85    module copy_cv                                    { header "__type_traits/copy_cv.h" }86    module copy_cvref                                 { header "__type_traits/copy_cvref.h" }87    module datasizeof                                 { header "__type_traits/datasizeof.h" }88    module decay                                      { header "__type_traits/decay.h" }89    module dependent_type                             { header "__type_traits/dependent_type.h" }90    module desugars_to                                { header "__type_traits/desugars_to.h" }91    module detected_or                                { header "__type_traits/detected_or.h" }92    module disjunction                                { header "__type_traits/disjunction.h" }93    module enable_if                                  { header "__type_traits/enable_if.h" }94    module extent                                     { header "__type_traits/extent.h" }95    module has_unique_object_representation           { header "__type_traits/has_unique_object_representation.h" }96    module has_virtual_destructor                     { header "__type_traits/has_virtual_destructor.h" }97    module integer_traits                             { header "__type_traits/integer_traits.h" }98    module integral_constant                          { header "__type_traits/integral_constant.h" }99    module invoke                                     { header "__type_traits/invoke.h" }100    module is_abstract {101      header "__type_traits/is_abstract.h"102      export std_core.type_traits.integral_constant103    }104    module is_aggregate {105      header "__type_traits/is_aggregate.h"106      export std_core.type_traits.integral_constant107    }108    module is_allocator { header "__type_traits/is_allocator.h" }109    module is_always_bitcastable {110      header "__type_traits/is_always_bitcastable.h"111      export std_core.type_traits.integral_constant112    }113    module is_arithmetic {114      header "__type_traits/is_arithmetic.h"115      export std_core.type_traits.integral_constant116    }117    module is_array {118      header "__type_traits/is_array.h"119      export std_core.type_traits.integral_constant120    }121    module is_assignable {122      header "__type_traits/is_assignable.h"123      export std_core.type_traits.integral_constant124    }125    module is_base_of {126      header "__type_traits/is_base_of.h"127      export std_core.type_traits.integral_constant128    }129    module is_callable {130      header "__type_traits/is_callable.h"131      export std_core.type_traits.integral_constant132    }133    module is_char_like_type {134      header "__type_traits/is_char_like_type.h"135      export std_core.type_traits.integral_constant136    }137    module is_class {138      header "__type_traits/is_class.h"139      export std_core.type_traits.integral_constant140    }141    module is_compound {142      header "__type_traits/is_compound.h"143      export std_core.type_traits.integral_constant144    }145    module is_const {146      header "__type_traits/is_const.h"147      export std_core.type_traits.integral_constant148    }149    module is_constant_evaluated {150      header "__type_traits/is_constant_evaluated.h"151      export std_core.type_traits.integral_constant152    }153    module is_constructible {154      header "__type_traits/is_constructible.h"155      export std_core.type_traits.integral_constant156    }157    module is_convertible {158      header "__type_traits/is_convertible.h"159      export std_core.type_traits.integral_constant160    }161    module is_core_convertible {162      header "__type_traits/is_core_convertible.h"163      export std_core.type_traits.integral_constant164    }165    module is_destructible {166      header "__type_traits/is_destructible.h"167      export std_core.type_traits.integral_constant168    }169    module is_empty {170      header "__type_traits/is_empty.h"171      export std_core.type_traits.integral_constant172    }173    module is_enum {174      header "__type_traits/is_enum.h"175      export std_core.type_traits.integral_constant176    }177    module is_equality_comparable {178      header "__type_traits/is_equality_comparable.h"179      export std_core.type_traits.integral_constant180    }181    module is_execution_policy {182      header "__type_traits/is_execution_policy.h"183      export std_core.type_traits.integral_constant184    }185    module is_final {186      header "__type_traits/is_final.h"187      export std_core.type_traits.integral_constant188    }189    module is_floating_point {190      header "__type_traits/is_floating_point.h"191      export std_core.type_traits.integral_constant192    }193    module is_function {194      header "__type_traits/is_function.h"195      export std_core.type_traits.integral_constant196    }197    module is_fundamental {198      header "__type_traits/is_fundamental.h"199      export std_core.type_traits.integral_constant200    }201    module is_generic_transparent_comparator { header "__type_traits/is_generic_transparent_comparator.h" }202    module is_implicit_lifetime {203      header "__type_traits/is_implicit_lifetime.h"204      export std_core.type_traits.integral_constant205    }206    module is_implicitly_default_constructible {207      header "__type_traits/is_implicitly_default_constructible.h"208      export std_core.type_traits.integral_constant209    }210    module is_integral {211      header "__type_traits/is_integral.h"212      export std_core.type_traits.integral_constant213    }214    module is_literal_type {215      header "__type_traits/is_literal_type.h"216      export std_core.type_traits.integral_constant217    }218    module is_member_pointer {219      header "__type_traits/is_member_pointer.h"220      export std_core.type_traits.integral_constant221    }222    module is_nothrow_assignable {223      header "__type_traits/is_nothrow_assignable.h"224      export std_core.type_traits.integral_constant225    }226    module is_nothrow_constructible {227      header "__type_traits/is_nothrow_constructible.h"228      export std_core.type_traits.integral_constant229    }230    module is_nothrow_destructible {231      header "__type_traits/is_nothrow_destructible.h"232      export std_core.type_traits.integral_constant233    }234    module is_null_pointer {235      header "__type_traits/is_null_pointer.h"236      export std_core.type_traits.integral_constant237    }238    module is_object {239      header "__type_traits/is_object.h"240      export std_core.type_traits.integral_constant241    }242    module is_pod {243      header "__type_traits/is_pod.h"244      export std_core.type_traits.integral_constant245    }246    module is_pointer {247      header "__type_traits/is_pointer.h"248      export std_core.type_traits.integral_constant249    }250    module is_polymorphic {251      header "__type_traits/is_polymorphic.h"252      export std_core.type_traits.integral_constant253    }254    module is_primary_template {255      header "__type_traits/is_primary_template.h"256      export std_core.type_traits.integral_constant257    }258    module is_reference_wrapper {259      header "__type_traits/is_reference_wrapper.h"260      export std_core.type_traits.integral_constant261    }262    module is_reference {263      header "__type_traits/is_reference.h"264      export std_core.type_traits.integral_constant265    }266    module is_referenceable {267      header "__type_traits/is_referenceable.h"268      export std_core.type_traits.integral_constant269    }270    module is_same {271      header "__type_traits/is_same.h"272      export std_core.type_traits.integral_constant273    }274    module is_scalar {275      header "__type_traits/is_scalar.h"276      export std_core.type_traits.integral_constant277    }278    module is_signed {279      header "__type_traits/is_signed.h"280      export std_core.type_traits.integral_constant281    }282    module is_specialization {283      header "__type_traits/is_specialization.h"284      export std_core.type_traits.integral_constant285    }286    module is_standard_layout {287      header "__type_traits/is_standard_layout.h"288      export std_core.type_traits.integral_constant289    }290    module is_swappable {291      header "__type_traits/is_swappable.h"292      export std_core.type_traits.integral_constant293    }294    module is_trivial {295      header "__type_traits/is_trivial.h"296      export std_core.type_traits.integral_constant297    }298    module is_trivially_assignable {299      header "__type_traits/is_trivially_assignable.h"300      export std_core.type_traits.integral_constant301    }302    module is_trivially_constructible {303      header "__type_traits/is_trivially_constructible.h"304      export std_core.type_traits.integral_constant305    }306    module is_trivially_copyable {307      header "__type_traits/is_trivially_copyable.h"308      export std_core.type_traits.integral_constant309    }310    module is_trivially_destructible {311      header "__type_traits/is_trivially_destructible.h"312      export std_core.type_traits.integral_constant313    }314    module is_trivially_lexicographically_comparable {315      header "__type_traits/is_trivially_lexicographically_comparable.h"316      export std_core.type_traits.integral_constant317    }318    module is_trivially_relocatable {319      header "__type_traits/is_trivially_relocatable.h"320      export std_core.type_traits.integral_constant321    }322    module is_union {323      header "__type_traits/is_union.h"324      export std_core.type_traits.integral_constant325    }326    module is_unqualified { header "__type_traits/is_unqualified.h" }327    module is_unsigned {328      header "__type_traits/is_unsigned.h"329      export std_core.type_traits.integral_constant330    }331    module is_valid_expansion {332      header "__type_traits/is_valid_expansion.h"333      export std_core.type_traits.integral_constant334    }335    module is_void {336      header "__type_traits/is_void.h"337      export std_core.type_traits.integral_constant338    }339    module is_volatile {340      header "__type_traits/is_volatile.h"341      export std_core.type_traits.integral_constant342    }343    module is_within_lifetime                         { header "__type_traits/is_within_lifetime.h" }344    module lazy                                       { header "__type_traits/lazy.h" }345    module make_32_64_or_128_bit                      { header "__type_traits/make_32_64_or_128_bit.h" }346    module make_const_lvalue_ref                      { header "__type_traits/make_const_lvalue_ref.h" }347    module make_signed                                { header "__type_traits/make_signed.h" }348    module make_transparent                           { header "__type_traits/make_transparent.h" }349    module make_unsigned                              { header "__type_traits/make_unsigned.h" }350    module maybe_const                                { header "__type_traits/maybe_const.h" }351    module nat                                        { header "__type_traits/nat.h" }352    module negation                                   { header "__type_traits/negation.h" }353    module promote                                    { header "__type_traits/promote.h" }354    module rank                                       { header "__type_traits/rank.h" }355    module reference_constructs_from_temporary {356      header "__type_traits/reference_constructs_from_temporary.h"357      export std_core.type_traits.integral_constant358    }359    module reference_converts_from_temporary {360      header "__type_traits/reference_converts_from_temporary.h"361      export std_core.type_traits.integral_constant362    }363    module remove_all_extents                         { header "__type_traits/remove_all_extents.h" }364    module remove_const_ref                           { header "__type_traits/remove_const_ref.h" }365    module remove_const                               { header "__type_traits/remove_const.h" }366    module remove_cv                                  { header "__type_traits/remove_cv.h" }367    module remove_cvref                               { header "__type_traits/remove_cvref.h" }368    module remove_extent                              { header "__type_traits/remove_extent.h" }369    module remove_pointer                             { header "__type_traits/remove_pointer.h" }370    module remove_reference                           { header "__type_traits/remove_reference.h" }371    module remove_volatile                            { header "__type_traits/remove_volatile.h" }372    module result_of                                  { header "__type_traits/result_of.h" }373    module strip_signature                            { header "__type_traits/strip_signature.h" }374    module type_identity                              { header "__type_traits/type_identity.h" }375    module type_list                                  { header "__type_traits/type_list.h" }376    module underlying_type                            { header "__type_traits/underlying_type.h" }377    module unwrap_ref                                 { header "__type_traits/unwrap_ref.h" }378    module void_t                                     { header "__type_traits/void_t.h" }379 380    header "type_traits"381    export *382  } // module type_traits383 384  // Only the truly dependency-free parts of __utility are here385  module utility_core {386    module declval  { header "__utility/declval.h" }387    module empty    { header "__utility/empty.h" }388    module forward  { header "__utility/forward.h" }389  }390} // module std_core391 392module std [system] {393  module algorithm {394    module adjacent_find                          { header "__algorithm/adjacent_find.h" }395    module all_of                                 { header "__algorithm/all_of.h" }396    module any_of                                 { header "__algorithm/any_of.h" }397    module binary_search                          { header "__algorithm/binary_search.h" }398    module clamp                                  { header "__algorithm/clamp.h" }399    module comp_ref_type                          { header "__algorithm/comp_ref_type.h" }400    module comp                                   { header "__algorithm/comp.h" }401    module copy_backward                          { header "__algorithm/copy_backward.h" }402    module copy_if                                { header "__algorithm/copy_if.h" }403    module copy_move_common                       { header "__algorithm/copy_move_common.h" }404    module copy_n                                 {405      header "__algorithm/copy_n.h"406      export std.iterator_traits407    }408    module copy                                   { header "__algorithm/copy.h" }409    module count_if                               { header "__algorithm/count_if.h" }410    module count                                  { header "__algorithm/count.h" }411    module equal_range                            { header "__algorithm/equal_range.h" }412    module equal                                  { header "__algorithm/equal.h" }413    module fill_n                                 { header "__algorithm/fill_n.h" }414    module fill                                   { header "__algorithm/fill.h" }415    module find_end                               { header "__algorithm/find_end.h" }416    module find_first_of                          { header "__algorithm/find_first_of.h" }417    module find_if_not                            { header "__algorithm/find_if_not.h" }418    module find_if                                { header "__algorithm/find_if.h" }419    module find_segment_if                        { header "__algorithm/find_segment_if.h" }420    module find                                   { header "__algorithm/find.h" }421    module for_each_n                             { header "__algorithm/for_each_n.h" }422    module for_each_n_segment                     { header "__algorithm/for_each_n_segment.h" }423    module for_each_segment                       { header "__algorithm/for_each_segment.h" }424    module for_each                               { header "__algorithm/for_each.h" }425    module generate_n                             { header "__algorithm/generate_n.h" }426    module generate                               { header "__algorithm/generate.h" }427    module half_positive                          { header "__algorithm/half_positive.h" }428    module in_found_result                        { header "__algorithm/in_found_result.h" }429    module in_fun_result                          { header "__algorithm/in_fun_result.h" }430    module in_in_out_result                       { header "__algorithm/in_in_out_result.h" }431    module in_in_result                           { header "__algorithm/in_in_result.h" }432    module in_out_out_result                      { header "__algorithm/in_out_out_result.h" }433    module in_out_result                          { header "__algorithm/in_out_result.h" }434    module includes                               { header "__algorithm/includes.h" }435    module inplace_merge                          { header "__algorithm/inplace_merge.h" }436    module is_heap_until                          { header "__algorithm/is_heap_until.h" }437    module is_heap                                { header "__algorithm/is_heap.h" }438    module is_partitioned                         { header "__algorithm/is_partitioned.h" }439    module is_permutation                         { header "__algorithm/is_permutation.h" }440    module is_sorted_until                        { header "__algorithm/is_sorted_until.h" }441    module is_sorted                              { header "__algorithm/is_sorted.h" }442    module iter_swap                              { header "__algorithm/iter_swap.h" }443    module iterator_operations {444      header "__algorithm/iterator_operations.h"445      export std.iterator.advance446      export std.iterator.distance447      export std.iterator.iter_move448      export std.iterator.iter_swap449      export std.iterator.next450      export std.iterator.prev451    }452    module lexicographical_compare_three_way      { header "__algorithm/lexicographical_compare_three_way.h" }453    module lexicographical_compare                { header "__algorithm/lexicographical_compare.h" }454    module lower_bound                            { header "__algorithm/lower_bound.h" }455    module make_heap                              { header "__algorithm/make_heap.h" }456    module make_projected                         { header "__algorithm/make_projected.h" }457    module max_element                            { header "__algorithm/max_element.h" }458    module max                                    { header "__algorithm/max.h" }459    module merge                                  { header "__algorithm/merge.h" }460    module min_element                            { header "__algorithm/min_element.h" }461    module min_max_result                         { header "__algorithm/min_max_result.h" }462    module min                                    { header "__algorithm/min.h" }463    module minmax_element                         { header "__algorithm/minmax_element.h" }464    module minmax {465      header "__algorithm/minmax.h"466      export std.utility.pair // return type467    }468    module mismatch {469      header "__algorithm/mismatch.h"470      export std.utility.pair // return type471    }472    module move_backward                          { header "__algorithm/move_backward.h" }473    module move                                   { header "__algorithm/move.h" }474    module next_permutation                       { header "__algorithm/next_permutation.h" }475    module none_of                                { header "__algorithm/none_of.h" }476    module nth_element                            { header "__algorithm/nth_element.h" }477    module out_value_result                       { header "__algorithm/out_value_result.h" }478    module partial_sort_copy                      { header "__algorithm/partial_sort_copy.h" }479    module partial_sort                           { header "__algorithm/partial_sort.h" }480    module partition_copy                         { header "__algorithm/partition_copy.h" }481    module partition_point                        { header "__algorithm/partition_point.h" }482    module partition                              { header "__algorithm/partition.h" }483    module pop_heap                               { header "__algorithm/pop_heap.h" }484    module prev_permutation                       { header "__algorithm/prev_permutation.h" }485    module pstl                                   { header "__algorithm/pstl.h" }486    module push_heap                              { header "__algorithm/push_heap.h" }487    module radix_sort                             { header "__algorithm/radix_sort.h" }488    module ranges_adjacent_find                   { header "__algorithm/ranges_adjacent_find.h" }489    module ranges_all_of                          { header "__algorithm/ranges_all_of.h" }490    module ranges_any_of                          { header "__algorithm/ranges_any_of.h" }491    module ranges_binary_search {492      header "__algorithm/ranges_binary_search.h"493      export std.functional.ranges_operations494    }495    module ranges_clamp {496      header "__algorithm/ranges_clamp.h"497      export std.functional.ranges_operations498    }499    module ranges_contains_subrange {500      header "__algorithm/ranges_contains_subrange.h"501    }502    module ranges_contains {503      header "__algorithm/ranges_contains.h"504    }505    module ranges_copy_backward {506      header "__algorithm/ranges_copy_backward.h"507      export std.algorithm.in_out_result508    }509    module ranges_copy_if {510      header "__algorithm/ranges_copy_if.h"511      export std.algorithm.in_out_result512    }513    module ranges_copy_n {514      header "__algorithm/ranges_copy_n.h"515      export std.algorithm.in_out_result516    }517    module ranges_copy {518      header "__algorithm/ranges_copy.h"519      export std.algorithm.in_out_result520    }521    module ranges_count_if                        { header "__algorithm/ranges_count_if.h" }522    module ranges_count                           { header "__algorithm/ranges_count.h" }523    module ranges_ends_with                       { header "__algorithm/ranges_ends_with.h" }524    module ranges_equal_range {525      header "__algorithm/ranges_equal_range.h"526      export std.functional.ranges_operations527    }528    module ranges_equal {529      header "__algorithm/ranges_equal.h"530      export std.functional.identity531    }532    module ranges_fill_n                          { header "__algorithm/ranges_fill_n.h" }533    module ranges_fill                            { header "__algorithm/ranges_fill.h" }534    module ranges_find_end {535      header "__algorithm/ranges_find_end.h"536      export std.ranges.subrange // return type537    }538    module ranges_find_first_of                   { header "__algorithm/ranges_find_first_of.h" }539    module ranges_find_if_not                     { header "__algorithm/ranges_find_if_not.h" }540    module ranges_find_if                         { header "__algorithm/ranges_find_if.h" }541    module ranges_find_last {542      header "__algorithm/ranges_find_last.h"543      export std.ranges.subrange // return type544    }545    module ranges_find                            { header "__algorithm/ranges_find.h" }546    module ranges_fold                            { header "__algorithm/ranges_fold.h" }547    module ranges_for_each_n {548      header "__algorithm/ranges_for_each_n.h"549      export std.algorithm.in_fun_result550    }551    module ranges_for_each {552      header "__algorithm/ranges_for_each.h"553      export std.algorithm.in_fun_result554    }555    module ranges_generate_n {556      header "__algorithm/ranges_generate_n.h"557    }558    module ranges_generate {559      header "__algorithm/ranges_generate.h"560    }561    module ranges_includes {562      header "__algorithm/ranges_includes.h"563      export std.functional.ranges_operations564    }565    module ranges_inplace_merge {566      header "__algorithm/ranges_inplace_merge.h"567      export std.functional.ranges_operations568    }569    module ranges_is_heap_until {570      header "__algorithm/ranges_is_heap_until.h"571      export std.functional.ranges_operations572    }573    module ranges_is_heap {574      header "__algorithm/ranges_is_heap.h"575      export std.functional.ranges_operations576    }577    module ranges_is_partitioned {578      header "__algorithm/ranges_is_partitioned.h"579    }580    module ranges_is_permutation {581      header "__algorithm/ranges_is_permutation.h"582    }583    module ranges_is_sorted_until {584      header "__algorithm/ranges_is_sorted_until.h"585      export std.functional.ranges_operations586    }587    module ranges_is_sorted {588      header "__algorithm/ranges_is_sorted.h"589      export std.functional.ranges_operations590    }591    module ranges_iterator_concept {592      header "__algorithm/ranges_iterator_concept.h"593    }594    module ranges_lexicographical_compare {595      header "__algorithm/ranges_lexicographical_compare.h"596      export std.functional.ranges_operations597    }598    module ranges_lower_bound {599      header "__algorithm/ranges_lower_bound.h"600      export std.functional.ranges_operations601    }602    module ranges_make_heap {603      header "__algorithm/ranges_make_heap.h"604      export std.functional.ranges_operations605    }606    module ranges_max_element {607      header "__algorithm/ranges_max_element.h"608      export std.functional.ranges_operations609    }610    module ranges_max {611      header "__algorithm/ranges_max.h"612      export std.functional.ranges_operations613    }614    module ranges_merge {615      header "__algorithm/ranges_merge.h"616      export std.functional.ranges_operations617      export std.algorithm.in_in_out_result618    }619    module ranges_min_element {620      header "__algorithm/ranges_min_element.h"621      export std.functional.ranges_operations622    }623    module ranges_min {624      header "__algorithm/ranges_min.h"625      export std.functional.ranges_operations626    }627    module ranges_minmax_element {628      header "__algorithm/ranges_minmax_element.h"629      export std.functional.ranges_operations630      export std.algorithm.min_max_result631    }632    module ranges_minmax {633      header "__algorithm/ranges_minmax.h"634      export std.functional.ranges_operations635      export std.algorithm.min_max_result636    }637    module ranges_mismatch {638      header "__algorithm/ranges_mismatch.h"639      export std.algorithm.in_in_result640    }641    module ranges_move_backward {642      header "__algorithm/ranges_move_backward.h"643      export std.algorithm.in_out_result644    }645    module ranges_move {646      header "__algorithm/ranges_move.h"647      export std.algorithm.in_out_result648    }649    module ranges_next_permutation {650      header "__algorithm/ranges_next_permutation.h"651      export std.functional.ranges_operations652      export std.algorithm.in_found_result653    }654    module ranges_none_of {655      header "__algorithm/ranges_none_of.h"656    }657    module ranges_nth_element {658      header "__algorithm/ranges_nth_element.h"659      export std.functional.ranges_operations660    }661    module ranges_partial_sort_copy {662      header "__algorithm/ranges_partial_sort_copy.h"663      export std.functional.ranges_operations664    }665    module ranges_partial_sort {666      header "__algorithm/ranges_partial_sort.h"667      export std.functional.ranges_operations668    }669    module ranges_partition_copy {670      header "__algorithm/ranges_partition_copy.h"671      export std.algorithm.in_out_out_result672    }673    module ranges_partition_point {674      header "__algorithm/ranges_partition_point.h"675    }676    module ranges_partition {677      header "__algorithm/ranges_partition.h"678      export std.ranges.subrange // return type679    }680    module ranges_pop_heap {681      header "__algorithm/ranges_pop_heap.h"682      export std.functional.ranges_operations683    }684    module ranges_prev_permutation {685      header "__algorithm/ranges_prev_permutation.h"686      export std.functional.ranges_operations687      export std.algorithm.in_found_result688    }689    module ranges_push_heap {690      header "__algorithm/ranges_push_heap.h"691      export std.functional.ranges_operations692    }693    module ranges_remove_copy_if {694      header "__algorithm/ranges_remove_copy_if.h"695      export std.algorithm.in_out_result696    }697    module ranges_remove_copy {698      header "__algorithm/ranges_remove_copy.h"699      export std.algorithm.in_out_result700    }701    module ranges_remove_if {702      header "__algorithm/ranges_remove_if.h"703    }704    module ranges_remove {705      header "__algorithm/ranges_remove.h"706      export std.ranges.subrange // return type707    }708    module ranges_replace_copy_if {709      header "__algorithm/ranges_replace_copy_if.h"710      export std.algorithm.in_out_result711    }712    module ranges_replace_copy {713      header "__algorithm/ranges_replace_copy.h"714      export std.algorithm.in_out_result715    }716    module ranges_replace_if {717      header "__algorithm/ranges_replace_if.h"718    }719    module ranges_replace {720      header "__algorithm/ranges_replace.h"721    }722    module ranges_reverse_copy {723      header "__algorithm/ranges_reverse_copy.h"724      export std.algorithm.in_out_result725    }726    module ranges_reverse {727      header "__algorithm/ranges_reverse.h"728    }729    module ranges_rotate_copy {730      header "__algorithm/ranges_rotate_copy.h"731      export std.ranges.subrange // return type732    }733    module ranges_rotate                          { header "__algorithm/ranges_rotate.h" }734    module ranges_sample                          { header "__algorithm/ranges_sample.h" }735    module ranges_search_n {736      header "__algorithm/ranges_search_n.h"737      export std.ranges.subrange // return type738    }739    module ranges_search {740      header "__algorithm/ranges_search.h"741      export std.ranges.subrange // return type742    }743    module ranges_set_difference {744      header "__algorithm/ranges_set_difference.h"745      export std.functional.ranges_operations746      export std.algorithm.in_out_result747    }748    module ranges_set_intersection {749      header "__algorithm/ranges_set_intersection.h"750      export std.functional.ranges_operations751      export std.algorithm.in_in_out_result752    }753    module ranges_set_symmetric_difference {754      header "__algorithm/ranges_set_symmetric_difference.h"755      export std.functional.ranges_operations756      export std.algorithm.in_in_out_result757    }758    module ranges_set_union {759      header "__algorithm/ranges_set_union.h"760      export std.functional.ranges_operations761      export std.algorithm.in_in_out_result762    }763    module ranges_shuffle {764      header "__algorithm/ranges_shuffle.h"765    }766    module ranges_sort_heap {767      header "__algorithm/ranges_sort_heap.h"768      export std.functional.ranges_operations769    }770    module ranges_sort {771      header "__algorithm/ranges_sort.h"772      export std.functional.ranges_operations773      export std.algorithm.sort774      export std.algorithm.make_projected775    }776    module ranges_stable_partition {777      header "__algorithm/ranges_stable_partition.h"778      export std.ranges.subrange // return type779    }780    module ranges_stable_sort {781      header "__algorithm/ranges_stable_sort.h"782      export std.functional.ranges_operations783    }784    module ranges_starts_with {785      header "__algorithm/ranges_starts_with.h"786    }787    module ranges_swap_ranges {788      header "__algorithm/ranges_swap_ranges.h"789      export std.algorithm.in_in_result790    }791    module ranges_transform {792      header "__algorithm/ranges_transform.h"793      export std.algorithm.in_out_result794      export std.algorithm.in_in_out_result795    }796    module ranges_unique_copy {797      header "__algorithm/ranges_unique_copy.h"798    }799    module ranges_unique {800      header "__algorithm/ranges_unique.h"801    }802    module ranges_upper_bound {803      header "__algorithm/ranges_upper_bound.h"804      export std.functional.ranges_operations805    }806    module remove_copy_if                         { header "__algorithm/remove_copy_if.h" }807    module remove_copy                            { header "__algorithm/remove_copy.h" }808    module remove_if                              { header "__algorithm/remove_if.h" }809    module remove                                 { header "__algorithm/remove.h" }810    module replace_copy_if                        { header "__algorithm/replace_copy_if.h" }811    module replace_copy                           { header "__algorithm/replace_copy.h" }812    module replace_if                             { header "__algorithm/replace_if.h" }813    module replace                                { header "__algorithm/replace.h" }814    module reverse_copy                           { header "__algorithm/reverse_copy.h" }815    module reverse                                { header "__algorithm/reverse.h" }816    module rotate_copy                            { header "__algorithm/rotate_copy.h" }817    module rotate                                 { header "__algorithm/rotate.h" }818    module sample                                 { header "__algorithm/sample.h" }819    module search_n                               { header "__algorithm/search_n.h" }820    module search                                 { header "__algorithm/search.h" }821    module set_difference                         { header "__algorithm/set_difference.h" }822    module set_intersection                       { header "__algorithm/set_intersection.h" }823    module set_symmetric_difference               { header "__algorithm/set_symmetric_difference.h" }824    module set_union                              { header "__algorithm/set_union.h" }825    module shift_left                             { header "__algorithm/shift_left.h" }826    module shift_right                            { header "__algorithm/shift_right.h" }827    module shuffle                                { header "__algorithm/shuffle.h" }828    module sift_down                              { header "__algorithm/sift_down.h" }829    module simd_utils                             { header "__algorithm/simd_utils.h" }830    module sort_heap                              { header "__algorithm/sort_heap.h" }831    module sort                                   { header "__algorithm/sort.h" }832    module specialized_algorithms                 { header "__algorithm/specialized_algorithms.h" }833    module stable_partition                       { header "__algorithm/stable_partition.h" }834    module stable_sort {835      header "__algorithm/stable_sort.h"836      export std.memory.unique_temporary_buffer // TODO: Workaround for https://llvm.org/PR120108837    }838    module swap_ranges                            { header "__algorithm/swap_ranges.h" }839    module three_way_comp_ref_type                { header "__algorithm/three_way_comp_ref_type.h" }840    module transform                              { header "__algorithm/transform.h" }841    module uniform_random_bit_generator_adaptor   { header "__algorithm/uniform_random_bit_generator_adaptor.h" }842    module unique_copy                            { header "__algorithm/unique_copy.h" }843    module unique                                 { header "__algorithm/unique.h" }844    module unwrap_iter                            { header "__algorithm/unwrap_iter.h" }845    module unwrap_range                           { header "__algorithm/unwrap_range.h" }846    module upper_bound                            { header "__algorithm/upper_bound.h" }847 848    header "algorithm"849    export *850  } // module algorithm851 852  module any {853    header "any"854    export *855  }856 857  module array {858    module fwd { header "__fwd/array.h" }859 860    header "array"861    export *862    export std.iterator.reverse_iterator863  }864 865  module atomic {866    module aliases                { header "__atomic/aliases.h" }867    module atomic_flag            { header "__atomic/atomic_flag.h" }868    module atomic_init            { header "__atomic/atomic_init.h" }869    module atomic_lock_free       { header "__atomic/atomic_lock_free.h" }870    module atomic_ref             { header "__atomic/atomic_ref.h" }871    module atomic_sync            { header "__atomic/atomic_sync.h" }872    module atomic {873      header "__atomic/atomic.h"874      export std.atomic.atomic_base // most of std::atomic methods are defined there875    }876    module check_memory_order     { header "__atomic/check_memory_order.h" }877    module contention_t           { header "__atomic/contention_t.h" }878    module fence                  { header "__atomic/fence.h" }879    module floating_point_helper  { header "__atomic/floating_point_helper.h" }880    module is_always_lock_free    { header "__atomic/is_always_lock_free.h" }881    module kill_dependency        { header "__atomic/kill_dependency.h" }882    module memory_order           { header "__atomic/memory_order.h" }883    module to_gcc_order           { header "__atomic/to_gcc_order.h" }884 885    module support {886      header "__atomic/support.h"887      textual header "__atomic/support/c11.h"888      textual header "__atomic/support/gcc.h"889    }890 891    header "atomic"892    export *893  }894 895  module barrier {896    header "barrier"897    export *898  }899 900  module bit {901    module bit_cast         { header "__bit/bit_cast.h" }902    module bit_ceil         { header "__bit/bit_ceil.h" }903    module bit_floor        { header "__bit/bit_floor.h" }904    module bit_log2         { header "__bit/bit_log2.h" }905    module bit_width        { header "__bit/bit_width.h" }906    module blsr             { header "__bit/blsr.h" }907    module byteswap         { header "__bit/byteswap.h" }908    module countl           { header "__bit/countl.h" }909    module countr           { header "__bit/countr.h" }910    module endian           { header "__bit/endian.h" }911    module has_single_bit   { header "__bit/has_single_bit.h" }912    module invert_if        { header "__bit/invert_if.h" }913    module popcount         { header "__bit/popcount.h" }914    module rotate           { header "__bit/rotate.h" }915 916    header "bit"917    export *918  }919 920  module bitset {921    header "bitset"922    export *923  }924 925  module charconv {926    module chars_format               { header "__charconv/chars_format.h" }927    module from_chars_floating_point  { header "__charconv/from_chars_floating_point.h" }928    module from_chars_integral        { header "__charconv/from_chars_integral.h" }929    module from_chars_result          {930      header "__charconv/from_chars_result.h"931      export std.system_error.errc932    }933    module tables                     { header "__charconv/tables.h" }934    module to_chars                   { header "__charconv/to_chars.h" }935    module to_chars_base_10           { header "__charconv/to_chars_base_10.h" }936    module to_chars_floating_point    { header "__charconv/to_chars_floating_point.h" }937    module to_chars_integral          {938      header "__charconv/to_chars_integral.h"939      export std.charconv.to_chars_result940    }941    module to_chars_result            { header "__charconv/to_chars_result.h" }942    module traits                     { header "__charconv/traits.h" }943 944    header "charconv"945    export *946  }947 948  module chrono {949    module calendar                   { header "__chrono/calendar.h" }950    module concepts                   { header "__chrono/concepts.h" }951    module convert_to_timespec        { header "__chrono/convert_to_timespec.h" }952    module convert_to_tm              { header "__chrono/convert_to_tm.h" }953    module day                        { header "__chrono/day.h" }954    module duration                   { header "__chrono/duration.h" }955    module exception                  { header "__chrono/exception.h" }956    module file_clock                 { header "__chrono/file_clock.h" }957    module formatter                  { header "__chrono/formatter.h" }958    module gps_clock {959      header "__chrono/gps_clock.h"960      export std.chrono.time_point961    }962    module hh_mm_ss                   { header "__chrono/hh_mm_ss.h" }963    module high_resolution_clock {964      header "__chrono/high_resolution_clock.h"965      export *966    }967    module is_clock {968      header "__chrono/is_clock.h"969      export std_core.type_traits.integral_constant970    }971    module leap_second {972      header "__chrono/leap_second.h"973    }974    module literals {975      header "__chrono/literals.h"976    }977    module local_info {978      header "__chrono/local_info.h"979      export std.chrono.sys_info980    }981    module month_weekday              { header "__chrono/month_weekday.h" }982    module month                      { header "__chrono/month.h" }983    module monthday                   { header "__chrono/monthday.h" }984    module ostream                    { header "__chrono/ostream.h" }985    module parser_std_format_spec     { header "__chrono/parser_std_format_spec.h" }986    module statically_widen           { header "__chrono/statically_widen.h" }987    module steady_clock {988      header "__chrono/steady_clock.h"989      export std.chrono.time_point990    }991    module sys_info {992      header "__chrono/sys_info.h"993    }994    module system_clock {995      header "__chrono/system_clock.h"996      export std.chrono.time_point997    }998    module tai_clock {999      header "__chrono/tai_clock.h"1000      export std.chrono.time_point1001    }1002    module time_point                 { header "__chrono/time_point.h" }1003    module time_zone_link             { header "__chrono/time_zone_link.h" }1004    module time_zone                  { header "__chrono/time_zone.h" }1005    module tzdb_list {1006      header "__chrono/tzdb_list.h"1007      export std.forward_list // forward_list iterators are used to implement this API1008      export std.string_view // by-value argument of type std::string_view1009    }1010    module tzdb {1011      header "__chrono/tzdb.h"1012      export std.string // public data member of type std::string1013      export std.vector // public data members of type std::vector1014    }1015    module utc_clock {1016      header "__chrono/utc_clock.h"1017      export std.chrono.time_point1018    }1019    module weekday                    { header "__chrono/weekday.h" }1020    module year_month_day             { header "__chrono/year_month_day.h" }1021    module year_month_weekday         { header "__chrono/year_month_weekday.h" }1022    module year_month                 { header "__chrono/year_month.h" }1023    module year                       { header "__chrono/year.h" }1024    module zoned_time                 { header "__chrono/zoned_time.h" }1025 1026    header "chrono"1027    export *1028  } // module chrono1029 1030  module codecvt {1031    header "codecvt"1032    export *1033  }1034 1035  module compare {1036    module common_comparison_category       { header "__compare/common_comparison_category.h" }1037    module compare_partial_order_fallback   { header "__compare/compare_partial_order_fallback.h" }1038    module compare_strong_order_fallback    { header "__compare/compare_strong_order_fallback.h" }1039    module compare_three_way                { header "__compare/compare_three_way.h" }1040    module compare_three_way_result         { header "__compare/compare_three_way_result.h" }1041    module compare_weak_order_fallback      { header "__compare/compare_weak_order_fallback.h" }1042    module is_eq                            { header "__compare/is_eq.h" }1043    module ordering                         { header "__compare/ordering.h" }1044    module partial_order                    { header "__compare/partial_order.h" }1045    module strong_order                     { header "__compare/strong_order.h" }1046    module synth_three_way                  { header "__compare/synth_three_way.h" }1047    module three_way_comparable             { header "__compare/three_way_comparable.h" }1048    module weak_order                       { header "__compare/weak_order.h" }1049 1050    header "compare"1051    export *1052  }1053 1054  module complex {1055    module fwd { header "__fwd/complex.h" }1056 1057    header "complex"1058    export *1059  }1060 1061  module concepts {1062    module arithmetic               { header "__concepts/arithmetic.h" }1063    module assignable               { header "__concepts/assignable.h" }1064    module boolean_testable         { header "__concepts/boolean_testable.h" }1065    module class_or_enum            { header "__concepts/class_or_enum.h" }1066    module common_reference_with    { header "__concepts/common_reference_with.h" }1067    module common_with              { header "__concepts/common_with.h" }1068    module constructible            { header "__concepts/constructible.h" }1069    module convertible_to           { header "__concepts/convertible_to.h" }1070    module copyable                 { header "__concepts/copyable.h" }1071    module derived_from             { header "__concepts/derived_from.h" }1072    module destructible             { header "__concepts/destructible.h" }1073    module different_from           { header "__concepts/different_from.h" }1074    module equality_comparable      { header "__concepts/equality_comparable.h" }1075    module invocable                { header "__concepts/invocable.h" }1076    module movable                  { header "__concepts/movable.h" }1077    module predicate                { header "__concepts/predicate.h" }1078    module regular                  { header "__concepts/regular.h" }1079    module relation                 { header "__concepts/relation.h" }1080    module same_as                  { header "__concepts/same_as.h" }1081    module semiregular              { header "__concepts/semiregular.h" }1082    module swappable                { header "__concepts/swappable.h" }1083    module totally_ordered          { header "__concepts/totally_ordered.h" }1084 1085    header "concepts"1086    export *1087  }1088 1089  module condition_variable {1090    module condition_variable   { header "__condition_variable/condition_variable.h" }1091 1092    header "condition_variable"1093    export *1094  }1095 1096  module cassert {1097    textual header "cassert" // NDEBUG requires textual inclusion1098  }1099 1100  module ccomplex {1101    header "ccomplex"1102    export *1103  }1104 1105  module cctype {1106    header "cctype"1107    export *1108  }1109 1110  module cerrno {1111    header "cerrno"1112    export *1113  }1114 1115  module cfenv {1116    header "cfenv"1117    export *1118  }1119 1120  module cfloat {1121    header "cfloat"1122    export *1123  }1124 1125  module cinttypes {1126    header "cinttypes"1127    export *1128  }1129 1130  module ciso646 {1131    header "ciso646"1132    export *1133  }1134 1135  module climits {1136    header "climits"1137    export *1138  }1139 1140  module clocale {1141    header "clocale"1142    export *1143  }1144 1145  module cmath {1146    header "cmath"1147    export *1148  }1149 1150  // TODO: Make non-textual. This seems to cause problems when compiling against Glibc.1151  module csetjmp {1152    textual header "csetjmp"1153  }1154 1155  module csignal {1156    header "csignal"1157    export *1158  }1159 1160  module cstdalign {1161    header "cstdalign"1162    export *1163  }1164 1165  module cstdarg {1166    header "cstdarg"1167    export *1168  }1169 1170  module cstdbool {1171    header "cstdbool"1172    export *1173  }1174 1175  module cstddef {1176    header "cstddef"1177    export *1178  }1179 1180  module cstdio {1181    header "cstdio"1182    export *1183  }1184 1185  module cstdlib {1186    header "cstdlib"1187    export *1188  }1189 1190  module cstring {1191    header "cstring"1192    export *1193  }1194 1195  module ctgmath {1196    header "ctgmath"1197    export *1198  }1199 1200  module ctime {1201    header "ctime"1202    export *1203  }1204 1205  module cuchar {1206    header "cuchar"1207    export *1208  }1209 1210  module cwchar {1211    header "cwchar"1212    export *1213  }1214 1215  module cwctype {1216    header "cwctype"1217    export *1218  }1219 1220  module deque {1221    module fwd { header "__fwd/deque.h" }1222 1223    header "deque"1224    export *1225    export std.iterator.reverse_iterator1226    export std.algorithm.simd_utils // This is a workaround for https://llvm.org/PR120108.1227  }1228 1229  module exception {1230    module exception          { header "__exception/exception.h" }1231    module exception_ptr      { header "__exception/exception_ptr.h" }1232    module nested_exception   { header "__exception/nested_exception.h" }1233    module operations         { header "__exception/operations.h" }1234    module terminate          { header "__exception/terminate.h" }1235 1236    header "exception"1237    export *1238  }1239 1240  module execution {1241    header "execution"1242    export *1243  }1244 1245  module expected {1246    module bad_expected_access    { header "__expected/bad_expected_access.h" }1247    module expected               { header "__expected/expected.h" }1248    module unexpect               { header "__expected/unexpect.h" }1249    module unexpected             { header "__expected/unexpected.h" }1250 1251    header "expected"1252    export *1253  }1254 1255  module filesystem {1256    module copy_options                   { header "__filesystem/copy_options.h" }1257    module directory_entry                { header "__filesystem/directory_entry.h" }1258    module directory_iterator             {1259      header "__filesystem/directory_iterator.h"1260      // This is a workaround for https://llvm.org/PR120108.1261      export *1262    }1263    module directory_options              { header "__filesystem/directory_options.h" }1264    module file_status                    { header "__filesystem/file_status.h" }1265    module file_time_type                 { header "__filesystem/file_time_type.h" }1266    module file_type                      { header "__filesystem/file_type.h" }1267    module filesystem_error               { header "__filesystem/filesystem_error.h" }1268    module operations                     { header "__filesystem/operations.h" }1269    module path_iterator                  { header "__filesystem/path_iterator.h" }1270    module path                           {1271      header "__filesystem/path.h"1272      export std.string // returned by various methods of filesystem::path1273    }1274    module perm_options                   { header "__filesystem/perm_options.h" }1275    module perms                          { header "__filesystem/perms.h" }1276    module recursive_directory_iterator   { header "__filesystem/recursive_directory_iterator.h" }1277    module space_info                     { header "__filesystem/space_info.h" }1278    module u8path                         { header "__filesystem/u8path.h" }1279 1280    header "filesystem"1281    export *1282  }1283 1284  module flat_map {1285    module flat_map                       {1286      header "__flat_map/flat_map.h"1287      export std.vector.vector1288      export std.vector.fwd1289    }1290    module flat_multimap                  {1291      header "__flat_map/flat_multimap.h"1292      export std.vector.vector1293      export std.vector.fwd1294    }1295    module key_value_iterator             { header "__flat_map/key_value_iterator.h" }1296    module sorted_equivalent              { header "__flat_map/sorted_equivalent.h" }1297    module sorted_unique                  { header "__flat_map/sorted_unique.h" }1298    module utils                          { header "__flat_map/utils.h" }1299 1300    header "flat_map"1301    export *1302    export std.algorithm.ranges_sort1303    export std.iterator.reverse_iterator1304    export std.ranges.zip_view1305    export std.tuple1306  }1307 1308  module flat_set {1309    module flat_set                       {1310      header "__flat_set/flat_set.h"1311      header "__flat_set/flat_multiset.h"1312      export std.vector.vector1313      export std.vector.fwd1314    }1315    module ra_iterator                    { header "__flat_set/ra_iterator.h" }1316    module utils                          { header "__flat_set/utils.h" }1317 1318    header "flat_set"1319    export std.flat_map.sorted_unique1320    export std.flat_map.sorted_equivalent1321    export *1322    export std.algorithm.ranges_sort1323    export std.iterator.reverse_iterator1324    export std.ranges.zip_view1325    export std.tuple1326  }1327 1328  module format {1329    module buffer                             {1330      header "__format/buffer.h"1331      export std.iterator.back_insert_iterator1332    }1333    module concepts                           { header "__format/concepts.h" }1334    module container_adaptor                  { header "__format/container_adaptor.h" }1335    module enable_insertable                  { header "__format/enable_insertable.h" }1336    module escaped_output_table               { header "__format/escaped_output_table.h" }1337    module extended_grapheme_cluster_table    { header "__format/extended_grapheme_cluster_table.h" }1338    module fmt_pair_like                      { header "__format/fmt_pair_like.h" }1339    module format_arg                         { header "__format/format_arg.h" }1340    module format_arg_store                   { header "__format/format_arg_store.h" }1341    module format_args                        { header "__format/format_args.h" }1342    module format_context {1343      header "__format/format_context.h"1344      export std.optional // default argument for __format_context_create1345    }1346    module format_error {1347      header "__format/format_error.h"1348    }1349    module format_functions {1350      header "__format/format_functions.h"1351      export std.string // returned by the functions in that header1352    }1353    module format_parse_context               { header "__format/format_parse_context.h" }1354    module format_string                      { header "__format/format_string.h" }1355    module format_to_n_result                 { header "__format/format_to_n_result.h" }1356    module formatter                          { header "__format/formatter.h" }1357    module formatter_bool                     { header "__format/formatter_bool.h" }1358    module formatter_char                     { header "__format/formatter_char.h" }1359    module formatter_floating_point           { header "__format/formatter_floating_point.h" }1360    module formatter_integer                  { header "__format/formatter_integer.h" }1361    module formatter_integral                 { header "__format/formatter_integral.h" }1362    module formatter_output                   { header "__format/formatter_output.h" }1363    module formatter_pointer                  { header "__format/formatter_pointer.h" }1364    module formatter_string                   { header "__format/formatter_string.h" }1365    module formatter_tuple                    { header "__format/formatter_tuple.h" }1366    module fwd                                { header "__fwd/format.h" }1367    module indic_conjunct_break_table         { header "__format/indic_conjunct_break_table.h" }1368    module parser_std_format_spec             { header "__format/parser_std_format_spec.h" }1369    module range_default_formatter            { header "__format/range_default_formatter.h" }1370    module range_format                       { header "__format/range_format.h" }1371    module range_formatter                    { header "__format/range_formatter.h" }1372    module unicode                            { header "__format/unicode.h" }1373    module width_estimation_table             { header "__format/width_estimation_table.h" }1374    module write_escaped                      { header "__format/write_escaped.h" }1375 1376    header "format"1377    export *1378  } // module format1379 1380  module forward_list {1381    header "forward_list"1382    export *1383    export std.iterator.reverse_iterator1384  }1385 1386  module fstream {1387    module fwd { header "__fwd/fstream.h" }1388 1389    header "fstream"1390    export *1391  }1392 1393  module functional {1394    module binary_function              { header "__functional/binary_function.h" }1395    module binary_negate                { header "__functional/binary_negate.h" }1396    module bind_back {1397      header "__functional/bind_back.h"1398      export std.functional.perfect_forward // inherited from and using its operators1399    }1400    module bind_front {1401      header "__functional/bind_front.h"1402      export std.functional.perfect_forward // inherited from and using its operators1403    }1404    module bind                         { header "__functional/bind.h" }1405    module binder1st                    { header "__functional/binder1st.h" }1406    module binder2nd                    { header "__functional/binder2nd.h" }1407    module boyer_moore_searcher {1408      header "__functional/boyer_moore_searcher.h"1409      export std.memory.shared_ptr1410    }1411    module compose {1412      header "__functional/compose.h"1413      export std.functional.perfect_forward // inherited from and using its operators1414    }1415    module default_searcher             { header "__functional/default_searcher.h" }1416    module function                     { header "__functional/function.h" }1417    module hash                         { header "__functional/hash.h" }1418    module identity                     { header "__functional/identity.h" }1419    module invoke                       { header "__functional/invoke.h" }1420    module is_transparent               { header "__functional/is_transparent.h" }1421    module mem_fn                       { header "__functional/mem_fn.h" }1422    module mem_fun_ref                  { header "__functional/mem_fun_ref.h" }1423    module not_fn {1424      header "__functional/not_fn.h"1425      export std.functional.perfect_forward // inherited from and using its operators1426    }1427    module operations {1428      header "__functional/operations.h"1429      export std_core.fwd.functional1430    }1431    module perfect_forward {1432      header "__functional/perfect_forward.h"1433      export std.tuple1434    }1435    module pointer_to_binary_function   { header "__functional/pointer_to_binary_function.h" }1436    module pointer_to_unary_function    { header "__functional/pointer_to_unary_function.h" }1437    module ranges_operations            { header "__functional/ranges_operations.h" }1438    module reference_wrapper            { header "__functional/reference_wrapper.h" }1439    module unary_function               { header "__functional/unary_function.h" }1440    module unary_negate                 { header "__functional/unary_negate.h" }1441    module weak_result_type             { header "__functional/weak_result_type.h" }1442 1443    header "functional"1444    export *1445  } // module functional1446 1447  module future {1448    header "future"1449    export *1450  }1451 1452  module initializer_list {1453    header "initializer_list"1454    export *1455  }1456 1457  module iomanip {1458    header "iomanip"1459    export *1460  }1461 1462  module ios {1463    module fwd  { header "__fwd/ios.h" }1464    module fpos { header "__ios/fpos.h" }1465 1466    header "ios"1467    export *1468  }1469 1470  module iosfwd {1471    header "iosfwd"1472    export *1473  }1474 1475  module iostream {1476    header "iostream"1477    export *1478  }1479 1480  module istream {1481    module fwd { header "__fwd/istream.h" }1482 1483    header "istream"1484    export std.ios // base class1485  }1486 1487  module iterator {1488    module access                     { header "__iterator/access.h" }1489    module advance                    { header "__iterator/advance.h" }1490    module aliasing_iterator          { header "__iterator/aliasing_iterator.h" }1491    module back_insert_iterator       { header "__iterator/back_insert_iterator.h" }1492    module bounded_iter               { header "__iterator/bounded_iter.h" }1493    module common_iterator            { header "__iterator/common_iterator.h" }1494    module concepts {1495      header "__iterator/concepts.h"1496      export std_core.type_traits.common_reference1497    }1498    module counted_iterator           { header "__iterator/counted_iterator.h" }1499    module cpp17_iterator_concepts    { header "__iterator/cpp17_iterator_concepts.h" }1500    module data                       { header "__iterator/data.h" }1501    module default_sentinel           { header "__iterator/default_sentinel.h" }1502    module distance                   { header "__iterator/distance.h" }1503    module empty                      { header "__iterator/empty.h" }1504    module erase_if_container         { header "__iterator/erase_if_container.h" }1505    module front_insert_iterator      { header "__iterator/front_insert_iterator.h" }1506    module incrementable_traits       { header "__iterator/incrementable_traits.h" }1507    module indirectly_comparable      { header "__iterator/indirectly_comparable.h" }1508    module insert_iterator            { header "__iterator/insert_iterator.h" }1509    module istream_iterator           { header "__iterator/istream_iterator.h" }1510    module istreambuf_iterator        {1511      header "__iterator/istreambuf_iterator.h"1512      export std.string.char_traits1513    }1514    module iter_move                  { header "__iterator/iter_move.h" }1515    module iter_swap                  { header "__iterator/iter_swap.h" }1516    module iterator_traits {1517      header "__iterator/iterator_traits.h"1518      export std_core.type_traits.integral_constant1519      export std_core.type_traits.is_convertible1520      export std_core.type_traits.nat1521    }1522    module iterator_with_data         { header "__iterator/iterator_with_data.h" }1523    module iterator                   { header "__iterator/iterator.h" }1524    module mergeable                  { header "__iterator/mergeable.h" }1525    module move_iterator              { header "__iterator/move_iterator.h" }1526    module move_sentinel              { header "__iterator/move_sentinel.h" }1527    module next                       { header "__iterator/next.h" }1528    module ostream_iterator           { header "__iterator/ostream_iterator.h" }1529    module ostreambuf_iterator {1530      header "__iterator/ostreambuf_iterator.h"1531      export iosfwd // for default template argument of ostreambuf_iterator1532    }1533    module permutable                 { header "__iterator/permutable.h" }1534    module prev                       { header "__iterator/prev.h" }1535    module product_iterator           { header "__iterator/product_iterator.h" }1536    module projected                  { header "__iterator/projected.h" }1537    module ranges_iterator_traits     { header "__iterator/ranges_iterator_traits.h" }1538    module readable_traits            { header "__iterator/readable_traits.h" }1539    module reverse_access             { header "__iterator/reverse_access.h" }1540    module reverse_iterator           { header "__iterator/reverse_iterator.h" }1541    module segmented_iterator         { header "__iterator/segmented_iterator.h" }1542    module size                       { header "__iterator/size.h" }1543    module sortable                   { header "__iterator/sortable.h" }1544    module static_bounded_iter        { header "__iterator/static_bounded_iter.h" }1545    module unreachable_sentinel       { header "__iterator/unreachable_sentinel.h" }1546    module wrap_iter                  { header "__iterator/wrap_iter.h" }1547 1548    header "iterator"1549    export *1550  }1551 1552  module latch {1553    header "latch"1554    export *1555  }1556 1557  module list {1558    header "list"1559    export *1560    export std.iterator.reverse_iterator1561  }1562 1563  module locale {1564    header "locale"1565    module check_grouping  { header "__locale_dir/check_grouping.h" }1566    module get_c_locale    { header "__locale_dir/get_c_locale.h" }1567    module messages        { header "__locale_dir/messages.h" }1568    module money           { header "__locale_dir/money.h" }1569    module num             { header "__locale_dir/num.h" }1570    module pad_and_output  { header "__locale_dir/pad_and_output.h" }1571    module scan_keyword    { header "__locale_dir/scan_keyword.h" }1572    module time            { header "__locale_dir/time.h" }1573    module wbuffer_convert { header "__locale_dir/wbuffer_convert.h" }1574    module wstring_convert { header "__locale_dir/wstring_convert.h" }1575 1576    module support {1577      header "__locale_dir/locale_base_api.h"1578      export *1579    }1580 1581    module support_impl {1582      textual header "__locale_dir/support/apple.h"1583      textual header "__locale_dir/support/bsd_like.h"1584      textual header "__locale_dir/support/freebsd.h"1585      textual header "__locale_dir/support/fuchsia.h"1586      textual header "__locale_dir/support/linux.h"1587      textual header "__locale_dir/support/netbsd.h"1588      textual header "__locale_dir/support/no_locale/characters.h"1589      textual header "__locale_dir/support/no_locale/strtonum.h"1590      textual header "__locale_dir/support/windows.h"1591    }1592 1593    module locale_base_api {1594      textual header "__locale_dir/locale_base_api/bsd_locale_fallbacks.h"1595      textual header "__locale_dir/locale_base_api/ibm.h"1596      textual header "__locale_dir/locale_base_api/openbsd.h"1597    }1598    export *1599  }1600 1601  // TODO: Understand why this needs to live in its own module1602  module locale_base [system] {1603    header "__locale"1604    export *1605  }1606 1607  module map {1608    header "map"1609    export *1610    export std.iterator.reverse_iterator1611  }1612 1613  module mdspan {1614    module aligned_accessor   { header "__mdspan/aligned_accessor.h" }1615    module default_accessor   { header "__mdspan/default_accessor.h" }1616    module extents            { header "__mdspan/extents.h" }1617    module fwd                { header "__fwd/mdspan.h" }1618    module layout_left        { header "__mdspan/layout_left.h" }1619    module layout_right       { header "__mdspan/layout_right.h" }1620    module layout_stride      { header "__mdspan/layout_stride.h" }1621    module mdspan {1622      header "__mdspan/mdspan.h"1623      export std.array // returned by some methods1624    }1625 1626    header "mdspan"1627    export *1628  }1629 1630  module memory {1631    module addressof                          { header "__memory/addressof.h" }1632    module align                              { header "__memory/align.h" }1633    module allocate_at_least                  { header "__memory/allocate_at_least.h" }1634    module allocation_guard                   { header "__memory/allocation_guard.h" }1635    module allocator {1636      header "__memory/allocator.h"1637      export * // TODO: Workaround for https://llvm.org/PR1201081638    }1639    module allocator_arg_t                    { header "__memory/allocator_arg_t.h" }1640    module allocator_destructor               { header "__memory/allocator_destructor.h" }1641    module allocator_traits                   { header "__memory/allocator_traits.h" }1642    module array_cookie                       { header "__memory/array_cookie.h" }1643    module assume_aligned                     { header "__memory/assume_aligned.h" }1644    module auto_ptr                           { header "__memory/auto_ptr.h" }1645    module compressed_pair                    { header "__memory/compressed_pair.h" }1646    module concepts                           { header "__memory/concepts.h" }1647    module construct_at                       { header "__memory/construct_at.h" }1648    module destroy                            { header "__memory/destroy.h" }1649    module destruct_n                         { header "__memory/destruct_n.h" }1650    module fwd                                { header "__fwd/memory.h" }1651    module inout_ptr                          { header "__memory/inout_ptr.h" }1652    module is_sufficiently_aligned            { header "__memory/is_sufficiently_aligned.h" }1653    module noexcept_move_assign_container     { header "__memory/noexcept_move_assign_container.h" }1654    module out_ptr                            { header "__memory/out_ptr.h" }1655    module pointer_traits                     { header "__memory/pointer_traits.h" }1656    module ranges_construct_at                { header "__memory/ranges_construct_at.h" }1657    module ranges_destroy                     { header "__memory/ranges_destroy.h" }1658    module ranges_uninitialized_algorithms {1659      header "__memory/ranges_uninitialized_algorithms.h"1660      export std.algorithm.in_out_result1661    }1662    module raw_storage_iterator               { header "__memory/raw_storage_iterator.h" }1663    module shared_count                       { header "__memory/shared_count.h" }1664    module shared_ptr                         { header "__memory/shared_ptr.h" }1665    module swap_allocator                     { header "__memory/swap_allocator.h" }1666    module temp_value                         { header "__memory/temp_value.h" }1667    module temporary_buffer                   {1668      header "__memory/temporary_buffer.h"1669      export std.utility.pair // return type of std::get_temporary_buffer()1670    }1671    module uninitialized_algorithms {1672      header "__memory/uninitialized_algorithms.h"1673      export std.utility.pair1674    }1675    module unique_ptr {1676      header "__memory/unique_ptr.h"1677    }1678    module unique_temporary_buffer {1679      header "__memory/unique_temporary_buffer.h"1680      export std.memory.unique_ptr1681      export std_core.type_traits.is_constant_evaluated1682      export * // TODO: Workaround for https://llvm.org/PR1201081683    }1684    module uses_allocator                     { header "__memory/uses_allocator.h" }1685    module uses_allocator_construction        { header "__memory/uses_allocator_construction.h" }1686 1687    header "memory"1688    export *1689  }1690 1691  module memory_resource {1692    module fwd                            { header "__fwd/memory_resource.h" }1693    module memory_resource                { header "__memory_resource/memory_resource.h" }1694    module monotonic_buffer_resource      { header "__memory_resource/monotonic_buffer_resource.h" }1695    module polymorphic_allocator          { header "__memory_resource/polymorphic_allocator.h" }1696    module pool_options                   { header "__memory_resource/pool_options.h" }1697    module synchronized_pool_resource     { header "__memory_resource/synchronized_pool_resource.h" }1698    module unsynchronized_pool_resource   { header "__memory_resource/unsynchronized_pool_resource.h" }1699 1700    header "memory_resource"1701    export *1702  }1703 1704  module mutex {1705    module lock_guard     { header "__mutex/lock_guard.h" }1706    module mutex          { header "__mutex/mutex.h" }1707    module once_flag      { header "__mutex/once_flag.h" }1708    module tag_types      { header "__mutex/tag_types.h" }1709    module unique_lock    { header "__mutex/unique_lock.h" }1710 1711    header "mutex"1712    export *1713  }1714 1715  module new {1716    header "new"1717    module align_val_t          { header "__new/align_val_t.h" }1718    module allocate {1719      header "__new/allocate.h"1720      export std.utility.element_count // used as part of the API1721      export * // TODO: Workaround for https://llvm.org/PR1201081722    }1723    module destroying_delete_t  { header "__new/destroying_delete_t.h" }1724    module exceptions           { header "__new/exceptions.h" }1725    module global_new_delete    {1726      header "__new/global_new_delete.h"1727 1728      export std.new.nothrow_t1729    }1730    module interference_size    { header "__new/interference_size.h" }1731    module launder              { header "__new/launder.h" }1732    module new_handler          { header "__new/new_handler.h" }1733    module nothrow_t            { header "__new/nothrow_t.h" }1734    module placement_new_delete { header "__new/placement_new_delete.h" }1735 1736    export *1737  }1738 1739  module numbers {1740    header "numbers"1741    export *1742  }1743 1744  module numeric {1745    module accumulate                 { header "__numeric/accumulate.h" }1746    module adjacent_difference        { header "__numeric/adjacent_difference.h" }1747    module exclusive_scan             { header "__numeric/exclusive_scan.h" }1748    module gcd_lcm                    { header "__numeric/gcd_lcm.h" }1749    module inclusive_scan             { header "__numeric/inclusive_scan.h" }1750    module inner_product              { header "__numeric/inner_product.h" }1751    module iota                       { header "__numeric/iota.h" }1752    module midpoint                   { header "__numeric/midpoint.h" }1753    module partial_sum                { header "__numeric/partial_sum.h" }1754    module pstl                       { header "__numeric/pstl.h" }1755    module reduce                     { header "__numeric/reduce.h" }1756    module ranges_iota                { header "__numeric/ranges_iota.h" }1757    module saturation_arithmetic      { header "__numeric/saturation_arithmetic.h" }1758    module transform_exclusive_scan   { header "__numeric/transform_exclusive_scan.h" }1759    module transform_inclusive_scan   { header "__numeric/transform_inclusive_scan.h" }1760    module transform_reduce           { header "__numeric/transform_reduce.h" }1761 1762    header "numeric"1763    export *1764  }1765 1766  module optional {1767    header "optional"1768    export *1769  }1770 1771  module ostream {1772    module basic_ostream {1773      header "__ostream/basic_ostream.h"1774      export std.ios // base class1775    }1776    module fwd {1777      header "__fwd/ostream.h"1778    }1779    module print {1780      header "__ostream/print.h"1781      export *1782    }1783    module put_character_sequence { header "__ostream/put_character_sequence.h" }1784 1785    header "ostream"1786    export *1787  }1788 1789  module print {1790    header "print"1791    export *1792  }1793 1794  module queue {1795    module fwd { header "__fwd/queue.h" }1796 1797    header "queue"1798    export *1799  }1800 1801  module random {1802    module bernoulli_distribution             { header "__random/bernoulli_distribution.h" }1803    module binomial_distribution              { header "__random/binomial_distribution.h" }1804    module cauchy_distribution                { header "__random/cauchy_distribution.h" }1805    module chi_squared_distribution           { header "__random/chi_squared_distribution.h" }1806    module clamp_to_integral                  { header "__random/clamp_to_integral.h" }1807    module default_random_engine              { header "__random/default_random_engine.h" }1808    module discard_block_engine               { header "__random/discard_block_engine.h" }1809    module discrete_distribution              { header "__random/discrete_distribution.h" }1810    module exponential_distribution           { header "__random/exponential_distribution.h" }1811    module extreme_value_distribution         { header "__random/extreme_value_distribution.h" }1812    module fisher_f_distribution              { header "__random/fisher_f_distribution.h" }1813    module gamma_distribution                 { header "__random/gamma_distribution.h" }1814    module generate_canonical                 { header "__random/generate_canonical.h" }1815    module geometric_distribution             { header "__random/geometric_distribution.h" }1816    module independent_bits_engine            { header "__random/independent_bits_engine.h" }1817    module is_seed_sequence                   { header "__random/is_seed_sequence.h" }1818    module is_valid {1819      header "__random/is_valid.h"1820      export std_core.type_traits.integral_constant1821    }1822    module knuth_b                            { header "__random/knuth_b.h" }1823    module linear_congruential_engine         { header "__random/linear_congruential_engine.h" }1824    module log2                               { header "__random/log2.h" }1825    module lognormal_distribution             { header "__random/lognormal_distribution.h" }1826    module mersenne_twister_engine            { header "__random/mersenne_twister_engine.h" }1827    module negative_binomial_distribution     { header "__random/negative_binomial_distribution.h" }1828    module normal_distribution                { header "__random/normal_distribution.h" }1829    module piecewise_constant_distribution    { header "__random/piecewise_constant_distribution.h" }1830    module piecewise_linear_distribution      { header "__random/piecewise_linear_distribution.h" }1831    module poisson_distribution               { header "__random/poisson_distribution.h" }1832    module random_device                      { header "__random/random_device.h" }1833    module ranlux                             { header "__random/ranlux.h" }1834    module seed_seq                           { header "__random/seed_seq.h" }1835    module shuffle_order_engine               { header "__random/shuffle_order_engine.h" }1836    module student_t_distribution             { header "__random/student_t_distribution.h" }1837    module subtract_with_carry_engine         { header "__random/subtract_with_carry_engine.h" }1838    module uniform_int_distribution           { header "__random/uniform_int_distribution.h" }1839    module uniform_random_bit_generator       { header "__random/uniform_random_bit_generator.h" }1840    module uniform_real_distribution          { header "__random/uniform_real_distribution.h" }1841    module weibull_distribution               { header "__random/weibull_distribution.h" }1842 1843    header "random"1844    export *1845  }1846 1847  module ranges {1848    module access                         { header "__ranges/access.h" }1849    module all                            {1850      header "__ranges/all.h"1851      export std.ranges.ref_view1852    }1853    module as_rvalue_view                 { header "__ranges/as_rvalue_view.h" }1854    module chunk_by_view {1855      header "__ranges/chunk_by_view.h"1856      export std.functional.bind_back1857    }1858    module common_view                    { header "__ranges/common_view.h" }1859    module concepts                       { header "__ranges/concepts.h" }1860    module container_compatible_range     { header "__ranges/container_compatible_range.h" }1861    module counted {1862      header "__ranges/counted.h"1863      export std.span            // return type of views::counted1864      export std.ranges.subrange // return type of views::counted1865    }1866    module dangling {1867      header "__ranges/dangling.h"1868    }1869    module data {1870      header "__ranges/data.h"1871    }1872    module drop_view {1873      header "__ranges/drop_view.h"1874      export std.functional.bind_back1875    }1876    module drop_while_view {1877      header "__ranges/drop_while_view.h"1878      export std.functional.bind_back1879    }1880    module elements_view                  { header "__ranges/elements_view.h" }1881    module empty                          { header "__ranges/empty.h" }1882    module empty_view                     { header "__ranges/empty_view.h" }1883    module enable_borrowed_range          { header "__ranges/enable_borrowed_range.h" }1884    module enable_view                    { header "__ranges/enable_view.h" }1885    module filter_view {1886      header "__ranges/filter_view.h"1887      export std.functional.bind_back1888    }1889    module from_range                     { header "__ranges/from_range.h" }1890    module iota_view                      { header "__ranges/iota_view.h" }1891    module istream_view                   { header "__ranges/istream_view.h" }1892    module join_view                      { header "__ranges/join_view.h" }1893    module join_with_view                 { header "__ranges/join_with_view.h" }1894    module lazy_split_view {1895      header "__ranges/lazy_split_view.h"1896      export std.functional.bind_back1897    }1898    module movable_box                    { header "__ranges/movable_box.h" }1899    module non_propagating_cache          { header "__ranges/non_propagating_cache.h" }1900    module owning_view                    { header "__ranges/owning_view.h" }1901    module range_adaptor                  { header "__ranges/range_adaptor.h" }1902    module rbegin                         { header "__ranges/rbegin.h" }1903    module ref_view                       { header "__ranges/ref_view.h" }1904    module rend                           { header "__ranges/rend.h" }1905    module repeat_view                    { header "__ranges/repeat_view.h" }1906    module reverse_view                   { header "__ranges/reverse_view.h" }1907    module single_view                    { header "__ranges/single_view.h" }1908    module size                           { header "__ranges/size.h" }1909    module split_view {1910      header "__ranges/split_view.h"1911      export std.functional.bind_back1912    }1913    module subrange {1914      header "__ranges/subrange.h"1915      export std.ranges.subrange_fwd1916    }1917    module subrange_fwd {1918      header "__fwd/subrange.h"1919    }1920    module take_view {1921      header "__ranges/take_view.h"1922      export std.functional.bind_back1923    }1924    module take_while_view {1925      header "__ranges/take_while_view.h"1926      export std.functional.bind_back1927    }1928    module to {1929      header "__ranges/to.h"1930      export std.functional.bind_back1931    }1932    module transform_view {1933      header "__ranges/transform_view.h"1934      export std.functional.bind_back1935    }1936    module view_interface {1937      header "__ranges/view_interface.h"1938    }1939    module views {1940      header "__ranges/views.h"1941    }1942    module zip_view {1943      header "__ranges/zip_view.h"1944      export std.utility.pair1945    }1946    module zip_transform_view {1947      header "__ranges/zip_transform_view.h"1948    }1949 1950    header "ranges"1951    export *1952  } // module ranges1953 1954  module ratio {1955    header "ratio"1956    export *1957  }1958 1959  module regex {1960    header "regex"1961    export *1962    export std.iterator.reverse_iterator1963  }1964 1965  module scoped_allocator {1966    header "scoped_allocator"1967    export *1968  }1969 1970  module semaphore {1971    header "semaphore"1972    export *1973  }1974 1975  module set {1976    header "set"1977    export *1978    export std.iterator.reverse_iterator1979  }1980 1981  module shared_mutex {1982    header "shared_mutex"1983    export *1984  }1985 1986  module source_location {1987    header "source_location"1988    export *1989  }1990 1991  module span {1992    module fwd { header "__fwd/span.h" }1993 1994    header "span"1995    export *1996    export std.iterator.reverse_iterator1997  }1998 1999  module sstream {2000    module fwd { header "__fwd/sstream.h" }2001 2002    header "sstream"2003    export *2004  }2005 2006  module stack {2007    module fwd { header "__fwd/stack.h" }2008 2009    header "stack"2010    export *2011  }2012 2013  module stdexcept {2014    header "stdexcept"2015    export *2016  }2017 2018  module stop_token {2019    module atomic_unique_lock     { header "__stop_token/atomic_unique_lock.h" }2020    module intrusive_list_view    { header "__stop_token/intrusive_list_view.h" }2021    module intrusive_shared_ptr   { header "__stop_token/intrusive_shared_ptr.h" }2022    module stop_callback          { header "__stop_token/stop_callback.h" }2023    module stop_source            { header "__stop_token/stop_source.h" }2024    module stop_state             { header "__stop_token/stop_state.h" }2025    module stop_token             { header "__stop_token/stop_token.h" }2026 2027    header "stop_token"2028    export *2029  }2030 2031  module streambuf {2032    module fwd { header "__fwd/streambuf.h" }2033 2034    header "streambuf"2035    export *2036  }2037 2038  module string {2039    module char_traits              { header "__string/char_traits.h" }2040    module constexpr_c_functions    {2041      header "__string/constexpr_c_functions.h"2042      export std.utility.element_count // used as part of the constexpr C function's API2043    }2044    module extern_template_lists    { header "__string/extern_template_lists.h" }2045    module fwd                      { header "__fwd/string.h" }2046 2047    header "string"2048    export *2049    export std.iterator.reverse_iterator2050  }2051 2052  module string_view {2053    module fwd { header "__fwd/string_view.h" }2054 2055    header "string_view"2056    export *2057    export std.iterator.reverse_iterator2058  }2059 2060  module strstream {2061    header "strstream"2062    export *2063  }2064 2065  module syncstream {2066    header "syncstream"2067    export *2068  }2069 2070  module system_error {2071    module errc               { header "__system_error/errc.h" }2072    module error_category     { header "__system_error/error_category.h" }2073    module error_code {2074      header "__system_error/error_code.h"2075      export std.system_error.error_category // methods of error_code return that type2076    }2077    module error_condition    { header "__system_error/error_condition.h" }2078    module system_error       { header "__system_error/system_error.h" }2079    module throw_system_error { header "__system_error/throw_system_error.h" }2080 2081    header "system_error"2082    export *2083  }2084 2085  module thread {2086    module formatter              { header "__thread/formatter.h" }2087    module id                     { header "__thread/id.h" }2088    module jthread                { header "__thread/jthread.h" }2089    module poll_with_backoff      { header "__thread/poll_with_backoff.h" }2090    module this_thread            { header "__thread/this_thread.h" }2091    module thread                 { header "__thread/thread.h" }2092    module timed_backoff_policy   { header "__thread/timed_backoff_policy.h" }2093 2094    module support {2095      header "__thread/support.h"2096      export *2097    }2098    module support_impl {2099      textual header "__thread/support/c11.h"2100      textual header "__thread/support/external.h"2101      textual header "__thread/support/pthread.h"2102      textual header "__thread/support/windows.h"2103    }2104 2105    header "thread"2106    export *2107  }2108 2109  module tuple {2110    module find_index               { header "__tuple/find_index.h" }2111    module ignore                   { header "__tuple/ignore.h" }2112    module sfinae_helpers           { header "__tuple/sfinae_helpers.h" }2113    module tuple_element            { header "__tuple/tuple_element.h" }2114    module tuple_like_no_subrange   { header "__tuple/tuple_like_no_subrange.h" }2115    module tuple_like               { header "__tuple/tuple_like.h" }2116    module tuple_size               { header "__tuple/tuple_size.h" }2117 2118    header "tuple"2119    export *2120  }2121 2122  module typeindex {2123    header "typeindex"2124    export *2125  }2126 2127  module typeinfo {2128    header "typeinfo"2129    export *2130  }2131 2132  module unordered_map {2133    header "unordered_map"2134    export *2135    export std.iterator.reverse_iterator2136  }2137 2138  module unordered_set {2139    header "unordered_set"2140    export *2141    export std.iterator.reverse_iterator2142  }2143 2144  module utility {2145    module as_const                        { header "__utility/as_const.h" }2146    module as_lvalue                       { header "__utility/as_lvalue.h" }2147    module auto_cast                       {2148      header "__utility/auto_cast.h"2149      export std_core.type_traits.decay // the macro expansion uses that trait2150    }2151    module cmp                             { header "__utility/cmp.h" }2152    module convert_to_integral             { header "__utility/convert_to_integral.h" }2153    module default_three_way_comparator    { header "__utility/default_three_way_comparator.h" }2154    module element_count                   { header "__utility/element_count.h" }2155    module exception_guard                 { header "__utility/exception_guard.h" }2156    module exchange                        { header "__utility/exchange.h" }2157    module forward_like                    { header "__utility/forward_like.h" }2158    module in_place                        {2159      header "__utility/in_place.h"2160      export std_core.type_traits.integral_constant2161    }2162    module integer_sequence                { header "__utility/integer_sequence.h" }2163    module is_pointer_in_range             { header "__utility/is_pointer_in_range.h" }2164    module is_valid_range                  { header "__utility/is_valid_range.h" }2165    module lazy_synth_three_way_comparator { header "__utility/lazy_synth_three_way_comparator.h" }2166    module move                            { header "__utility/move.h" }2167    module no_destroy                      { header "__utility/no_destroy.h" }2168    module pair                            {2169      header "__utility/pair.h"2170      export std.utility.piecewise_construct2171    }2172    module piecewise_construct             { header "__utility/piecewise_construct.h" }2173    module priority_tag                    { header "__utility/priority_tag.h" }2174    module private_constructor_tag         { header "__utility/private_constructor_tag.h" }2175    module rel_ops                         { header "__utility/rel_ops.h" }2176    module scope_guard                     { header "__utility/scope_guard.h" }2177    module small_buffer                    { header "__utility/small_buffer.h" }2178    module swap                            { header "__utility/swap.h" }2179    module to_underlying                   { header "__utility/to_underlying.h" }2180    module try_key_extraction              { header "__utility/try_key_extraction.h" }2181    module unreachable                     { header "__utility/unreachable.h" }2182 2183    header "utility"2184    export *2185  }2186 2187  module valarray {2188    header "valarray"2189    export *2190  }2191 2192  module variant {2193    module fwd       { header "__fwd/variant.h" }2194    module monostate { header "__variant/monostate.h" }2195 2196    header "variant"2197    export *2198  }2199 2200  module vector {2201    module fwd                   { header "__fwd/vector.h" }2202 2203    module comparison            { header "__vector/comparison.h" }2204    module container_traits      { header "__vector/container_traits.h" }2205    module erase                 { header "__vector/erase.h" }2206    module vector_bool_formatter {2207      header "__vector/vector_bool_formatter.h"2208 2209      export std.format.formatter2210    }2211    module pmr                   {2212      header "__vector/pmr.h"2213 2214      export std.memory_resource.polymorphic_allocator2215    }2216    module swap                  { header "__vector/swap.h" }2217    module vector_bool           {2218      header "__vector/vector_bool.h"2219      export std.bit_reference2220      export std.memory.allocator2221      export std.vector.comparison2222      export std.vector.fwd2223      export std.vector.swap2224    }2225    module vector                {2226      header "__vector/vector.h"2227      export std.iterator.bounded_iter2228      export std.iterator.wrap_iter2229      export std.memory.allocator2230      export std.vector.comparison2231      export std.vector.fwd2232      export std.vector.swap2233    }2234 2235    header "vector"2236    export std.iterator.reverse_iterator2237    export *2238    export std.algorithm.simd_utils // This is a workaround for https://llvm.org/PR120108.2239  }2240 2241  // Experimental C++ Standard Library interfaces2242  module experimental {2243    module iterator           { header "experimental/iterator" }2244    module memory             { header "experimental/memory" }2245    module propagate_const    { header "experimental/propagate_const" }2246    module type_traits        { header "experimental/type_traits" }2247    module utility            { header "experimental/utility" }2248    module simd {2249      private header "experimental/__simd/aligned_tag.h"2250      private header "experimental/__simd/declaration.h"2251      private header "experimental/__simd/reference.h"2252      private header "experimental/__simd/scalar.h"2253      private header "experimental/__simd/simd_mask.h"2254      private header "experimental/__simd/simd.h"2255      private header "experimental/__simd/traits.h"2256      private header "experimental/__simd/utility.h"2257      private header "experimental/__simd/vec_ext.h"2258      header "experimental/simd"2259      export *2260    }2261  }2262 2263  // Implementation detail headers that are private to libc++. These modules2264  // must not be directly imported.2265  module debug_utils {2266    module randomize_range              { header "__debug_utils/randomize_range.h" }2267    module sanitizers                   { header "__debug_utils/sanitizers.h" }2268    module strict_weak_ordering_check   { header "__debug_utils/strict_weak_ordering_check.h" }2269  }2270 2271  module get_fwd {2272    header "__fwd/get.h"2273    export std_core.fwd.pair2274    export std_core.fwd.tuple2275    export std.array.fwd2276    export std.complex.fwd2277    export std.ranges.subrange_fwd2278    export std.variant.fwd2279  }2280 2281  module pstl {2282    module backend_fwd {2283      header "__pstl/backend_fwd.h"2284    }2285    module backend {2286      header "__pstl/backend.h"2287      export * // need to export everything from whatever backend is currently configured2288    }2289    module backends {2290      module default {2291        header "__pstl/backends/default.h"2292        export std_core.utility_core.empty2293      }2294      module libdispatch {2295        header "__pstl/backends/libdispatch.h"2296        export std.pstl.cpu_algos2297        export std_core.utility_core.empty2298      }2299      module serial {2300        header "__pstl/backends/serial.h"2301        export std_core.utility_core.empty2302      }2303      module std_thread {2304        header "__pstl/backends/std_thread.h"2305        export std.pstl.cpu_algos2306        export std_core.utility_core.empty2307      }2308    }2309    module cpu_algos {2310      module any_of {2311        header "__pstl/cpu_algos/any_of.h"2312      }2313      module cpu_traits {2314        header "__pstl/cpu_algos/cpu_traits.h"2315      }2316      module fill {2317        header "__pstl/cpu_algos/fill.h"2318        export std_core.utility_core.empty2319      }2320      module find_if {2321        header "__pstl/cpu_algos/find_if.h"2322      }2323      module for_each {2324        header "__pstl/cpu_algos/for_each.h"2325        export std_core.utility_core.empty2326      }2327      module merge {2328        header "__pstl/cpu_algos/merge.h"2329      }2330      module stable_sort {2331        header "__pstl/cpu_algos/stable_sort.h"2332        export std_core.utility_core.empty2333      }2334      module transform {2335        header "__pstl/cpu_algos/transform.h"2336      }2337      module transform_reduce {2338        header "__pstl/cpu_algos/transform_reduce.h"2339      }2340    }2341    module dispatch           { header "__pstl/dispatch.h" }2342    module handle_exception   { header "__pstl/handle_exception.h" }2343  }2344 2345  // Miscellaneous modules for top-level headers2346  module bit_reference_fwd {2347    header "__fwd/bit_reference.h"2348  }2349  module bit_reference {2350    header "__bit_reference"2351    export std.bit_reference_fwd2352  }2353  module hash_table           { header "__hash_table" }2354  module node_handle          { header "__node_handle" }2355  module split_buffer         { header "__split_buffer" }2356  module tree                 {2357    header "__tree"2358    export std.memory.unique_ptr2359  }2360  module std_mbstate_t {2361    header "__std_mbstate_t.h"2362    export *2363  }2364  module log_hardening_failure {2365    header "__log_hardening_failure"2366  }2367  module verbose_abort {2368    header "__verbose_abort"2369  }2370  module verbose_trap {2371    header "__verbose_trap"2372  }2373  module internal_assert {2374    header "__assert"2375    export *2376  }2377  module assertion_handler {2378    header "__assertion_handler" // generated via CMake2379    export *2380  }2381 2382  module undef_macros {2383    textual header "__undef_macros"2384  }2385 2386  // This module needs to appear after __tree to work around issues with modules in Objective-C++ mode.2387  module coroutine {2388    module coroutine_handle         { header "__coroutine/coroutine_handle.h" }2389    module coroutine_traits         { header "__coroutine/coroutine_traits.h" }2390    module noop_coroutine_handle    { header "__coroutine/noop_coroutine_handle.h" }2391    module trivial_awaitables       { header "__coroutine/trivial_awaitables.h" }2392 2393    header "coroutine"2394    export *2395  }2396} // module std2397 2398// C compatibility headers2399//2400// These modules need to be their own top-level modules because they depend on the system-provided2401// headers (via include_next), which are then free to include other C headers provided by libc++.2402// If we group these headers in a single module, we would end up with circular dependencies.2403module std_complex_h [system] {2404  header "complex.h"2405  export *2406}2407module std_ctype_h [system] {2408  header "ctype.h"2409  export *2410}2411module std_errno_h [system] {2412  header "errno.h"2413  export *2414}2415module std_fenv_h [system] {2416  header "fenv.h"2417  export *2418}2419module std_float_h [system] {2420  header "float.h"2421  export *2422}2423module std_inttypes_h [system] {2424  header "inttypes.h"2425  export *2426}2427module std_math_h [system] {2428  header "math.h"2429  export *2430}2431module std_stdatomic_h [system] {2432  header "stdatomic.h"2433  export *2434}2435module std_stddef_h [system] {2436  // <stddef.h> supports being included multiple times with different pre-defined macros2437  textual header "stddef.h"2438}2439module std_stdio_h [system] {2440  // <stdio.h> supports being included multiple times with different pre-defined macros2441  textual header "stdio.h"2442}2443module std_stdlib_h [system] {2444  // <stdlib.h> supports being included multiple times with different pre-defined macros2445  textual header "stdlib.h"2446}2447module std_string_h [system] {2448  header "string.h"2449  export *2450}2451module std_tgmath_h [system] {2452  header "tgmath.h"2453  export *2454}2455module std_uchar_h [system] {2456  header "uchar.h"2457  export *2458}2459module std_wchar_h [system] {2460  // <wchar.h> supports being included multiple times with different pre-defined macros2461  textual header "wchar.h"2462}2463module std_wctype_h [system] {2464  header "wctype.h"2465  export *2466}2467 2468// This header is used by other C compatibility headers so it needs to be in its own module.2469module std_private_mbstate_t [system] {2470  header "__mbstate_t.h"2471  export *2472}2473