| // This module contains headers related to the configuration of the library. These headers | |
| // are free of any dependency on the rest of libc++. | |
| module std_config { | |
| @LIBCXX_CONFIG_SITE_MODULE_ENTRY@ // generated via CMake | |
| textual header "__config" | |
| textual header "__configuration/abi.h" | |
| textual header "__configuration/attributes.h" | |
| textual header "__configuration/availability.h" | |
| textual header "__configuration/compiler.h" | |
| textual header "__configuration/diagnostic_suppression.h" | |
| textual header "__configuration/experimental.h" | |
| textual header "__configuration/hardening.h" | |
| textual header "__configuration/language.h" | |
| textual header "__configuration/namespace.h" | |
| textual header "__configuration/platform.h" | |
| textual header "__configuration/pstl.h" | |
| textual header "__configuration/utility.h" | |
| textual header "version" | |
| } | |
| module std_core { | |
| module cmath { | |
| module lerp { header "__cmath/lerp.h" } | |
| module special_functions { header "__cmath/special_functions.h" } | |
| } | |
| module cstddef { | |
| module byte { header "__cstddef/byte.h" } | |
| module max_align_t { | |
| header "__cstddef/max_align_t.h" | |
| export * | |
| } | |
| module nullptr_t { header "__cstddef/nullptr_t.h" } | |
| module ptrdiff_t { header "__cstddef/ptrdiff_t.h" } | |
| module size_t { header "__cstddef/size_t.h" } | |
| } | |
| module cstdint { | |
| header "cstdint" | |
| export * | |
| } | |
| module fwd { | |
| module byte { header "__fwd/byte.h" } | |
| module functional { header "__fwd/functional.h" } | |
| module pair { header "__fwd/pair.h" } | |
| module tuple { header "__fwd/tuple.h" } | |
| } | |
| module limits { | |
| header "limits" | |
| export * | |
| } | |
| module math { | |
| module abs { header "__math/abs.h" } | |
| module copysign { header "__math/copysign.h" } | |
| module error_functions { header "__math/error_functions.h" } | |
| module exponential_functions { header "__math/exponential_functions.h" } | |
| module fdim { header "__math/fdim.h" } | |
| module fma { header "__math/fma.h" } | |
| module gamma { header "__math/gamma.h" } | |
| module hyperbolic_functions { header "__math/hyperbolic_functions.h" } | |
| module hypot { header "__math/hypot.h" } | |
| module inverse_hyperbolic_functions { header "__math/inverse_hyperbolic_functions.h" } | |
| module inverse_trigonometric_functions { header "__math/inverse_trigonometric_functions.h" } | |
| module logarithms { header "__math/logarithms.h" } | |
| module min_max { header "__math/min_max.h" } | |
| module modulo { header "__math/modulo.h" } | |
| module remainder { header "__math/remainder.h" } | |
| module roots { header "__math/roots.h" } | |
| module rounding_functions { header "__math/rounding_functions.h" } | |
| module traits { header "__math/traits.h" } | |
| module trigonometric_functions { header "__math/trigonometric_functions.h" } | |
| } | |
| module type_traits { | |
| module add_cv_quals { header "__type_traits/add_cv_quals.h" } | |
| module add_pointer { header "__type_traits/add_pointer.h" } | |
| module add_reference { header "__type_traits/add_reference.h" } | |
| module aligned_storage { header "__type_traits/aligned_storage.h" } | |
| module aligned_union { header "__type_traits/aligned_union.h" } | |
| module alignment_of { header "__type_traits/alignment_of.h" } | |
| module common_reference { header "__type_traits/common_reference.h" } | |
| module common_type { | |
| header "__type_traits/common_type.h" | |
| // We need to export those because common_type inherits from either of those based on __builtin_common_type. | |
| export std_core.type_traits.type_identity | |
| export std_core.utility_core.empty | |
| } | |
| module conditional { header "__type_traits/conditional.h" } | |
| module conjunction { header "__type_traits/conjunction.h" } | |
| module container_traits { header "__type_traits/container_traits.h" } | |
| module copy_cv { header "__type_traits/copy_cv.h" } | |
| module copy_cvref { header "__type_traits/copy_cvref.h" } | |
| module datasizeof { header "__type_traits/datasizeof.h" } | |
| module decay { header "__type_traits/decay.h" } | |
| module desugars_to { header "__type_traits/desugars_to.h" } | |
| module detected_or { header "__type_traits/detected_or.h" } | |
| module disjunction { header "__type_traits/disjunction.h" } | |
| module enable_if { header "__type_traits/enable_if.h" } | |
| module extent { header "__type_traits/extent.h" } | |
| module has_unique_object_representation { header "__type_traits/has_unique_object_representation.h" } | |
| module has_virtual_destructor { header "__type_traits/has_virtual_destructor.h" } | |
| module integer_traits { header "__type_traits/integer_traits.h" } | |
| module integral_constant { header "__type_traits/integral_constant.h" } | |
| module invoke { header "__type_traits/invoke.h" } | |
| module is_abstract { | |
| header "__type_traits/is_abstract.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_aggregate { | |
| header "__type_traits/is_aggregate.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_allocator { header "__type_traits/is_allocator.h" } | |
| module is_always_bitcastable { | |
| header "__type_traits/is_always_bitcastable.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_arithmetic { | |
| header "__type_traits/is_arithmetic.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_array { | |
| header "__type_traits/is_array.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_assignable { | |
| header "__type_traits/is_assignable.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_base_of { | |
| header "__type_traits/is_base_of.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_callable { | |
| header "__type_traits/is_callable.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_char_like_type { | |
| header "__type_traits/is_char_like_type.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_class { | |
| header "__type_traits/is_class.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_compound { | |
| header "__type_traits/is_compound.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_const { | |
| header "__type_traits/is_const.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_constant_evaluated { | |
| header "__type_traits/is_constant_evaluated.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_constructible { | |
| header "__type_traits/is_constructible.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_convertible { | |
| header "__type_traits/is_convertible.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_core_convertible { | |
| header "__type_traits/is_core_convertible.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_destructible { | |
| header "__type_traits/is_destructible.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_empty { | |
| header "__type_traits/is_empty.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_enum { | |
| header "__type_traits/is_enum.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_equality_comparable { | |
| header "__type_traits/is_equality_comparable.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_execution_policy { | |
| header "__type_traits/is_execution_policy.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_final { | |
| header "__type_traits/is_final.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_floating_point { | |
| header "__type_traits/is_floating_point.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_function { | |
| header "__type_traits/is_function.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_fundamental { | |
| header "__type_traits/is_fundamental.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_generic_transparent_comparator { header "__type_traits/is_generic_transparent_comparator.h" } | |
| module is_implicit_lifetime { | |
| header "__type_traits/is_implicit_lifetime.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_implicitly_default_constructible { | |
| header "__type_traits/is_implicitly_default_constructible.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_integral { | |
| header "__type_traits/is_integral.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_literal_type { | |
| header "__type_traits/is_literal_type.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_member_pointer { | |
| header "__type_traits/is_member_pointer.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_nothrow_assignable { | |
| header "__type_traits/is_nothrow_assignable.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_nothrow_constructible { | |
| header "__type_traits/is_nothrow_constructible.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_nothrow_destructible { | |
| header "__type_traits/is_nothrow_destructible.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_null_pointer { | |
| header "__type_traits/is_null_pointer.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_object { | |
| header "__type_traits/is_object.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_pod { | |
| header "__type_traits/is_pod.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_pointer { | |
| header "__type_traits/is_pointer.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_polymorphic { | |
| header "__type_traits/is_polymorphic.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_reference_wrapper { | |
| header "__type_traits/is_reference_wrapper.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_reference { | |
| header "__type_traits/is_reference.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_relocatable { | |
| header "__type_traits/is_relocatable.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_same { | |
| header "__type_traits/is_same.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_scalar { | |
| header "__type_traits/is_scalar.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_signed { | |
| header "__type_traits/is_signed.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_specialization { | |
| header "__type_traits/is_specialization.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_standard_layout { | |
| header "__type_traits/is_standard_layout.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_swappable { | |
| header "__type_traits/is_swappable.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_trivial { | |
| header "__type_traits/is_trivial.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_trivially_assignable { | |
| header "__type_traits/is_trivially_assignable.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_trivially_constructible { | |
| header "__type_traits/is_trivially_constructible.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_trivially_copyable { | |
| header "__type_traits/is_trivially_copyable.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_trivially_destructible { | |
| header "__type_traits/is_trivially_destructible.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_trivially_lexicographically_comparable { | |
| header "__type_traits/is_trivially_lexicographically_comparable.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_union { | |
| header "__type_traits/is_union.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_unqualified { header "__type_traits/is_unqualified.h" } | |
| module is_unsigned { | |
| header "__type_traits/is_unsigned.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_void { | |
| header "__type_traits/is_void.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_volatile { | |
| header "__type_traits/is_volatile.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module is_within_lifetime { header "__type_traits/is_within_lifetime.h" } | |
| module make_32_64_or_128_bit { header "__type_traits/make_32_64_or_128_bit.h" } | |
| module make_const_lvalue_ref { header "__type_traits/make_const_lvalue_ref.h" } | |
| module make_signed { header "__type_traits/make_signed.h" } | |
| module make_transparent { header "__type_traits/make_transparent.h" } | |
| module make_unsigned { header "__type_traits/make_unsigned.h" } | |
| module maybe_const { header "__type_traits/maybe_const.h" } | |
| module nat { header "__type_traits/nat.h" } | |
| module negation { header "__type_traits/negation.h" } | |
| module promote { header "__type_traits/promote.h" } | |
| module rank { header "__type_traits/rank.h" } | |
| module reference_constructs_from_temporary { | |
| header "__type_traits/reference_constructs_from_temporary.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module reference_converts_from_temporary { | |
| header "__type_traits/reference_converts_from_temporary.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module register_passable { header "__type_traits/register_passable.h" } | |
| module remove_all_extents { header "__type_traits/remove_all_extents.h" } | |
| module remove_const_ref { header "__type_traits/remove_const_ref.h" } | |
| module remove_const { header "__type_traits/remove_const.h" } | |
| module remove_cv { header "__type_traits/remove_cv.h" } | |
| module remove_cvref { header "__type_traits/remove_cvref.h" } | |
| module remove_extent { header "__type_traits/remove_extent.h" } | |
| module remove_pointer { header "__type_traits/remove_pointer.h" } | |
| module remove_reference { header "__type_traits/remove_reference.h" } | |
| module remove_volatile { header "__type_traits/remove_volatile.h" } | |
| module result_of { header "__type_traits/result_of.h" } | |
| module strip_signature { header "__type_traits/strip_signature.h" } | |
| module type_identity { header "__type_traits/type_identity.h" } | |
| module type_list { header "__type_traits/type_list.h" } | |
| module underlying_type { header "__type_traits/underlying_type.h" } | |
| module unwrap_ref { header "__type_traits/unwrap_ref.h" } | |
| module void_t { header "__type_traits/void_t.h" } | |
| header "type_traits" | |
| export * | |
| } // module type_traits | |
| // Only the truly dependency-free parts of __utility are here | |
| module utility_core { | |
| module declval { header "__utility/declval.h" } | |
| module empty { header "__utility/empty.h" } | |
| module forward { header "__utility/forward.h" } | |
| } | |
| } // module std_core | |
| module std { | |
| module algorithm { | |
| module adjacent_find { header "__algorithm/adjacent_find.h" } | |
| module all_of { header "__algorithm/all_of.h" } | |
| module any_of { header "__algorithm/any_of.h" } | |
| module binary_search { header "__algorithm/binary_search.h" } | |
| module clamp { header "__algorithm/clamp.h" } | |
| module comp_ref_type { header "__algorithm/comp_ref_type.h" } | |
| module comp { header "__algorithm/comp.h" } | |
| module copy_backward { header "__algorithm/copy_backward.h" } | |
| module copy_if { header "__algorithm/copy_if.h" } | |
| module copy_move_common { header "__algorithm/copy_move_common.h" } | |
| module copy_n { | |
| header "__algorithm/copy_n.h" | |
| export std.iterator_traits | |
| } | |
| module copy { header "__algorithm/copy.h" } | |
| module count_if { header "__algorithm/count_if.h" } | |
| module count { header "__algorithm/count.h" } | |
| module equal_range { header "__algorithm/equal_range.h" } | |
| module equal { header "__algorithm/equal.h" } | |
| module fill_n { header "__algorithm/fill_n.h" } | |
| module fill { header "__algorithm/fill.h" } | |
| module find_end { header "__algorithm/find_end.h" } | |
| module find_first_of { header "__algorithm/find_first_of.h" } | |
| module find_if_not { header "__algorithm/find_if_not.h" } | |
| module find_if { header "__algorithm/find_if.h" } | |
| module find_segment_if { header "__algorithm/find_segment_if.h" } | |
| module find { | |
| header "__algorithm/find.h" | |
| export std.algorithm.simd_utils // TODO: Workaround for https://llvm.org/PR120108 | |
| } | |
| module for_each_n { header "__algorithm/for_each_n.h" } | |
| module for_each_n_segment { header "__algorithm/for_each_n_segment.h" } | |
| module for_each_segment { header "__algorithm/for_each_segment.h" } | |
| module for_each { header "__algorithm/for_each.h" } | |
| module generate_n { header "__algorithm/generate_n.h" } | |
| module generate { header "__algorithm/generate.h" } | |
| module half_positive { header "__algorithm/half_positive.h" } | |
| module in_found_result { header "__algorithm/in_found_result.h" } | |
| module in_fun_result { header "__algorithm/in_fun_result.h" } | |
| module in_in_out_result { header "__algorithm/in_in_out_result.h" } | |
| module in_in_result { header "__algorithm/in_in_result.h" } | |
| module in_out_out_result { header "__algorithm/in_out_out_result.h" } | |
| module in_out_result { header "__algorithm/in_out_result.h" } | |
| module includes { header "__algorithm/includes.h" } | |
| module inplace_merge { header "__algorithm/inplace_merge.h" } | |
| module is_heap_until { header "__algorithm/is_heap_until.h" } | |
| module is_heap { header "__algorithm/is_heap.h" } | |
| module is_partitioned { header "__algorithm/is_partitioned.h" } | |
| module is_permutation { header "__algorithm/is_permutation.h" } | |
| module is_sorted_until { header "__algorithm/is_sorted_until.h" } | |
| module is_sorted { header "__algorithm/is_sorted.h" } | |
| module iter_swap { header "__algorithm/iter_swap.h" } | |
| module iterator_operations { | |
| header "__algorithm/iterator_operations.h" | |
| export std.iterator.advance | |
| export std.iterator.distance | |
| export std.iterator.iter_move | |
| export std.iterator.iter_swap | |
| export std.iterator.next | |
| export std.iterator.prev | |
| } | |
| module lexicographical_compare_three_way { header "__algorithm/lexicographical_compare_three_way.h" } | |
| module lexicographical_compare { header "__algorithm/lexicographical_compare.h" } | |
| module lower_bound { header "__algorithm/lower_bound.h" } | |
| module make_heap { header "__algorithm/make_heap.h" } | |
| module make_projected { header "__algorithm/make_projected.h" } | |
| module max_element { header "__algorithm/max_element.h" } | |
| module max { header "__algorithm/max.h" } | |
| module merge { header "__algorithm/merge.h" } | |
| module min_element { header "__algorithm/min_element.h" } | |
| module min_max_result { header "__algorithm/min_max_result.h" } | |
| module min { header "__algorithm/min.h" } | |
| module minmax_element { header "__algorithm/minmax_element.h" } | |
| module minmax { | |
| header "__algorithm/minmax.h" | |
| export std.utility.pair // return type | |
| } | |
| module mismatch { | |
| header "__algorithm/mismatch.h" | |
| export std.utility.pair // return type | |
| export std.iterator.aliasing_iterator | |
| } | |
| module move_backward { header "__algorithm/move_backward.h" } | |
| module move { | |
| header "__algorithm/move.h" | |
| export std.algorithm.in_out_result | |
| } | |
| module next_permutation { header "__algorithm/next_permutation.h" } | |
| module none_of { header "__algorithm/none_of.h" } | |
| module nth_element { header "__algorithm/nth_element.h" } | |
| module out_value_result { header "__algorithm/out_value_result.h" } | |
| module partial_sort_copy { header "__algorithm/partial_sort_copy.h" } | |
| module partial_sort { header "__algorithm/partial_sort.h" } | |
| module partition_copy { header "__algorithm/partition_copy.h" } | |
| module partition_point { header "__algorithm/partition_point.h" } | |
| module partition { header "__algorithm/partition.h" } | |
| module pop_heap { header "__algorithm/pop_heap.h" } | |
| module prev_permutation { header "__algorithm/prev_permutation.h" } | |
| module pstl { header "__algorithm/pstl.h" } | |
| module push_heap { header "__algorithm/push_heap.h" } | |
| module radix_sort { header "__algorithm/radix_sort.h" } | |
| module ranges_adjacent_find { header "__algorithm/ranges_adjacent_find.h" } | |
| module ranges_all_of { header "__algorithm/ranges_all_of.h" } | |
| module ranges_any_of { header "__algorithm/ranges_any_of.h" } | |
| module ranges_binary_search { | |
| header "__algorithm/ranges_binary_search.h" | |
| export std.functional.ranges_operations | |
| } | |
| module ranges_clamp { | |
| header "__algorithm/ranges_clamp.h" | |
| export std.functional.ranges_operations | |
| } | |
| module ranges_contains_subrange { | |
| header "__algorithm/ranges_contains_subrange.h" | |
| } | |
| module ranges_contains { | |
| header "__algorithm/ranges_contains.h" | |
| } | |
| module ranges_copy_backward { | |
| header "__algorithm/ranges_copy_backward.h" | |
| export std.algorithm.in_out_result | |
| } | |
| module ranges_copy_if { | |
| header "__algorithm/ranges_copy_if.h" | |
| export std.algorithm.in_out_result | |
| } | |
| module ranges_copy_n { | |
| header "__algorithm/ranges_copy_n.h" | |
| export std.algorithm.in_out_result | |
| } | |
| module ranges_copy { | |
| header "__algorithm/ranges_copy.h" | |
| export std.algorithm.in_out_result | |
| } | |
| module ranges_count_if { header "__algorithm/ranges_count_if.h" } | |
| module ranges_count { header "__algorithm/ranges_count.h" } | |
| module ranges_ends_with { header "__algorithm/ranges_ends_with.h" } | |
| module ranges_equal_range { | |
| header "__algorithm/ranges_equal_range.h" | |
| export std.functional.ranges_operations | |
| } | |
| module ranges_equal { | |
| header "__algorithm/ranges_equal.h" | |
| export std.functional.identity | |
| } | |
| module ranges_fill_n { header "__algorithm/ranges_fill_n.h" } | |
| module ranges_fill { header "__algorithm/ranges_fill.h" } | |
| module ranges_find_end { | |
| header "__algorithm/ranges_find_end.h" | |
| export std.ranges.subrange // return type | |
| } | |
| module ranges_find_first_of { header "__algorithm/ranges_find_first_of.h" } | |
| module ranges_find_if_not { header "__algorithm/ranges_find_if_not.h" } | |
| module ranges_find_if { header "__algorithm/ranges_find_if.h" } | |
| module ranges_find_last { | |
| header "__algorithm/ranges_find_last.h" | |
| export std.ranges.subrange // return type | |
| } | |
| module ranges_find { header "__algorithm/ranges_find.h" } | |
| module ranges_fold { header "__algorithm/ranges_fold.h" } | |
| module ranges_for_each_n { | |
| header "__algorithm/ranges_for_each_n.h" | |
| export std.algorithm.in_fun_result | |
| } | |
| module ranges_for_each { | |
| header "__algorithm/ranges_for_each.h" | |
| export std.algorithm.in_fun_result | |
| } | |
| module ranges_generate_n { | |
| header "__algorithm/ranges_generate_n.h" | |
| } | |
| module ranges_generate { | |
| header "__algorithm/ranges_generate.h" | |
| } | |
| module ranges_includes { | |
| header "__algorithm/ranges_includes.h" | |
| export std.functional.ranges_operations | |
| } | |
| module ranges_inplace_merge { | |
| header "__algorithm/ranges_inplace_merge.h" | |
| export std.functional.ranges_operations | |
| } | |
| module ranges_is_heap_until { | |
| header "__algorithm/ranges_is_heap_until.h" | |
| export std.functional.ranges_operations | |
| } | |
| module ranges_is_heap { | |
| header "__algorithm/ranges_is_heap.h" | |
| export std.functional.ranges_operations | |
| } | |
| module ranges_is_partitioned { | |
| header "__algorithm/ranges_is_partitioned.h" | |
| } | |
| module ranges_is_permutation { | |
| header "__algorithm/ranges_is_permutation.h" | |
| } | |
| module ranges_is_sorted_until { | |
| header "__algorithm/ranges_is_sorted_until.h" | |
| export std.functional.ranges_operations | |
| } | |
| module ranges_is_sorted { | |
| header "__algorithm/ranges_is_sorted.h" | |
| export std.functional.ranges_operations | |
| } | |
| module ranges_iterator_concept { | |
| header "__algorithm/ranges_iterator_concept.h" | |
| } | |
| module ranges_lexicographical_compare { | |
| header "__algorithm/ranges_lexicographical_compare.h" | |
| export std.functional.ranges_operations | |
| } | |
| module ranges_lower_bound { | |
| header "__algorithm/ranges_lower_bound.h" | |
| export std.functional.ranges_operations | |
| } | |
| module ranges_make_heap { | |
| header "__algorithm/ranges_make_heap.h" | |
| export std.functional.ranges_operations | |
| } | |
| module ranges_max_element { | |
| header "__algorithm/ranges_max_element.h" | |
| export std.functional.ranges_operations | |
| } | |
| module ranges_max { | |
| header "__algorithm/ranges_max.h" | |
| export std.functional.ranges_operations | |
| } | |
| module ranges_merge { | |
| header "__algorithm/ranges_merge.h" | |
| export std.functional.ranges_operations | |
| export std.algorithm.in_in_out_result | |
| } | |
| module ranges_min_element { | |
| header "__algorithm/ranges_min_element.h" | |
| export std.functional.ranges_operations | |
| } | |
| module ranges_min { | |
| header "__algorithm/ranges_min.h" | |
| export std.functional.ranges_operations | |
| } | |
| module ranges_minmax_element { | |
| header "__algorithm/ranges_minmax_element.h" | |
| export std.functional.ranges_operations | |
| export std.algorithm.min_max_result | |
| } | |
| module ranges_minmax { | |
| header "__algorithm/ranges_minmax.h" | |
| export std.functional.ranges_operations | |
| export std.algorithm.min_max_result | |
| } | |
| module ranges_mismatch { | |
| header "__algorithm/ranges_mismatch.h" | |
| export std.algorithm.in_in_result | |
| } | |
| module ranges_move_backward { | |
| header "__algorithm/ranges_move_backward.h" | |
| export std.algorithm.in_out_result | |
| } | |
| module ranges_move { | |
| header "__algorithm/ranges_move.h" | |
| export std.algorithm.in_out_result | |
| } | |
| module ranges_next_permutation { | |
| header "__algorithm/ranges_next_permutation.h" | |
| export std.functional.ranges_operations | |
| export std.algorithm.in_found_result | |
| } | |
| module ranges_none_of { | |
| header "__algorithm/ranges_none_of.h" | |
| } | |
| module ranges_nth_element { | |
| header "__algorithm/ranges_nth_element.h" | |
| export std.functional.ranges_operations | |
| } | |
| module ranges_partial_sort_copy { | |
| header "__algorithm/ranges_partial_sort_copy.h" | |
| export std.functional.ranges_operations | |
| } | |
| module ranges_partial_sort { | |
| header "__algorithm/ranges_partial_sort.h" | |
| export std.functional.ranges_operations | |
| } | |
| module ranges_partition_copy { | |
| header "__algorithm/ranges_partition_copy.h" | |
| export std.algorithm.in_out_out_result | |
| } | |
| module ranges_partition_point { | |
| header "__algorithm/ranges_partition_point.h" | |
| } | |
| module ranges_partition { | |
| header "__algorithm/ranges_partition.h" | |
| export std.ranges.subrange // return type | |
| } | |
| module ranges_pop_heap { | |
| header "__algorithm/ranges_pop_heap.h" | |
| export std.functional.ranges_operations | |
| } | |
| module ranges_prev_permutation { | |
| header "__algorithm/ranges_prev_permutation.h" | |
| export std.functional.ranges_operations | |
| export std.algorithm.in_found_result | |
| } | |
| module ranges_push_heap { | |
| header "__algorithm/ranges_push_heap.h" | |
| export std.functional.ranges_operations | |
| } | |
| module ranges_remove_copy_if { | |
| header "__algorithm/ranges_remove_copy_if.h" | |
| export std.algorithm.in_out_result | |
| } | |
| module ranges_remove_copy { | |
| header "__algorithm/ranges_remove_copy.h" | |
| export std.algorithm.in_out_result | |
| } | |
| module ranges_remove_if { | |
| header "__algorithm/ranges_remove_if.h" | |
| } | |
| module ranges_remove { | |
| header "__algorithm/ranges_remove.h" | |
| export std.ranges.subrange // return type | |
| } | |
| module ranges_replace_copy_if { | |
| header "__algorithm/ranges_replace_copy_if.h" | |
| export std.algorithm.in_out_result | |
| } | |
| module ranges_replace_copy { | |
| header "__algorithm/ranges_replace_copy.h" | |
| export std.algorithm.in_out_result | |
| } | |
| module ranges_replace_if { | |
| header "__algorithm/ranges_replace_if.h" | |
| } | |
| module ranges_replace { | |
| header "__algorithm/ranges_replace.h" | |
| } | |
| module ranges_reverse_copy { | |
| header "__algorithm/ranges_reverse_copy.h" | |
| export std.algorithm.in_out_result | |
| } | |
| module ranges_reverse { | |
| header "__algorithm/ranges_reverse.h" | |
| } | |
| module ranges_rotate_copy { | |
| header "__algorithm/ranges_rotate_copy.h" | |
| export std.ranges.subrange // return type | |
| } | |
| module ranges_rotate { header "__algorithm/ranges_rotate.h" } | |
| module ranges_sample { header "__algorithm/ranges_sample.h" } | |
| module ranges_search_n { | |
| header "__algorithm/ranges_search_n.h" | |
| export std.ranges.subrange // return type | |
| } | |
| module ranges_search { | |
| header "__algorithm/ranges_search.h" | |
| export std.ranges.subrange // return type | |
| } | |
| module ranges_set_difference { | |
| header "__algorithm/ranges_set_difference.h" | |
| export std.functional.ranges_operations | |
| export std.algorithm.in_out_result | |
| } | |
| module ranges_set_intersection { | |
| header "__algorithm/ranges_set_intersection.h" | |
| export std.functional.ranges_operations | |
| export std.algorithm.in_in_out_result | |
| } | |
| module ranges_set_symmetric_difference { | |
| header "__algorithm/ranges_set_symmetric_difference.h" | |
| export std.functional.ranges_operations | |
| export std.algorithm.in_in_out_result | |
| } | |
| module ranges_set_union { | |
| header "__algorithm/ranges_set_union.h" | |
| export std.functional.ranges_operations | |
| export std.algorithm.in_in_out_result | |
| } | |
| module ranges_shift_left { | |
| header "__algorithm/ranges_shift_left.h" | |
| } | |
| module ranges_shift_right { | |
| header "__algorithm/ranges_shift_right.h" | |
| } | |
| module ranges_shuffle { | |
| header "__algorithm/ranges_shuffle.h" | |
| } | |
| module ranges_sort_heap { | |
| header "__algorithm/ranges_sort_heap.h" | |
| export std.functional.ranges_operations | |
| } | |
| module ranges_sort { | |
| header "__algorithm/ranges_sort.h" | |
| export std.functional.ranges_operations | |
| export std.algorithm.sort | |
| export std.algorithm.make_projected | |
| } | |
| module ranges_stable_partition { | |
| header "__algorithm/ranges_stable_partition.h" | |
| export std.ranges.subrange // return type | |
| } | |
| module ranges_stable_sort { | |
| header "__algorithm/ranges_stable_sort.h" | |
| export std.functional.ranges_operations | |
| } | |
| module ranges_starts_with { | |
| header "__algorithm/ranges_starts_with.h" | |
| } | |
| module ranges_swap_ranges { | |
| header "__algorithm/ranges_swap_ranges.h" | |
| export std.algorithm.in_in_result | |
| } | |
| module ranges_transform { | |
| header "__algorithm/ranges_transform.h" | |
| export std.algorithm.in_out_result | |
| export std.algorithm.in_in_out_result | |
| } | |
| module ranges_unique_copy { | |
| header "__algorithm/ranges_unique_copy.h" | |
| } | |
| module ranges_unique { | |
| header "__algorithm/ranges_unique.h" | |
| } | |
| module ranges_upper_bound { | |
| header "__algorithm/ranges_upper_bound.h" | |
| export std.functional.ranges_operations | |
| } | |
| module remove_copy_if { header "__algorithm/remove_copy_if.h" } | |
| module remove_copy { header "__algorithm/remove_copy.h" } | |
| module remove_if { header "__algorithm/remove_if.h" } | |
| module remove { header "__algorithm/remove.h" } | |
| module replace_copy_if { header "__algorithm/replace_copy_if.h" } | |
| module replace_copy { header "__algorithm/replace_copy.h" } | |
| module replace_if { header "__algorithm/replace_if.h" } | |
| module replace { header "__algorithm/replace.h" } | |
| module reverse_copy { header "__algorithm/reverse_copy.h" } | |
| module reverse { header "__algorithm/reverse.h" } | |
| module rotate_copy { header "__algorithm/rotate_copy.h" } | |
| module rotate { header "__algorithm/rotate.h" } | |
| module sample { header "__algorithm/sample.h" } | |
| module search_n { header "__algorithm/search_n.h" } | |
| module search { header "__algorithm/search.h" } | |
| module set_difference { header "__algorithm/set_difference.h" } | |
| module set_intersection { header "__algorithm/set_intersection.h" } | |
| module set_symmetric_difference { header "__algorithm/set_symmetric_difference.h" } | |
| module set_union { header "__algorithm/set_union.h" } | |
| module shift_left { header "__algorithm/shift_left.h" } | |
| module shift_right { header "__algorithm/shift_right.h" } | |
| module shuffle { header "__algorithm/shuffle.h" } | |
| module sift_down { header "__algorithm/sift_down.h" } | |
| module simd_utils { header "__algorithm/simd_utils.h" } | |
| module sort_heap { header "__algorithm/sort_heap.h" } | |
| module sort { header "__algorithm/sort.h" } | |
| module specialized_algorithms { header "__algorithm/specialized_algorithms.h" } | |
| module stable_partition { header "__algorithm/stable_partition.h" } | |
| module stable_sort { | |
| header "__algorithm/stable_sort.h" | |
| export std.memory.unique_temporary_buffer // TODO: Workaround for https://llvm.org/PR120108 | |
| } | |
| module swap_ranges { | |
| header "__algorithm/swap_ranges.h" | |
| export std.algorithm.iterator_operations | |
| export std.algorithm.iter_swap | |
| } | |
| module three_way_comp_ref_type { header "__algorithm/three_way_comp_ref_type.h" } | |
| module transform { header "__algorithm/transform.h" } | |
| module uniform_random_bit_generator_adaptor { header "__algorithm/uniform_random_bit_generator_adaptor.h" } | |
| module unique_copy { header "__algorithm/unique_copy.h" } | |
| module unique { header "__algorithm/unique.h" } | |
| module unwrap_iter { header "__algorithm/unwrap_iter.h" } | |
| module unwrap_range { | |
| header "__algorithm/unwrap_range.h" | |
| export std.utility.pair | |
| } | |
| module upper_bound { header "__algorithm/upper_bound.h" } | |
| header "algorithm" | |
| export * | |
| } // module algorithm | |
| module any { | |
| header "any" | |
| export * | |
| } | |
| module array { | |
| module fwd { header "__fwd/array.h" } | |
| header "array" | |
| export * | |
| export std.iterator.reverse_iterator | |
| } | |
| module atomic { | |
| module aliases { header "__atomic/aliases.h" } | |
| module atomic_flag { header "__atomic/atomic_flag.h" } | |
| module atomic_init { header "__atomic/atomic_init.h" } | |
| module atomic_lock_free { header "__atomic/atomic_lock_free.h" } | |
| module atomic_ref { header "__atomic/atomic_ref.h" } | |
| module atomic_sync { header "__atomic/atomic_sync.h" } | |
| module atomic_sync_timed { header "__atomic/atomic_sync_timed.h" } | |
| module atomic_waitable_traits { header "__atomic/atomic_waitable_traits.h" } | |
| module atomic { | |
| header "__atomic/atomic.h" | |
| export std.atomic.atomic_base // most of std::atomic methods are defined there | |
| } | |
| module check_memory_order { header "__atomic/check_memory_order.h" } | |
| module clear_padding { header "__atomic/clear_padding.h" } | |
| module contention_t { header "__atomic/contention_t.h" } | |
| module fence { header "__atomic/fence.h" } | |
| module floating_point_helper { header "__atomic/floating_point_helper.h" } | |
| module is_always_lock_free { header "__atomic/is_always_lock_free.h" } | |
| module kill_dependency { header "__atomic/kill_dependency.h" } | |
| module memory_order { header "__atomic/memory_order.h" } | |
| module to_gcc_order { header "__atomic/to_gcc_order.h" } | |
| module support { | |
| header "__atomic/support.h" | |
| textual header "__atomic/support/c11.h" | |
| textual header "__atomic/support/gcc.h" | |
| } | |
| header "atomic" | |
| export * | |
| } | |
| module barrier { | |
| header "barrier" | |
| export * | |
| } | |
| module bit { | |
| module bit_cast { header "__bit/bit_cast.h" } | |
| module bit_ceil { header "__bit/bit_ceil.h" } | |
| module bit_floor { header "__bit/bit_floor.h" } | |
| module bit_log2 { header "__bit/bit_log2.h" } | |
| module bit_width { header "__bit/bit_width.h" } | |
| module blsr { header "__bit/blsr.h" } | |
| module byteswap { header "__bit/byteswap.h" } | |
| module countl { header "__bit/countl.h" } | |
| module countr { header "__bit/countr.h" } | |
| module endian { header "__bit/endian.h" } | |
| module has_single_bit { header "__bit/has_single_bit.h" } | |
| module invert_if { header "__bit/invert_if.h" } | |
| module popcount { header "__bit/popcount.h" } | |
| module rotate { header "__bit/rotate.h" } | |
| header "bit" | |
| export * | |
| } | |
| module bitset { | |
| header "bitset" | |
| export * | |
| } | |
| module charconv { | |
| module chars_format { header "__charconv/chars_format.h" } | |
| module from_chars_floating_point { header "__charconv/from_chars_floating_point.h" } | |
| module from_chars_integral { header "__charconv/from_chars_integral.h" } | |
| module from_chars_result { | |
| header "__charconv/from_chars_result.h" | |
| export std.system_error.errc | |
| } | |
| module tables { header "__charconv/tables.h" } | |
| module to_chars { header "__charconv/to_chars.h" } | |
| module to_chars_base_10 { header "__charconv/to_chars_base_10.h" } | |
| module to_chars_floating_point { header "__charconv/to_chars_floating_point.h" } | |
| module to_chars_integral { | |
| header "__charconv/to_chars_integral.h" | |
| export std.charconv.to_chars_result | |
| } | |
| module to_chars_result { | |
| header "__charconv/to_chars_result.h" | |
| export std.system_error.errc | |
| } | |
| module traits { header "__charconv/traits.h" } | |
| header "charconv" | |
| export * | |
| } | |
| module chrono { | |
| module calendar { header "__chrono/calendar.h" } | |
| module concepts { header "__chrono/concepts.h" } | |
| module convert_to_timespec { header "__chrono/convert_to_timespec.h" } | |
| module convert_to_tm { header "__chrono/convert_to_tm.h" } | |
| module day { header "__chrono/day.h" } | |
| module duration { header "__chrono/duration.h" } | |
| module exception { header "__chrono/exception.h" } | |
| module file_clock { header "__chrono/file_clock.h" } | |
| module formatter { header "__chrono/formatter.h" } | |
| module gps_clock { | |
| header "__chrono/gps_clock.h" | |
| export std.chrono.time_point | |
| } | |
| module hh_mm_ss { header "__chrono/hh_mm_ss.h" } | |
| module high_resolution_clock { | |
| header "__chrono/high_resolution_clock.h" | |
| export * | |
| } | |
| module is_clock { | |
| header "__chrono/is_clock.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module leap_second { | |
| header "__chrono/leap_second.h" | |
| } | |
| module literals { | |
| header "__chrono/literals.h" | |
| } | |
| module local_info { | |
| header "__chrono/local_info.h" | |
| export std.chrono.sys_info | |
| } | |
| module month_weekday { header "__chrono/month_weekday.h" } | |
| module month { header "__chrono/month.h" } | |
| module monthday { header "__chrono/monthday.h" } | |
| module ostream { header "__chrono/ostream.h" } | |
| module parser_std_format_spec { header "__chrono/parser_std_format_spec.h" } | |
| module statically_widen { header "__chrono/statically_widen.h" } | |
| module steady_clock { | |
| header "__chrono/steady_clock.h" | |
| export std.chrono.time_point | |
| } | |
| module sys_info { | |
| header "__chrono/sys_info.h" | |
| } | |
| module system_clock { | |
| header "__chrono/system_clock.h" | |
| export std.chrono.time_point | |
| } | |
| module tai_clock { | |
| header "__chrono/tai_clock.h" | |
| export std.chrono.time_point | |
| } | |
| module time_point { header "__chrono/time_point.h" } | |
| module time_zone_link { header "__chrono/time_zone_link.h" } | |
| module time_zone { header "__chrono/time_zone.h" } | |
| module tzdb_list { | |
| header "__chrono/tzdb_list.h" | |
| export std.forward_list // forward_list iterators are used to implement this API | |
| export std.string_view // by-value argument of type std::string_view | |
| } | |
| module tzdb { | |
| header "__chrono/tzdb.h" | |
| export std.string // public data member of type std::string | |
| export std.vector // public data members of type std::vector | |
| } | |
| module utc_clock { | |
| header "__chrono/utc_clock.h" | |
| export std.chrono.time_point | |
| } | |
| module weekday { header "__chrono/weekday.h" } | |
| module year_month_day { header "__chrono/year_month_day.h" } | |
| module year_month_weekday { header "__chrono/year_month_weekday.h" } | |
| module year_month { header "__chrono/year_month.h" } | |
| module year { header "__chrono/year.h" } | |
| module zoned_time { header "__chrono/zoned_time.h" } | |
| header "chrono" | |
| export * | |
| } // module chrono | |
| module codecvt { | |
| header "codecvt" | |
| export * | |
| } | |
| module compare { | |
| module common_comparison_category { header "__compare/common_comparison_category.h" } | |
| module compare_partial_order_fallback { header "__compare/compare_partial_order_fallback.h" } | |
| module compare_strong_order_fallback { header "__compare/compare_strong_order_fallback.h" } | |
| module compare_three_way { header "__compare/compare_three_way.h" } | |
| module compare_three_way_result { header "__compare/compare_three_way_result.h" } | |
| module compare_weak_order_fallback { header "__compare/compare_weak_order_fallback.h" } | |
| module is_eq { header "__compare/is_eq.h" } | |
| module ordering { header "__compare/ordering.h" } | |
| module partial_order { header "__compare/partial_order.h" } | |
| module strong_order { header "__compare/strong_order.h" } | |
| module synth_three_way { header "__compare/synth_three_way.h" } | |
| module three_way_comparable { header "__compare/three_way_comparable.h" } | |
| module type_order { header "__compare/type_order.h" } | |
| module weak_order { header "__compare/weak_order.h" } | |
| header "compare" | |
| export * | |
| } | |
| module complex { | |
| module fwd { header "__fwd/complex.h" } | |
| header "complex" | |
| export * | |
| } | |
| module concepts { | |
| module arithmetic { header "__concepts/arithmetic.h" } | |
| module assignable { header "__concepts/assignable.h" } | |
| module boolean_testable { header "__concepts/boolean_testable.h" } | |
| module class_or_enum { header "__concepts/class_or_enum.h" } | |
| module common_reference_with { header "__concepts/common_reference_with.h" } | |
| module common_with { header "__concepts/common_with.h" } | |
| module comparison_common_type { header "__concepts/comparison_common_type.h" } | |
| module constructible { header "__concepts/constructible.h" } | |
| module convertible_to { header "__concepts/convertible_to.h" } | |
| module copyable { header "__concepts/copyable.h" } | |
| module derived_from { header "__concepts/derived_from.h" } | |
| module destructible { header "__concepts/destructible.h" } | |
| module different_from { header "__concepts/different_from.h" } | |
| module equality_comparable { header "__concepts/equality_comparable.h" } | |
| module invocable { header "__concepts/invocable.h" } | |
| module movable { header "__concepts/movable.h" } | |
| module predicate { header "__concepts/predicate.h" } | |
| module primary_template { header "__concepts/primary_template.h" } | |
| module referenceable { header "__concepts/referenceable.h" } | |
| module regular { header "__concepts/regular.h" } | |
| module relation { header "__concepts/relation.h" } | |
| module same_as { header "__concepts/same_as.h" } | |
| module semiregular { header "__concepts/semiregular.h" } | |
| module swappable { header "__concepts/swappable.h" } | |
| module totally_ordered { header "__concepts/totally_ordered.h" } | |
| header "concepts" | |
| export * | |
| } | |
| module condition_variable { | |
| module condition_variable { header "__condition_variable/condition_variable.h" } | |
| header "condition_variable" | |
| export * | |
| } | |
| module cassert { | |
| textual header "cassert" // NDEBUG requires textual inclusion | |
| } | |
| module ccomplex { | |
| header "ccomplex" | |
| export * | |
| } | |
| module cctype { | |
| header "cctype" | |
| export * | |
| } | |
| module cerrno { | |
| header "cerrno" | |
| export * | |
| } | |
| module cfenv { | |
| header "cfenv" | |
| export * | |
| } | |
| module cfloat { | |
| header "cfloat" | |
| export * | |
| } | |
| module cinttypes { | |
| header "cinttypes" | |
| export * | |
| } | |
| module ciso646 { | |
| header "ciso646" | |
| export * | |
| } | |
| module climits { | |
| header "climits" | |
| export * | |
| } | |
| module clocale { | |
| header "clocale" | |
| export * | |
| } | |
| module cmath { | |
| header "cmath" | |
| export * | |
| } | |
| // TODO: Make non-textual. This seems to cause problems when compiling against Glibc. | |
| module csetjmp { | |
| textual header "csetjmp" | |
| } | |
| module csignal { | |
| header "csignal" | |
| export * | |
| } | |
| module cstdalign { | |
| header "cstdalign" | |
| export * | |
| } | |
| module cstdarg { | |
| header "cstdarg" | |
| export * | |
| } | |
| module cstdbool { | |
| header "cstdbool" | |
| export * | |
| } | |
| module cstddef { | |
| header "cstddef" | |
| export * | |
| } | |
| module cstdio { | |
| header "cstdio" | |
| export * | |
| } | |
| module cstdlib { | |
| header "cstdlib" | |
| export * | |
| } | |
| module cstring { | |
| header "cstring" | |
| export * | |
| } | |
| module ctgmath { | |
| header "ctgmath" | |
| export * | |
| } | |
| module ctime { | |
| header "ctime" | |
| export * | |
| } | |
| module cuchar { | |
| header "cuchar" | |
| export * | |
| } | |
| module cwchar { | |
| header "cwchar" | |
| export * | |
| } | |
| module cwctype { | |
| header "cwctype" | |
| export * | |
| } | |
| module deque { | |
| module fwd { header "__fwd/deque.h" } | |
| header "deque" | |
| export * | |
| export std.iterator.reverse_iterator | |
| export std.algorithm.simd_utils // This is a workaround for https://llvm.org/PR120108. | |
| } | |
| module exception { | |
| module exception { header "__exception/exception.h" } | |
| module exception_ptr { header "__exception/exception_ptr.h" } | |
| module nested_exception { header "__exception/nested_exception.h" } | |
| module operations { header "__exception/operations.h" } | |
| module terminate { header "__exception/terminate.h" } | |
| header "exception" | |
| export * | |
| } | |
| module execution { | |
| header "execution" | |
| export * | |
| } | |
| module expected { | |
| module bad_expected_access { header "__expected/bad_expected_access.h" } | |
| module expected { header "__expected/expected.h" } | |
| module unexpect { header "__expected/unexpect.h" } | |
| module unexpected { header "__expected/unexpected.h" } | |
| header "expected" | |
| export * | |
| } | |
| module filesystem { | |
| module copy_options { header "__filesystem/copy_options.h" } | |
| module directory_entry { header "__filesystem/directory_entry.h" } | |
| module directory_iterator { | |
| header "__filesystem/directory_iterator.h" | |
| // This is a workaround for https://llvm.org/PR120108. | |
| export * | |
| } | |
| module directory_options { header "__filesystem/directory_options.h" } | |
| module file_status { header "__filesystem/file_status.h" } | |
| module file_time_type { header "__filesystem/file_time_type.h" } | |
| module file_type { header "__filesystem/file_type.h" } | |
| module filesystem_error { header "__filesystem/filesystem_error.h" } | |
| module operations { header "__filesystem/operations.h" } | |
| module path_iterator { header "__filesystem/path_iterator.h" } | |
| module path { | |
| header "__filesystem/path.h" | |
| export std.string // returned by various methods of filesystem::path | |
| } | |
| module perm_options { header "__filesystem/perm_options.h" } | |
| module perms { header "__filesystem/perms.h" } | |
| module recursive_directory_iterator { header "__filesystem/recursive_directory_iterator.h" } | |
| module space_info { header "__filesystem/space_info.h" } | |
| module u8path { header "__filesystem/u8path.h" } | |
| header "filesystem" | |
| export * | |
| } | |
| module flat_map { | |
| module flat_map { | |
| header "__flat_map/flat_map.h" | |
| export std.vector.vector | |
| export std.vector.fwd | |
| } | |
| module flat_multimap { | |
| header "__flat_map/flat_multimap.h" | |
| export std.vector.vector | |
| export std.vector.fwd | |
| } | |
| module key_value_iterator { header "__flat_map/key_value_iterator.h" } | |
| module sorted_equivalent { header "__flat_map/sorted_equivalent.h" } | |
| module sorted_unique { header "__flat_map/sorted_unique.h" } | |
| module utils { header "__flat_map/utils.h" } | |
| header "flat_map" | |
| export * | |
| export std.algorithm.ranges_sort | |
| export std.iterator.reverse_iterator | |
| export std.ranges.zip_view | |
| export std.tuple | |
| } | |
| module flat_set { | |
| module flat_set { | |
| header "__flat_set/flat_set.h" | |
| header "__flat_set/flat_multiset.h" | |
| export std.vector.vector | |
| export std.vector.fwd | |
| } | |
| module ra_iterator { header "__flat_set/ra_iterator.h" } | |
| module utils { header "__flat_set/utils.h" } | |
| header "flat_set" | |
| export std.flat_map.sorted_unique | |
| export std.flat_map.sorted_equivalent | |
| export * | |
| export std.algorithm.ranges_sort | |
| export std.iterator.reverse_iterator | |
| export std.ranges.zip_view | |
| export std.tuple | |
| } | |
| module format { | |
| module buffer { | |
| header "__format/buffer.h" | |
| export std.iterator.back_insert_iterator | |
| } | |
| module concepts { header "__format/concepts.h" } | |
| module container_adaptor { header "__format/container_adaptor.h" } | |
| module enable_insertable { header "__format/enable_insertable.h" } | |
| module escaped_output_table { header "__format/escaped_output_table.h" } | |
| module extended_grapheme_cluster_table { header "__format/extended_grapheme_cluster_table.h" } | |
| module fmt_pair_like { header "__format/fmt_pair_like.h" } | |
| module format_arg { header "__format/format_arg.h" } | |
| module format_arg_store { header "__format/format_arg_store.h" } | |
| module format_args { header "__format/format_args.h" } | |
| module format_context { | |
| header "__format/format_context.h" | |
| export std.optional // default argument for __format_context_create | |
| } | |
| module format_error { | |
| header "__format/format_error.h" | |
| } | |
| module format_functions { | |
| header "__format/format_functions.h" | |
| export std.string // returned by the functions in that header | |
| } | |
| module format_parse_context { header "__format/format_parse_context.h" } | |
| module format_string { header "__format/format_string.h" } | |
| module format_to_n_result { header "__format/format_to_n_result.h" } | |
| module formatter { header "__format/formatter.h" } | |
| module formatter_bool { | |
| header "__format/formatter_bool.h" | |
| export std.format.formatter | |
| } | |
| module formatter_bool_impl { | |
| header "__format/formatter_bool_impl.h" | |
| export std.format.formatter_bool | |
| export std.format.formatter | |
| } | |
| module formatter_char { header "__format/formatter_char.h" } | |
| module formatter_floating_point { header "__format/formatter_floating_point.h" } | |
| module formatter_integer { header "__format/formatter_integer.h" } | |
| module formatter_integral { header "__format/formatter_integral.h" } | |
| module formatter_output { header "__format/formatter_output.h" } | |
| module formatter_pointer { header "__format/formatter_pointer.h" } | |
| module formatter_string { header "__format/formatter_string.h" } | |
| module formatter_tuple { header "__format/formatter_tuple.h" } | |
| module fwd { header "__fwd/format.h" } | |
| module indic_conjunct_break_table { header "__format/indic_conjunct_break_table.h" } | |
| module parser_std_format_spec { | |
| header "__format/parser_std_format_spec.h" | |
| export std.format.parser_std_format_spec_data | |
| } | |
| module parser_std_format_spec_data { header "__format/parser_std_format_spec_data.h" } | |
| module range_default_formatter { header "__format/range_default_formatter.h" } | |
| module range_format { header "__format/range_format.h" } | |
| module range_formatter { header "__format/range_formatter.h" } | |
| module unicode { header "__format/unicode.h" } | |
| module width_estimation_table { header "__format/width_estimation_table.h" } | |
| module write_escaped { header "__format/write_escaped.h" } | |
| header "format" | |
| export * | |
| } // module format | |
| module forward_list { | |
| header "forward_list" | |
| export * | |
| export std.iterator.reverse_iterator | |
| } | |
| module fstream { | |
| module fwd { header "__fwd/fstream.h" } | |
| header "fstream" | |
| export * | |
| } | |
| module functional { | |
| module binary_function { header "__functional/binary_function.h" } | |
| module binary_negate { header "__functional/binary_negate.h" } | |
| module bind_back { | |
| header "__functional/bind_back.h" | |
| export std.functional.perfect_forward // inherited from and using its operators | |
| } | |
| module bind_front { | |
| header "__functional/bind_front.h" | |
| export std.functional.perfect_forward // inherited from and using its operators | |
| } | |
| module bind { header "__functional/bind.h" } | |
| module binder1st { header "__functional/binder1st.h" } | |
| module binder2nd { header "__functional/binder2nd.h" } | |
| module boyer_moore_searcher { | |
| header "__functional/boyer_moore_searcher.h" | |
| export std.memory.shared_ptr | |
| } | |
| module compose { | |
| header "__functional/compose.h" | |
| export std.functional.perfect_forward // inherited from and using its operators | |
| } | |
| module default_searcher { header "__functional/default_searcher.h" } | |
| module function { header "__functional/function.h" } | |
| module function_ref { header "__functional/function_ref.h" } | |
| module function_ref_common { header "__functional/function_ref_common.h" } | |
| module function_ref_impl { textual header "__functional/function_ref_impl.h" } | |
| module hash { header "__functional/hash.h" } | |
| module identity { header "__functional/identity.h" } | |
| module invoke { header "__functional/invoke.h" } | |
| module is_transparent { header "__functional/is_transparent.h" } | |
| module mem_fn { header "__functional/mem_fn.h" } | |
| module mem_fun_ref { header "__functional/mem_fun_ref.h" } | |
| module not_fn { | |
| header "__functional/not_fn.h" | |
| export std.functional.perfect_forward // inherited from and using its operators | |
| } | |
| module operations { | |
| header "__functional/operations.h" | |
| export std_core.fwd.functional | |
| } | |
| module perfect_forward { | |
| header "__functional/perfect_forward.h" | |
| export std.tuple | |
| } | |
| module pointer_to_binary_function { header "__functional/pointer_to_binary_function.h" } | |
| module pointer_to_unary_function { header "__functional/pointer_to_unary_function.h" } | |
| module ranges_operations { header "__functional/ranges_operations.h" } | |
| module reference_wrapper { header "__functional/reference_wrapper.h" } | |
| module unary_function { header "__functional/unary_function.h" } | |
| module unary_negate { header "__functional/unary_negate.h" } | |
| module weak_result_type { header "__functional/weak_result_type.h" } | |
| header "functional" | |
| export * | |
| } // module functional | |
| module future { | |
| header "future" | |
| export * | |
| } | |
| module initializer_list { | |
| header "initializer_list" | |
| export * | |
| } | |
| module iomanip { | |
| header "iomanip" | |
| export * | |
| } | |
| module ios { | |
| module fwd { header "__fwd/ios.h" } | |
| module fpos { header "__ios/fpos.h" } | |
| header "ios" | |
| export * | |
| } | |
| module iosfwd { | |
| header "iosfwd" | |
| export * | |
| } | |
| module iostream { | |
| header "iostream" | |
| export * | |
| } | |
| module istream { | |
| module fwd { header "__fwd/istream.h" } | |
| header "istream" | |
| export std.ios // base class | |
| } | |
| module iterator { | |
| module access { header "__iterator/access.h" } | |
| module advance { header "__iterator/advance.h" } | |
| module aliasing_iterator { header "__iterator/aliasing_iterator.h" } | |
| module back_insert_iterator { header "__iterator/back_insert_iterator.h" } | |
| module bounded_iter { header "__iterator/bounded_iter.h" } | |
| module common_iterator { header "__iterator/common_iterator.h" } | |
| module concepts { | |
| header "__iterator/concepts.h" | |
| export std_core.type_traits.common_reference | |
| } | |
| module counted_iterator { header "__iterator/counted_iterator.h" } | |
| module cpp17_iterator_concepts { header "__iterator/cpp17_iterator_concepts.h" } | |
| module data { header "__iterator/data.h" } | |
| module default_sentinel { header "__iterator/default_sentinel.h" } | |
| module distance { header "__iterator/distance.h" } | |
| module empty { header "__iterator/empty.h" } | |
| module erase_if_container { header "__iterator/erase_if_container.h" } | |
| module front_insert_iterator { header "__iterator/front_insert_iterator.h" } | |
| module incrementable_traits { header "__iterator/incrementable_traits.h" } | |
| module indirectly_comparable { header "__iterator/indirectly_comparable.h" } | |
| module insert_iterator { header "__iterator/insert_iterator.h" } | |
| module istream_iterator { header "__iterator/istream_iterator.h" } | |
| module istreambuf_iterator { | |
| header "__iterator/istreambuf_iterator.h" | |
| export std.string.char_traits | |
| } | |
| module iter_move { header "__iterator/iter_move.h" } | |
| module iter_swap { header "__iterator/iter_swap.h" } | |
| module iterator_traits { | |
| header "__iterator/iterator_traits.h" | |
| export std_core.type_traits.integral_constant | |
| export std_core.type_traits.is_convertible | |
| } | |
| module iterator_with_data { header "__iterator/iterator_with_data.h" } | |
| module iterator { header "__iterator/iterator.h" } | |
| module mergeable { header "__iterator/mergeable.h" } | |
| module move_iterator { header "__iterator/move_iterator.h" } | |
| module move_sentinel { header "__iterator/move_sentinel.h" } | |
| module next { header "__iterator/next.h" } | |
| module ostream_iterator { header "__iterator/ostream_iterator.h" } | |
| module ostreambuf_iterator { | |
| header "__iterator/ostreambuf_iterator.h" | |
| export iosfwd // for default template argument of ostreambuf_iterator | |
| } | |
| module permutable { header "__iterator/permutable.h" } | |
| module prev { header "__iterator/prev.h" } | |
| module product_iterator { header "__iterator/product_iterator.h" } | |
| module projected { header "__iterator/projected.h" } | |
| module ranges_iterator_traits { header "__iterator/ranges_iterator_traits.h" } | |
| module readable_traits { header "__iterator/readable_traits.h" } | |
| module reverse_access { | |
| header "__iterator/reverse_access.h" | |
| export std.iterator.reverse_iterator | |
| } | |
| module reverse_iterator { header "__iterator/reverse_iterator.h" } | |
| module segmented_iterator { header "__iterator/segmented_iterator.h" } | |
| module size { header "__iterator/size.h" } | |
| module sortable { header "__iterator/sortable.h" } | |
| module static_bounded_iter { header "__iterator/static_bounded_iter.h" } | |
| module unreachable_sentinel { header "__iterator/unreachable_sentinel.h" } | |
| module capacity_aware_iterator { header "__iterator/capacity_aware_iterator.h" } | |
| module wrap_iter { header "__iterator/wrap_iter.h" } | |
| header "iterator" | |
| export * | |
| } | |
| module latch { | |
| header "latch" | |
| export * | |
| } | |
| module list { | |
| header "list" | |
| export * | |
| export std.iterator.reverse_iterator | |
| } | |
| module locale { | |
| header "locale" | |
| module check_grouping { header "__locale_dir/check_grouping.h" } | |
| module get_c_locale { header "__locale_dir/get_c_locale.h" } | |
| module messages { header "__locale_dir/messages.h" } | |
| module money { header "__locale_dir/money.h" } | |
| module num { header "__locale_dir/num.h" } | |
| module pad_and_output { header "__locale_dir/pad_and_output.h" } | |
| module scan_keyword { header "__locale_dir/scan_keyword.h" } | |
| module time { header "__locale_dir/time.h" } | |
| module wbuffer_convert { header "__locale_dir/wbuffer_convert.h" } | |
| module wstring_convert { header "__locale_dir/wstring_convert.h" } | |
| module support { | |
| header "__locale_dir/locale_base_api.h" | |
| export * | |
| } | |
| module support_impl { | |
| textual header "__locale_dir/support/aix.h" | |
| textual header "__locale_dir/support/apple.h" | |
| textual header "__locale_dir/support/bsd_like.h" | |
| textual header "__locale_dir/support/freebsd.h" | |
| textual header "__locale_dir/support/fuchsia.h" | |
| textual header "__locale_dir/support/linux.h" | |
| textual header "__locale_dir/support/llvm_libc.h" | |
| textual header "__locale_dir/support/netbsd.h" | |
| textual header "__locale_dir/support/no_locale/conversions.h" | |
| textual header "__locale_dir/support/no_locale/formatting.h" | |
| textual header "__locale_dir/support/newlib.h" | |
| textual header "__locale_dir/support/no_locale/characters.h" | |
| textual header "__locale_dir/support/no_locale/strtonum.h" | |
| textual header "__locale_dir/support/openbsd.h" | |
| textual header "__locale_dir/support/windows.h" | |
| } | |
| module locale_base_api { | |
| textual header "__locale_dir/locale_base_api/bsd_locale_fallbacks.h" | |
| textual header "__locale_dir/locale_base_api/ibm.h" | |
| } | |
| export * | |
| } | |
| // These headers can't be submodules of std.locale: they are used by <ios> and <streambuf>, | |
| // which are in turn used by the facet headers that make up std.locale, so making them part | |
| // of std.locale would create a cycle. | |
| module locale_base { | |
| module codecvt { header "__locale_dir/codecvt.h" export * } | |
| module collate { header "__locale_dir/collate.h" export * } | |
| module ctype { header "__locale_dir/ctype.h" export * } | |
| module ctype_base { header "__locale_dir/ctype_base.h" export * } | |
| module locale { header "__locale_dir/locale.h" export * } | |
| module utf8_conversions { header "__locale_dir/utf8_conversions.h" export * } | |
| export * | |
| } | |
| module map { | |
| header "map" | |
| export * | |
| export std.iterator.reverse_iterator | |
| } | |
| module mdspan { | |
| module aligned_accessor { header "__mdspan/aligned_accessor.h" } | |
| module default_accessor { header "__mdspan/default_accessor.h" } | |
| module extents { header "__mdspan/extents.h" } | |
| module fwd { header "__fwd/mdspan.h" } | |
| module layout_left { header "__mdspan/layout_left.h" } | |
| module layout_right { header "__mdspan/layout_right.h" } | |
| module layout_stride { header "__mdspan/layout_stride.h" } | |
| module mdspan { | |
| header "__mdspan/mdspan.h" | |
| export std.array // returned by some methods | |
| } | |
| header "mdspan" | |
| export * | |
| } | |
| module memory { | |
| module addressof { header "__memory/addressof.h" } | |
| module align { header "__memory/align.h" } | |
| module allocate_at_least { header "__memory/allocate_at_least.h" } | |
| module allocation_guard { header "__memory/allocation_guard.h" } | |
| module allocator { | |
| header "__memory/allocator.h" | |
| export * // TODO: Workaround for https://llvm.org/PR120108 | |
| } | |
| module allocator_arg_t { header "__memory/allocator_arg_t.h" } | |
| module allocator_destructor { header "__memory/allocator_destructor.h" } | |
| module allocator_traits { header "__memory/allocator_traits.h" } | |
| module array_cookie { header "__memory/array_cookie.h" } | |
| module assume_aligned { header "__memory/assume_aligned.h" } | |
| module auto_ptr { header "__memory/auto_ptr.h" } | |
| module compressed_pair { header "__memory/compressed_pair.h" } | |
| module concepts { header "__memory/concepts.h" } | |
| module construct_at { header "__memory/construct_at.h" } | |
| module destroy { header "__memory/destroy.h" } | |
| module destruct_n { header "__memory/destruct_n.h" } | |
| module fwd { header "__fwd/memory.h" } | |
| module inout_ptr { header "__memory/inout_ptr.h" } | |
| module is_sufficiently_aligned { header "__memory/is_sufficiently_aligned.h" } | |
| module noexcept_move_assign_container { header "__memory/noexcept_move_assign_container.h" } | |
| module out_ptr { header "__memory/out_ptr.h" } | |
| module pointer_traits { header "__memory/pointer_traits.h" } | |
| module pstl { header "__memory/pstl.h" } | |
| module ranges_construct_at { header "__memory/ranges_construct_at.h" } | |
| module ranges_destroy { header "__memory/ranges_destroy.h" } | |
| module ranges_uninitialized_algorithms { | |
| header "__memory/ranges_uninitialized_algorithms.h" | |
| export std.algorithm.in_out_result | |
| } | |
| module raw_storage_iterator { header "__memory/raw_storage_iterator.h" } | |
| module shared_count { header "__memory/shared_count.h" } | |
| module shared_ptr { | |
| header "__memory/shared_ptr.h" | |
| export std.functional.hash | |
| } | |
| module swap_allocator { header "__memory/swap_allocator.h" } | |
| module temp_value { header "__memory/temp_value.h" } | |
| module temporary_buffer { | |
| header "__memory/temporary_buffer.h" | |
| export std.utility.pair // return type of std::get_temporary_buffer() | |
| } | |
| module uninitialized_algorithms { | |
| header "__memory/uninitialized_algorithms.h" | |
| export std.memory.destroy | |
| export std.utility.pair | |
| } | |
| module uninitialized_multidimensional_algorithms { | |
| header "__memory/uninitialized_multidimensional_algorithms.h" | |
| } | |
| module unique_ptr { | |
| header "__memory/unique_ptr.h" | |
| export std.functional.hash | |
| } | |
| module unique_temporary_buffer { | |
| header "__memory/unique_temporary_buffer.h" | |
| export std.memory.unique_ptr | |
| export std_core.type_traits.is_constant_evaluated | |
| export * // TODO: Workaround for https://llvm.org/PR120108 | |
| } | |
| module uses_allocator { header "__memory/uses_allocator.h" } | |
| module uses_allocator_construction { header "__memory/uses_allocator_construction.h" } | |
| module valid_range { header "__memory/valid_range.h" } | |
| header "memory" | |
| export * | |
| } | |
| module memory_resource { | |
| module fwd { header "__fwd/memory_resource.h" } | |
| module memory_resource { header "__memory_resource/memory_resource.h" } | |
| module monotonic_buffer_resource { header "__memory_resource/monotonic_buffer_resource.h" } | |
| module polymorphic_allocator { header "__memory_resource/polymorphic_allocator.h" } | |
| module pool_options { header "__memory_resource/pool_options.h" } | |
| module synchronized_pool_resource { header "__memory_resource/synchronized_pool_resource.h" } | |
| module unsynchronized_pool_resource { header "__memory_resource/unsynchronized_pool_resource.h" } | |
| header "memory_resource" | |
| export * | |
| } | |
| module mutex { | |
| module lock_guard { header "__mutex/lock_guard.h" } | |
| module mutex { header "__mutex/mutex.h" } | |
| module once_flag { header "__mutex/once_flag.h" } | |
| module tag_types { header "__mutex/tag_types.h" } | |
| module unique_lock { header "__mutex/unique_lock.h" } | |
| header "mutex" | |
| export * | |
| } | |
| module new { | |
| header "new" | |
| module align_val_t { header "__new/align_val_t.h" } | |
| module allocate { | |
| header "__new/allocate.h" | |
| export std.utility.element_count // used as part of the API | |
| export * // TODO: Workaround for https://llvm.org/PR120108 | |
| } | |
| module destroying_delete_t { header "__new/destroying_delete_t.h" } | |
| module exceptions { header "__new/exceptions.h" } | |
| module global_new_delete { | |
| header "__new/global_new_delete.h" | |
| export std.new.nothrow_t | |
| } | |
| module interference_size { header "__new/interference_size.h" } | |
| module launder { header "__new/launder.h" } | |
| module new_handler { header "__new/new_handler.h" } | |
| module nothrow_t { header "__new/nothrow_t.h" } | |
| module placement_new_delete { header "__new/placement_new_delete.h" } | |
| export * | |
| } | |
| module numbers { | |
| header "numbers" | |
| export * | |
| } | |
| module numeric { | |
| module accumulate { header "__numeric/accumulate.h" } | |
| module adjacent_difference { header "__numeric/adjacent_difference.h" } | |
| module exclusive_scan { header "__numeric/exclusive_scan.h" } | |
| module gcd_lcm { header "__numeric/gcd_lcm.h" } | |
| module inclusive_scan { header "__numeric/inclusive_scan.h" } | |
| module inner_product { header "__numeric/inner_product.h" } | |
| module iota { header "__numeric/iota.h" } | |
| module midpoint { header "__numeric/midpoint.h" } | |
| module partial_sum { header "__numeric/partial_sum.h" } | |
| module pstl { header "__numeric/pstl.h" } | |
| module reduce { header "__numeric/reduce.h" } | |
| module ranges_iota { header "__numeric/ranges_iota.h" } | |
| module saturation_arithmetic { header "__numeric/saturation_arithmetic.h" } | |
| module transform_exclusive_scan { header "__numeric/transform_exclusive_scan.h" } | |
| module transform_inclusive_scan { header "__numeric/transform_inclusive_scan.h" } | |
| module transform_reduce { header "__numeric/transform_reduce.h" } | |
| header "numeric" | |
| export * | |
| } | |
| module optional { | |
| module fwd { header "__fwd/optional.h" } | |
| module hash { | |
| header "__optional/hash.h" | |
| export std.functional.hash | |
| } | |
| module common { | |
| header "__optional/common.h" | |
| export std.format.fwd | |
| } | |
| module comparison { header "__optional/comparison.h" } | |
| module make_optional { header "__optional/make_optional.h" } | |
| module nullopt_t { header "__optional/nullopt_t.h" } | |
| module optional { | |
| header "__optional/optional.h" | |
| export std.iterator.bounded_iter | |
| export std.iterator.capacity_aware_iterator | |
| export std.utility.swap | |
| } | |
| module optional_ref { | |
| header "__optional/optional_ref.h" | |
| export std.iterator.bounded_iter | |
| export std.iterator.capacity_aware_iterator | |
| export std.utility.swap | |
| } | |
| module swap { header "__optional/swap.h" } | |
| header "optional" | |
| export * | |
| } | |
| module ostream { | |
| module basic_ostream { | |
| header "__ostream/basic_ostream.h" | |
| export std.ios // base class | |
| } | |
| module fwd { | |
| header "__fwd/ostream.h" | |
| } | |
| module print { | |
| header "__ostream/print.h" | |
| export * | |
| } | |
| module put_character_sequence { header "__ostream/put_character_sequence.h" } | |
| header "ostream" | |
| export * | |
| } | |
| module print { | |
| header "print" | |
| export * | |
| } | |
| module queue { | |
| module fwd { header "__fwd/queue.h" } | |
| header "queue" | |
| export * | |
| } | |
| module random { | |
| module bernoulli_distribution { header "__random/bernoulli_distribution.h" } | |
| module binomial_distribution { header "__random/binomial_distribution.h" } | |
| module cauchy_distribution { header "__random/cauchy_distribution.h" } | |
| module chi_squared_distribution { header "__random/chi_squared_distribution.h" } | |
| module clamp_to_integral { header "__random/clamp_to_integral.h" } | |
| module default_random_engine { header "__random/default_random_engine.h" } | |
| module discard_block_engine { header "__random/discard_block_engine.h" } | |
| module discrete_distribution { | |
| header "__random/discrete_distribution.h" | |
| export std.vector.vector | |
| } | |
| module exponential_distribution { header "__random/exponential_distribution.h" } | |
| module extreme_value_distribution { header "__random/extreme_value_distribution.h" } | |
| module fisher_f_distribution { header "__random/fisher_f_distribution.h" } | |
| module gamma_distribution { header "__random/gamma_distribution.h" } | |
| module generate_canonical { header "__random/generate_canonical.h" } | |
| module geometric_distribution { header "__random/geometric_distribution.h" } | |
| module independent_bits_engine { header "__random/independent_bits_engine.h" } | |
| module is_seed_sequence { header "__random/is_seed_sequence.h" } | |
| module is_valid { | |
| header "__random/is_valid.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module knuth_b { header "__random/knuth_b.h" } | |
| module linear_congruential_engine { header "__random/linear_congruential_engine.h" } | |
| module log2 { header "__random/log2.h" } | |
| module lognormal_distribution { header "__random/lognormal_distribution.h" } | |
| module mersenne_twister_engine { header "__random/mersenne_twister_engine.h" } | |
| module negative_binomial_distribution { header "__random/negative_binomial_distribution.h" } | |
| module normal_distribution { header "__random/normal_distribution.h" } | |
| module piecewise_constant_distribution { header "__random/piecewise_constant_distribution.h" } | |
| module piecewise_linear_distribution { header "__random/piecewise_linear_distribution.h" } | |
| module poisson_distribution { header "__random/poisson_distribution.h" } | |
| module random_device { header "__random/random_device.h" } | |
| module ranlux { header "__random/ranlux.h" } | |
| module seed_seq { header "__random/seed_seq.h" } | |
| module shuffle_order_engine { header "__random/shuffle_order_engine.h" } | |
| module student_t_distribution { header "__random/student_t_distribution.h" } | |
| module subtract_with_carry_engine { header "__random/subtract_with_carry_engine.h" } | |
| module uniform_int_distribution { header "__random/uniform_int_distribution.h" } | |
| module uniform_random_bit_generator { header "__random/uniform_random_bit_generator.h" } | |
| module uniform_real_distribution { header "__random/uniform_real_distribution.h" } | |
| module weibull_distribution { header "__random/weibull_distribution.h" } | |
| header "random" | |
| export * | |
| } | |
| module ranges { | |
| module access { header "__ranges/access.h" } | |
| module adjacent_transform_view { header "__ranges/adjacent_transform_view.h" } | |
| module adjacent_view { header "__ranges/adjacent_view.h" } | |
| module all { | |
| header "__ranges/all.h" | |
| export std.ranges.ref_view | |
| } | |
| module as_rvalue_view { header "__ranges/as_rvalue_view.h" } | |
| module chunk_by_view { | |
| header "__ranges/chunk_by_view.h" | |
| export std.functional.bind_back | |
| } | |
| module common_view { header "__ranges/common_view.h" } | |
| module concat_view { header "__ranges/concat_view.h" } | |
| module concepts { header "__ranges/concepts.h" } | |
| module container_compatible_range { header "__ranges/container_compatible_range.h" } | |
| module counted { | |
| header "__ranges/counted.h" | |
| export std.span // return type of views::counted | |
| export std.ranges.subrange // return type of views::counted | |
| } | |
| module dangling { | |
| header "__ranges/dangling.h" | |
| } | |
| module data { | |
| header "__ranges/data.h" | |
| } | |
| module drop_view { | |
| header "__ranges/drop_view.h" | |
| export std.functional.bind_back | |
| } | |
| module drop_while_view { | |
| header "__ranges/drop_while_view.h" | |
| export std.functional.bind_back | |
| } | |
| module elements_of { header "__ranges/elements_of.h" } | |
| module elements_view { header "__ranges/elements_view.h" } | |
| module empty { header "__ranges/empty.h" } | |
| module empty_view { header "__ranges/empty_view.h" } | |
| module enable_borrowed_range { header "__ranges/enable_borrowed_range.h" } | |
| module enable_view { header "__ranges/enable_view.h" } | |
| module enumerate_view { header "__ranges/enumerate_view.h" } | |
| module filter_view { | |
| header "__ranges/filter_view.h" | |
| export std.functional.bind_back | |
| } | |
| module from_range { header "__ranges/from_range.h" } | |
| module iota_view { header "__ranges/iota_view.h" } | |
| module istream_view { header "__ranges/istream_view.h" } | |
| module join_view { header "__ranges/join_view.h" } | |
| module join_with_view { header "__ranges/join_with_view.h" } | |
| module lazy_split_view { | |
| header "__ranges/lazy_split_view.h" | |
| export std.functional.bind_back | |
| } | |
| module movable_box { header "__ranges/movable_box.h" } | |
| module non_propagating_cache { header "__ranges/non_propagating_cache.h" } | |
| module owning_view { header "__ranges/owning_view.h" } | |
| module range_adaptor { header "__ranges/range_adaptor.h" } | |
| module rbegin { header "__ranges/rbegin.h" } | |
| module ref_view { header "__ranges/ref_view.h" } | |
| module rend { header "__ranges/rend.h" } | |
| module repeat_view { header "__ranges/repeat_view.h" } | |
| module reverse_view { header "__ranges/reverse_view.h" } | |
| module single_view { header "__ranges/single_view.h" } | |
| module size { header "__ranges/size.h" } | |
| module split_view { | |
| header "__ranges/split_view.h" | |
| export std.functional.bind_back | |
| } | |
| module stride_view { | |
| header "__ranges/stride_view.h" | |
| export std.functional.bind_back | |
| } | |
| module subrange { | |
| header "__ranges/subrange.h" | |
| export std.ranges.subrange_fwd | |
| } | |
| module subrange_fwd { | |
| header "__fwd/subrange.h" | |
| } | |
| module take_view { | |
| header "__ranges/take_view.h" | |
| export std.functional.bind_back | |
| } | |
| module take_while_view { | |
| header "__ranges/take_while_view.h" | |
| export std.functional.bind_back | |
| } | |
| module to { | |
| header "__ranges/to.h" | |
| export std.functional.bind_back | |
| } | |
| module transform_view { | |
| header "__ranges/transform_view.h" | |
| export std.functional.bind_back | |
| } | |
| module view_interface { | |
| header "__ranges/view_interface.h" | |
| } | |
| module views { | |
| header "__ranges/views.h" | |
| } | |
| module zip_view { | |
| header "__ranges/zip_view.h" | |
| export std.utility.pair | |
| } | |
| module zip_transform_view { | |
| header "__ranges/zip_transform_view.h" | |
| } | |
| header "ranges" | |
| export * | |
| } // module ranges | |
| module ratio { | |
| header "ratio" | |
| export * | |
| } | |
| module regex { | |
| header "regex" | |
| export * | |
| export std.iterator.reverse_iterator | |
| } | |
| module scoped_allocator { | |
| header "scoped_allocator" | |
| export * | |
| } | |
| module semaphore { | |
| header "semaphore" | |
| export * | |
| } | |
| module set { | |
| header "set" | |
| export * | |
| export std.iterator.reverse_iterator | |
| } | |
| module shared_mutex { | |
| header "shared_mutex" | |
| export * | |
| } | |
| module source_location { | |
| header "source_location" | |
| export * | |
| } | |
| module span { | |
| module fwd { header "__fwd/span.h" } | |
| header "span" | |
| export * | |
| export std.iterator.reverse_iterator | |
| } | |
| module sstream { | |
| module fwd { header "__fwd/sstream.h" } | |
| header "sstream" | |
| export * | |
| } | |
| module stack { | |
| module fwd { header "__fwd/stack.h" } | |
| header "stack" | |
| export * | |
| } | |
| module stdexcept { | |
| header "stdexcept" | |
| export * | |
| } | |
| module stop_token { | |
| module atomic_unique_lock { header "__stop_token/atomic_unique_lock.h" } | |
| module intrusive_list_view { header "__stop_token/intrusive_list_view.h" } | |
| module intrusive_shared_ptr { header "__stop_token/intrusive_shared_ptr.h" } | |
| module stop_callback { header "__stop_token/stop_callback.h" } | |
| module stop_source { header "__stop_token/stop_source.h" } | |
| module stop_state { header "__stop_token/stop_state.h" } | |
| module stop_token { header "__stop_token/stop_token.h" } | |
| header "stop_token" | |
| export * | |
| } | |
| module streambuf { | |
| module fwd { header "__fwd/streambuf.h" } | |
| header "streambuf" | |
| export * | |
| } | |
| module string { | |
| module char_traits { header "__string/char_traits.h" } | |
| module constexpr_c_functions { | |
| header "__string/constexpr_c_functions.h" | |
| export std.utility.element_count // used as part of the constexpr C function's API | |
| } | |
| module extern_template_lists { header "__string/extern_template_lists.h" } | |
| module fwd { header "__fwd/string.h" } | |
| header "string" | |
| export * | |
| export std.iterator.reverse_iterator | |
| } | |
| module string_view { | |
| module fwd { header "__fwd/string_view.h" } | |
| header "string_view" | |
| export * | |
| export std.iterator.reverse_iterator | |
| } | |
| module strstream { | |
| header "strstream" | |
| export * | |
| } | |
| module syncstream { | |
| header "syncstream" | |
| export * | |
| } | |
| module system_error { | |
| module errc { header "__system_error/errc.h" } | |
| module error_category { header "__system_error/error_category.h" } | |
| module error_code { | |
| header "__system_error/error_code.h" | |
| export std.system_error.error_category // methods of error_code return that type | |
| } | |
| module error_condition { header "__system_error/error_condition.h" } | |
| module system_error { header "__system_error/system_error.h" } | |
| module throw_system_error { header "__system_error/throw_system_error.h" } | |
| header "system_error" | |
| export * | |
| } | |
| module text_encoding { | |
| header "text_encoding" | |
| export * | |
| } | |
| module thread { | |
| module formatter { header "__thread/formatter.h" } | |
| module id { header "__thread/id.h" } | |
| module jthread { header "__thread/jthread.h" } | |
| module poll_with_backoff { header "__thread/poll_with_backoff.h" } | |
| module this_thread { header "__thread/this_thread.h" } | |
| module thread { header "__thread/thread.h" } | |
| module timed_backoff_policy { header "__thread/timed_backoff_policy.h" } | |
| module support { | |
| header "__thread/support.h" | |
| export * | |
| } | |
| module support_impl { | |
| textual header "__thread/support/c11.h" | |
| textual header "__thread/support/external.h" | |
| textual header "__thread/support/pthread.h" | |
| textual header "__thread/support/windows.h" | |
| } | |
| header "thread" | |
| export * | |
| } | |
| module tuple { | |
| module find_index { header "__tuple/find_index.h" } | |
| module ignore { header "__tuple/ignore.h" } | |
| module sfinae_helpers { header "__tuple/sfinae_helpers.h" } | |
| module tuple_element { header "__tuple/tuple_element.h" } | |
| module tuple_like_no_subrange { header "__tuple/tuple_like_no_subrange.h" } | |
| module tuple_like { header "__tuple/tuple_like.h" } | |
| module tuple_size { header "__tuple/tuple_size.h" } | |
| module tuple_trasnform { header "__tuple/tuple_transform.h" } | |
| header "tuple" | |
| export * | |
| } | |
| module typeindex { | |
| header "typeindex" | |
| export * | |
| } | |
| module typeinfo { | |
| header "typeinfo" | |
| export * | |
| } | |
| module unordered_map { | |
| header "unordered_map" | |
| export * | |
| export std.iterator.reverse_iterator | |
| } | |
| module unordered_set { | |
| header "unordered_set" | |
| export * | |
| export std.iterator.reverse_iterator | |
| } | |
| module utility { | |
| module as_const { header "__utility/as_const.h" } | |
| module as_lvalue { header "__utility/as_lvalue.h" } | |
| module auto_cast { | |
| header "__utility/auto_cast.h" | |
| export std_core.type_traits.decay // the macro expansion uses that trait | |
| } | |
| module cmp { header "__utility/cmp.h" } | |
| module constant_wrapper { header "__utility/constant_wrapper.h" } | |
| module convert_to_integral { header "__utility/convert_to_integral.h" } | |
| module default_three_way_comparator { header "__utility/default_three_way_comparator.h" } | |
| module element_count { header "__utility/element_count.h" } | |
| module exception_guard { header "__utility/exception_guard.h" } | |
| module exchange { header "__utility/exchange.h" } | |
| module forward_like { header "__utility/forward_like.h" } | |
| module in_place { | |
| header "__utility/in_place.h" | |
| export std_core.type_traits.integral_constant | |
| } | |
| module integer_sequence { header "__utility/integer_sequence.h" } | |
| module is_pointer_in_range { header "__utility/is_pointer_in_range.h" } | |
| module lazy_synth_three_way_comparator { header "__utility/lazy_synth_three_way_comparator.h" } | |
| module move { header "__utility/move.h" } | |
| module no_destroy { header "__utility/no_destroy.h" } | |
| module pair { | |
| header "__utility/pair.h" | |
| export std.utility.piecewise_construct | |
| } | |
| module piecewise_construct { header "__utility/piecewise_construct.h" } | |
| module priority_tag { header "__utility/priority_tag.h" } | |
| module private_constructor_tag { header "__utility/private_constructor_tag.h" } | |
| module rel_ops { header "__utility/rel_ops.h" } | |
| module scope_guard { header "__utility/scope_guard.h" } | |
| module small_buffer { header "__utility/small_buffer.h" } | |
| module swap { header "__utility/swap.h" } | |
| module to_underlying { header "__utility/to_underlying.h" } | |
| module try_key_extraction { header "__utility/try_key_extraction.h" } | |
| module unreachable { header "__utility/unreachable.h" } | |
| header "utility" | |
| export * | |
| } | |
| module valarray { | |
| header "valarray" | |
| export * | |
| } | |
| module variant { | |
| module fwd { header "__fwd/variant.h" } | |
| module monostate { header "__variant/monostate.h" } | |
| header "variant" | |
| export * | |
| } | |
| module vector { | |
| module fwd { header "__fwd/vector.h" } | |
| module comparison { header "__vector/comparison.h" } | |
| module container_traits { header "__vector/container_traits.h" } | |
| module erase { header "__vector/erase.h" } | |
| module vector_bool_formatter { | |
| header "__vector/vector_bool_formatter.h" | |
| export std.format.formatter | |
| } | |
| module layout { header "__vector/layout.h" } | |
| module pmr { | |
| header "__vector/pmr.h" | |
| export std.memory_resource.polymorphic_allocator | |
| } | |
| module swap { header "__vector/swap.h" } | |
| module vector_bool { | |
| header "__vector/vector_bool.h" | |
| export std.bit_reference | |
| export std.memory.allocator | |
| export std.vector.comparison | |
| export std.vector.fwd | |
| export std.vector.swap | |
| } | |
| module vector { | |
| header "__vector/vector.h" | |
| export std.iterator.bounded_iter | |
| export std.iterator.wrap_iter | |
| export std.memory.allocator | |
| export std.vector.comparison | |
| export std.vector.fwd | |
| export std.vector.swap | |
| } | |
| header "vector" | |
| export std.iterator.reverse_iterator | |
| export * | |
| export std.algorithm.simd_utils // This is a workaround for https://llvm.org/PR120108. | |
| } | |
| // Experimental C++ Standard Library interfaces | |
| module experimental { | |
| module iterator { header "experimental/iterator" } | |
| module memory { header "experimental/memory" } | |
| module propagate_const { header "experimental/propagate_const" } | |
| module type_traits { header "experimental/type_traits" } | |
| module utility { header "experimental/utility" } | |
| module simd { | |
| private header "experimental/__simd/aligned_tag.h" | |
| private header "experimental/__simd/declaration.h" | |
| private header "experimental/__simd/reference.h" | |
| private header "experimental/__simd/scalar.h" | |
| private header "experimental/__simd/simd_mask.h" | |
| private header "experimental/__simd/simd.h" | |
| private header "experimental/__simd/traits.h" | |
| private header "experimental/__simd/utility.h" | |
| private header "experimental/__simd/vec_ext.h" | |
| header "experimental/simd" | |
| export * | |
| } | |
| } | |
| // Implementation detail headers that are private to libc++. These modules | |
| // must not be directly imported. | |
| module debug_utils { | |
| module randomize_range { header "__debug_utils/randomize_range.h" } | |
| module sanitizers { header "__debug_utils/sanitizers.h" } | |
| module strict_weak_ordering_check { header "__debug_utils/strict_weak_ordering_check.h" } | |
| } | |
| module get_fwd { | |
| header "__fwd/get.h" | |
| export std_core.fwd.pair | |
| export std_core.fwd.tuple | |
| export std.array.fwd | |
| export std.complex.fwd | |
| export std.ranges.subrange_fwd | |
| export std.variant.fwd | |
| } | |
| module pstl { | |
| module backend_fwd { | |
| header "__pstl/backend_fwd.h" | |
| } | |
| module backend { | |
| header "__pstl/backend.h" | |
| export * // need to export everything from whatever backend is currently configured | |
| } | |
| module backends { | |
| module default { | |
| header "__pstl/backends/default.h" | |
| export std_core.utility_core.empty | |
| } | |
| module libdispatch { | |
| header "__pstl/backends/libdispatch.h" | |
| export std.pstl.cpu_algos | |
| export std_core.utility_core.empty | |
| } | |
| module serial { | |
| header "__pstl/backends/serial.h" | |
| export std_core.utility_core.empty | |
| } | |
| module std_thread { | |
| header "__pstl/backends/std_thread.h" | |
| export std.pstl.cpu_algos | |
| export std_core.utility_core.empty | |
| } | |
| } | |
| module cpu_algos { | |
| module any_of { | |
| header "__pstl/cpu_algos/any_of.h" | |
| } | |
| module cpu_traits { | |
| header "__pstl/cpu_algos/cpu_traits.h" | |
| } | |
| module fill { | |
| header "__pstl/cpu_algos/fill.h" | |
| export std_core.utility_core.empty | |
| } | |
| module find_end { | |
| header "__pstl/cpu_algos/find_end.h" | |
| } | |
| module find_if { | |
| header "__pstl/cpu_algos/find_if.h" | |
| } | |
| module for_each { | |
| header "__pstl/cpu_algos/for_each.h" | |
| export std_core.utility_core.empty | |
| } | |
| module is_heap_until { | |
| header "__pstl/cpu_algos/is_heap_until.h" | |
| } | |
| module merge { | |
| header "__pstl/cpu_algos/merge.h" | |
| } | |
| module mismatch { | |
| header "__pstl/cpu_algos/mismatch.h" | |
| } | |
| module reverse { | |
| header "__pstl/cpu_algos/reverse.h" | |
| } | |
| module search { | |
| header "__pstl/cpu_algos/search.h" | |
| } | |
| module search_n { | |
| header "__pstl/cpu_algos/search_n.h" | |
| } | |
| module stable_sort { | |
| header "__pstl/cpu_algos/stable_sort.h" | |
| export std_core.utility_core.empty | |
| } | |
| module transform { | |
| header "__pstl/cpu_algos/transform.h" | |
| } | |
| module transform_reduce { | |
| header "__pstl/cpu_algos/transform_reduce.h" | |
| } | |
| } | |
| module dispatch { header "__pstl/dispatch.h" } | |
| module handle_exception { header "__pstl/handle_exception.h" } | |
| } | |
| // Miscellaneous modules for top-level headers | |
| module bit_reference_fwd { | |
| header "__fwd/bit_reference.h" | |
| } | |
| module bit_reference { | |
| header "__bit_reference" | |
| export std.bit_reference_fwd | |
| } | |
| module hash_table { header "__hash_table" } | |
| module node_handle { header "__node_handle" } | |
| module split_buffer { header "__split_buffer" } | |
| module tree { | |
| header "__tree" | |
| export std.memory.unique_ptr | |
| } | |
| module std_mbstate_t { | |
| header "__std_mbstate_t.h" | |
| export * | |
| } | |
| module log_hardening_failure { | |
| header "__log_hardening_failure" | |
| } | |
| module verbose_abort { | |
| header "__verbose_abort" | |
| } | |
| module verbose_trap { | |
| header "__verbose_trap" | |
| } | |
| module internal_assert { | |
| header "__assert" | |
| export * | |
| } | |
| module assertion_handler { | |
| header "__assertion_handler" // generated via CMake | |
| export * | |
| } | |
| module undef_macros { | |
| textual header "__undef_macros" | |
| } | |
| // This module needs to appear after __tree to work around issues with modules in Objective-C++ mode. | |
| module coroutine { | |
| module coroutine_handle { header "__coroutine/coroutine_handle.h" } | |
| module coroutine_traits { header "__coroutine/coroutine_traits.h" } | |
| module noop_coroutine_handle { header "__coroutine/noop_coroutine_handle.h" } | |
| module trivial_awaitables { header "__coroutine/trivial_awaitables.h" } | |
| header "coroutine" | |
| export * | |
| export std.functional.hash | |
| } | |
| } // module std | |
| // C compatibility headers | |
| // | |
| // These modules need to be their own top-level modules because they depend on the system-provided | |
| // headers (via include_next), which are then free to include other C headers provided by libc++. | |
| // If we group these headers in a single module, we would end up with circular dependencies. | |
| module std_complex_h { | |
| header "complex.h" | |
| export * | |
| } | |
| module std_errno_h { | |
| header "errno.h" | |
| export * | |
| } | |
| module std_math_h { | |
| header "math.h" | |
| export * | |
| } | |
| module std_stdatomic_h { | |
| header "stdatomic.h" | |
| export * | |
| } | |
| module std_stddef_h { | |
| // <stddef.h> supports being included multiple times with different pre-defined macros | |
| textual header "stddef.h" | |
| } | |
| module std_stdio_h { | |
| // <stdio.h> supports being included multiple times with different pre-defined macros | |
| textual header "stdio.h" | |
| } | |
| module std_stdlib_h { | |
| // <stdlib.h> supports being included multiple times with different pre-defined macros | |
| textual header "stdlib.h" | |
| } | |
| module std_string_h { | |
| header "string.h" | |
| export * | |
| } | |
| module std_tgmath_h { | |
| header "tgmath.h" | |
| export * | |
| } | |
| module std_uchar_h { | |
| header "uchar.h" | |
| export * | |
| } | |
| module std_wchar_h { | |
| // <wchar.h> supports being included multiple times with different pre-defined macros | |
| textual header "wchar.h" | |
| } | |
| module std_wctype_h { | |
| header "wctype.h" | |
| export * | |
| } | |
| // This header is used by other C compatibility headers so it needs to be in its own module. | |
| module std_private_mbstate_t { | |
| header "__mbstate_t.h" | |
| export * | |
| } |