1700637cbSDimitry Andric// This module contains headers related to the configuration of the library. These headers 2700637cbSDimitry Andric// are free of any dependency on the rest of libc++. 3700637cbSDimitry Andricmodule std_config [system] { 4700637cbSDimitry Andric @LIBCXX_CONFIG_SITE_MODULE_ENTRY@ // generated via CMake 5700637cbSDimitry Andric textual header "__config" 6700637cbSDimitry Andric textual header "__configuration/abi.h" 7700637cbSDimitry Andric textual header "__configuration/availability.h" 8700637cbSDimitry Andric textual header "__configuration/compiler.h" 9700637cbSDimitry Andric textual header "__configuration/language.h" 10700637cbSDimitry Andric textual header "__configuration/platform.h" 11700637cbSDimitry Andric textual header "version" 12700637cbSDimitry Andric} 13700637cbSDimitry Andric 14700637cbSDimitry Andricmodule std_core [system] { 15700637cbSDimitry Andric module cstddef { 16700637cbSDimitry Andric module byte { header "__cstddef/byte.h" } 17700637cbSDimitry Andric module max_align_t { 18700637cbSDimitry Andric header "__cstddef/max_align_t.h" 19700637cbSDimitry Andric export * 20700637cbSDimitry Andric } 21700637cbSDimitry Andric module nullptr_t { header "__cstddef/nullptr_t.h" } 22700637cbSDimitry Andric module ptrdiff_t { header "__cstddef/ptrdiff_t.h" } 23700637cbSDimitry Andric module size_t { header "__cstddef/size_t.h" } 24700637cbSDimitry Andric } 25700637cbSDimitry Andric 26700637cbSDimitry Andric module cstdint { 27700637cbSDimitry Andric header "cstdint" 28700637cbSDimitry Andric export * 29700637cbSDimitry Andric } 30700637cbSDimitry Andric 31700637cbSDimitry Andric module fwd { 32700637cbSDimitry Andric module byte { header "__fwd/byte.h" } 33700637cbSDimitry Andric module functional { header "__fwd/functional.h" } 34700637cbSDimitry Andric module pair { header "__fwd/pair.h" } 35700637cbSDimitry Andric module tuple { header "__fwd/tuple.h" } 36700637cbSDimitry Andric } 37700637cbSDimitry Andric 38700637cbSDimitry Andric module limits { 39700637cbSDimitry Andric header "limits" 40700637cbSDimitry Andric export * 41700637cbSDimitry Andric } 42700637cbSDimitry Andric 43700637cbSDimitry Andric module math { 44700637cbSDimitry Andric module abs { header "__math/abs.h" } 45700637cbSDimitry Andric module copysign { header "__math/copysign.h" } 46700637cbSDimitry Andric module error_functions { header "__math/error_functions.h" } 47700637cbSDimitry Andric module exponential_functions { header "__math/exponential_functions.h" } 48700637cbSDimitry Andric module fdim { header "__math/fdim.h" } 49700637cbSDimitry Andric module fma { header "__math/fma.h" } 50700637cbSDimitry Andric module gamma { header "__math/gamma.h" } 51700637cbSDimitry Andric module hyperbolic_functions { header "__math/hyperbolic_functions.h" } 52700637cbSDimitry Andric module hypot { header "__math/hypot.h" } 53700637cbSDimitry Andric module inverse_hyperbolic_functions { header "__math/inverse_hyperbolic_functions.h" } 54700637cbSDimitry Andric module inverse_trigonometric_functions { header "__math/inverse_trigonometric_functions.h" } 55700637cbSDimitry Andric module logarithms { header "__math/logarithms.h" } 56700637cbSDimitry Andric module min_max { header "__math/min_max.h" } 57700637cbSDimitry Andric module modulo { header "__math/modulo.h" } 58700637cbSDimitry Andric module remainder { header "__math/remainder.h" } 59700637cbSDimitry Andric module roots { header "__math/roots.h" } 60700637cbSDimitry Andric module rounding_functions { header "__math/rounding_functions.h" } 61700637cbSDimitry Andric module special_functions { header "__math/special_functions.h" } 62700637cbSDimitry Andric module traits { header "__math/traits.h" } 63700637cbSDimitry Andric module trigonometric_functions { header "__math/trigonometric_functions.h" } 64700637cbSDimitry Andric } 65700637cbSDimitry Andric 66700637cbSDimitry Andric module type_traits { 67700637cbSDimitry Andric module add_cv_quals { header "__type_traits/add_cv_quals.h" } 68700637cbSDimitry Andric module add_pointer { header "__type_traits/add_pointer.h" } 69700637cbSDimitry Andric module add_reference { header "__type_traits/add_reference.h" } 70700637cbSDimitry Andric module aligned_storage { header "__type_traits/aligned_storage.h" } 71700637cbSDimitry Andric module aligned_union { header "__type_traits/aligned_union.h" } 72700637cbSDimitry Andric module alignment_of { header "__type_traits/alignment_of.h" } 73700637cbSDimitry Andric module can_extract_key { header "__type_traits/can_extract_key.h" } 74700637cbSDimitry Andric module common_reference { header "__type_traits/common_reference.h" } 75700637cbSDimitry Andric module common_type { 76700637cbSDimitry Andric header "__type_traits/common_type.h" 77700637cbSDimitry Andric // We need to export those because common_type inherits from either of those based on __builtin_common_type. 78700637cbSDimitry Andric export std_core.type_traits.type_identity 79700637cbSDimitry Andric export std_core.utility_core.empty 80700637cbSDimitry Andric } 81700637cbSDimitry Andric module conditional { header "__type_traits/conditional.h" } 82700637cbSDimitry Andric module conjunction { header "__type_traits/conjunction.h" } 83700637cbSDimitry Andric module container_traits { header "__type_traits/container_traits.h" } 84700637cbSDimitry Andric module copy_cv { header "__type_traits/copy_cv.h" } 85700637cbSDimitry Andric module copy_cvref { header "__type_traits/copy_cvref.h" } 86700637cbSDimitry Andric module datasizeof { header "__type_traits/datasizeof.h" } 87700637cbSDimitry Andric module decay { header "__type_traits/decay.h" } 88700637cbSDimitry Andric module dependent_type { header "__type_traits/dependent_type.h" } 89700637cbSDimitry Andric module desugars_to { header "__type_traits/desugars_to.h" } 90700637cbSDimitry Andric module detected_or { header "__type_traits/detected_or.h" } 91700637cbSDimitry Andric module disjunction { header "__type_traits/disjunction.h" } 92700637cbSDimitry Andric module enable_if { header "__type_traits/enable_if.h" } 93700637cbSDimitry Andric module extent { header "__type_traits/extent.h" } 94700637cbSDimitry Andric module has_unique_object_representation { header "__type_traits/has_unique_object_representation.h" } 95700637cbSDimitry Andric module has_virtual_destructor { header "__type_traits/has_virtual_destructor.h" } 96700637cbSDimitry Andric module integer_traits { header "__type_traits/integer_traits.h" } 97700637cbSDimitry Andric module integral_constant { header "__type_traits/integral_constant.h" } 98700637cbSDimitry Andric module invoke { header "__type_traits/invoke.h" } 99700637cbSDimitry Andric module is_abstract { 100700637cbSDimitry Andric header "__type_traits/is_abstract.h" 101700637cbSDimitry Andric export std_core.type_traits.integral_constant 102700637cbSDimitry Andric } 103700637cbSDimitry Andric module is_aggregate { 104700637cbSDimitry Andric header "__type_traits/is_aggregate.h" 105700637cbSDimitry Andric export std_core.type_traits.integral_constant 106700637cbSDimitry Andric } 107700637cbSDimitry Andric module is_allocator { 108700637cbSDimitry Andric header "__type_traits/is_allocator.h" 109700637cbSDimitry Andric export std_core.type_traits.integral_constant 110700637cbSDimitry Andric } 111700637cbSDimitry Andric module is_always_bitcastable { 112700637cbSDimitry Andric header "__type_traits/is_always_bitcastable.h" 113700637cbSDimitry Andric export std_core.type_traits.integral_constant 114700637cbSDimitry Andric } 115700637cbSDimitry Andric module is_arithmetic { 116700637cbSDimitry Andric header "__type_traits/is_arithmetic.h" 117700637cbSDimitry Andric export std_core.type_traits.integral_constant 118700637cbSDimitry Andric } 119700637cbSDimitry Andric module is_array { 120700637cbSDimitry Andric header "__type_traits/is_array.h" 121700637cbSDimitry Andric export std_core.type_traits.integral_constant 122700637cbSDimitry Andric } 123700637cbSDimitry Andric module is_assignable { 124700637cbSDimitry Andric header "__type_traits/is_assignable.h" 125700637cbSDimitry Andric export std_core.type_traits.integral_constant 126700637cbSDimitry Andric } 127700637cbSDimitry Andric module is_base_of { 128700637cbSDimitry Andric header "__type_traits/is_base_of.h" 129700637cbSDimitry Andric export std_core.type_traits.integral_constant 130700637cbSDimitry Andric } 131700637cbSDimitry Andric module is_bounded_array { 132700637cbSDimitry Andric header "__type_traits/is_bounded_array.h" 133700637cbSDimitry Andric export std_core.type_traits.integral_constant 134700637cbSDimitry Andric } 135700637cbSDimitry Andric module is_callable { 136700637cbSDimitry Andric header "__type_traits/is_callable.h" 137700637cbSDimitry Andric export std_core.type_traits.integral_constant 138700637cbSDimitry Andric } 139700637cbSDimitry Andric module is_char_like_type { 140700637cbSDimitry Andric header "__type_traits/is_char_like_type.h" 141700637cbSDimitry Andric export std_core.type_traits.integral_constant 142700637cbSDimitry Andric } 143700637cbSDimitry Andric module is_class { 144700637cbSDimitry Andric header "__type_traits/is_class.h" 145700637cbSDimitry Andric export std_core.type_traits.integral_constant 146700637cbSDimitry Andric } 147700637cbSDimitry Andric module is_compound { 148700637cbSDimitry Andric header "__type_traits/is_compound.h" 149700637cbSDimitry Andric export std_core.type_traits.integral_constant 150700637cbSDimitry Andric } 151700637cbSDimitry Andric module is_const { 152700637cbSDimitry Andric header "__type_traits/is_const.h" 153700637cbSDimitry Andric export std_core.type_traits.integral_constant 154700637cbSDimitry Andric } 155700637cbSDimitry Andric module is_constant_evaluated { 156700637cbSDimitry Andric header "__type_traits/is_constant_evaluated.h" 157700637cbSDimitry Andric export std_core.type_traits.integral_constant 158700637cbSDimitry Andric } 159700637cbSDimitry Andric module is_constructible { 160700637cbSDimitry Andric header "__type_traits/is_constructible.h" 161700637cbSDimitry Andric export std_core.type_traits.integral_constant 162700637cbSDimitry Andric } 163700637cbSDimitry Andric module is_convertible { 164700637cbSDimitry Andric header "__type_traits/is_convertible.h" 165700637cbSDimitry Andric export std_core.type_traits.integral_constant 166700637cbSDimitry Andric } 167700637cbSDimitry Andric module is_core_convertible { 168700637cbSDimitry Andric header "__type_traits/is_core_convertible.h" 169700637cbSDimitry Andric export std_core.type_traits.integral_constant 170700637cbSDimitry Andric } 171700637cbSDimitry Andric module is_destructible { 172700637cbSDimitry Andric header "__type_traits/is_destructible.h" 173700637cbSDimitry Andric export std_core.type_traits.integral_constant 174700637cbSDimitry Andric } 175700637cbSDimitry Andric module is_empty { 176700637cbSDimitry Andric header "__type_traits/is_empty.h" 177700637cbSDimitry Andric export std_core.type_traits.integral_constant 178700637cbSDimitry Andric } 179700637cbSDimitry Andric module is_enum { 180700637cbSDimitry Andric header "__type_traits/is_enum.h" 181700637cbSDimitry Andric export std_core.type_traits.integral_constant 182700637cbSDimitry Andric } 183700637cbSDimitry Andric module is_equality_comparable { 184700637cbSDimitry Andric header "__type_traits/is_equality_comparable.h" 185700637cbSDimitry Andric export std_core.type_traits.integral_constant 186700637cbSDimitry Andric } 187700637cbSDimitry Andric module is_execution_policy { 188700637cbSDimitry Andric header "__type_traits/is_execution_policy.h" 189700637cbSDimitry Andric export std_core.type_traits.integral_constant 190700637cbSDimitry Andric } 191700637cbSDimitry Andric module is_final { 192700637cbSDimitry Andric header "__type_traits/is_final.h" 193700637cbSDimitry Andric export std_core.type_traits.integral_constant 194700637cbSDimitry Andric } 195700637cbSDimitry Andric module is_floating_point { 196700637cbSDimitry Andric header "__type_traits/is_floating_point.h" 197700637cbSDimitry Andric export std_core.type_traits.integral_constant 198700637cbSDimitry Andric } 199700637cbSDimitry Andric module is_function { 200700637cbSDimitry Andric header "__type_traits/is_function.h" 201700637cbSDimitry Andric export std_core.type_traits.integral_constant 202700637cbSDimitry Andric } 203700637cbSDimitry Andric module is_fundamental { 204700637cbSDimitry Andric header "__type_traits/is_fundamental.h" 205700637cbSDimitry Andric export std_core.type_traits.integral_constant 206700637cbSDimitry Andric } 207700637cbSDimitry Andric module is_implicit_lifetime { 208700637cbSDimitry Andric header "__type_traits/is_implicit_lifetime.h" 209700637cbSDimitry Andric export std_core.type_traits.integral_constant 210700637cbSDimitry Andric } 211700637cbSDimitry Andric module is_implicitly_default_constructible { 212700637cbSDimitry Andric header "__type_traits/is_implicitly_default_constructible.h" 213700637cbSDimitry Andric export std_core.type_traits.integral_constant 214700637cbSDimitry Andric } 215700637cbSDimitry Andric module is_integral { 216700637cbSDimitry Andric header "__type_traits/is_integral.h" 217700637cbSDimitry Andric export std_core.type_traits.integral_constant 218700637cbSDimitry Andric } 219700637cbSDimitry Andric module is_literal_type { 220700637cbSDimitry Andric header "__type_traits/is_literal_type.h" 221700637cbSDimitry Andric export std_core.type_traits.integral_constant 222700637cbSDimitry Andric } 223700637cbSDimitry Andric module is_member_pointer { 224700637cbSDimitry Andric header "__type_traits/is_member_pointer.h" 225700637cbSDimitry Andric export std_core.type_traits.integral_constant 226700637cbSDimitry Andric } 227700637cbSDimitry Andric module is_nothrow_assignable { 228700637cbSDimitry Andric header "__type_traits/is_nothrow_assignable.h" 229700637cbSDimitry Andric export std_core.type_traits.integral_constant 230700637cbSDimitry Andric } 231700637cbSDimitry Andric module is_nothrow_constructible { 232700637cbSDimitry Andric header "__type_traits/is_nothrow_constructible.h" 233700637cbSDimitry Andric export std_core.type_traits.integral_constant 234700637cbSDimitry Andric } 235700637cbSDimitry Andric module is_nothrow_destructible { 236700637cbSDimitry Andric header "__type_traits/is_nothrow_destructible.h" 237700637cbSDimitry Andric export std_core.type_traits.integral_constant 238700637cbSDimitry Andric } 239700637cbSDimitry Andric module is_null_pointer { 240700637cbSDimitry Andric header "__type_traits/is_null_pointer.h" 241700637cbSDimitry Andric export std_core.type_traits.integral_constant 242700637cbSDimitry Andric } 243700637cbSDimitry Andric module is_object { 244700637cbSDimitry Andric header "__type_traits/is_object.h" 245700637cbSDimitry Andric export std_core.type_traits.integral_constant 246700637cbSDimitry Andric } 247700637cbSDimitry Andric module is_pod { 248700637cbSDimitry Andric header "__type_traits/is_pod.h" 249700637cbSDimitry Andric export std_core.type_traits.integral_constant 250700637cbSDimitry Andric } 251700637cbSDimitry Andric module is_pointer { 252700637cbSDimitry Andric header "__type_traits/is_pointer.h" 253700637cbSDimitry Andric export std_core.type_traits.integral_constant 254700637cbSDimitry Andric } 255700637cbSDimitry Andric module is_polymorphic { 256700637cbSDimitry Andric header "__type_traits/is_polymorphic.h" 257700637cbSDimitry Andric export std_core.type_traits.integral_constant 258700637cbSDimitry Andric } 259700637cbSDimitry Andric module is_primary_template { 260700637cbSDimitry Andric header "__type_traits/is_primary_template.h" 261700637cbSDimitry Andric export std_core.type_traits.integral_constant 262700637cbSDimitry Andric } 263700637cbSDimitry Andric module is_reference_wrapper { 264700637cbSDimitry Andric header "__type_traits/is_reference_wrapper.h" 265700637cbSDimitry Andric export std_core.type_traits.integral_constant 266700637cbSDimitry Andric } 267700637cbSDimitry Andric module is_reference { 268700637cbSDimitry Andric header "__type_traits/is_reference.h" 269700637cbSDimitry Andric export std_core.type_traits.integral_constant 270700637cbSDimitry Andric } 271700637cbSDimitry Andric module is_referenceable { 272700637cbSDimitry Andric header "__type_traits/is_referenceable.h" 273700637cbSDimitry Andric export std_core.type_traits.integral_constant 274700637cbSDimitry Andric } 275700637cbSDimitry Andric module is_replaceable { 276700637cbSDimitry Andric header "__type_traits/is_replaceable.h" 277700637cbSDimitry Andric export std_core.type_traits.integral_constant 278700637cbSDimitry Andric } 279700637cbSDimitry Andric module is_same { 280700637cbSDimitry Andric header "__type_traits/is_same.h" 281700637cbSDimitry Andric export std_core.type_traits.integral_constant 282700637cbSDimitry Andric } 283700637cbSDimitry Andric module is_scalar { 284700637cbSDimitry Andric header "__type_traits/is_scalar.h" 285700637cbSDimitry Andric export std_core.type_traits.integral_constant 286700637cbSDimitry Andric } 287700637cbSDimitry Andric module is_signed { 288700637cbSDimitry Andric header "__type_traits/is_signed.h" 289700637cbSDimitry Andric export std_core.type_traits.integral_constant 290700637cbSDimitry Andric } 291700637cbSDimitry Andric module is_specialization { 292700637cbSDimitry Andric header "__type_traits/is_specialization.h" 293700637cbSDimitry Andric export std_core.type_traits.integral_constant 294700637cbSDimitry Andric } 295700637cbSDimitry Andric module is_standard_layout { 296700637cbSDimitry Andric header "__type_traits/is_standard_layout.h" 297700637cbSDimitry Andric export std_core.type_traits.integral_constant 298700637cbSDimitry Andric } 299700637cbSDimitry Andric module is_swappable { 300700637cbSDimitry Andric header "__type_traits/is_swappable.h" 301700637cbSDimitry Andric export std_core.type_traits.integral_constant 302700637cbSDimitry Andric } 303700637cbSDimitry Andric module is_trivial { 304700637cbSDimitry Andric header "__type_traits/is_trivial.h" 305700637cbSDimitry Andric export std_core.type_traits.integral_constant 306700637cbSDimitry Andric } 307700637cbSDimitry Andric module is_trivially_assignable { 308700637cbSDimitry Andric header "__type_traits/is_trivially_assignable.h" 309700637cbSDimitry Andric export std_core.type_traits.integral_constant 310700637cbSDimitry Andric } 311700637cbSDimitry Andric module is_trivially_constructible { 312700637cbSDimitry Andric header "__type_traits/is_trivially_constructible.h" 313700637cbSDimitry Andric export std_core.type_traits.integral_constant 314700637cbSDimitry Andric } 315700637cbSDimitry Andric module is_trivially_copyable { 316700637cbSDimitry Andric header "__type_traits/is_trivially_copyable.h" 317700637cbSDimitry Andric export std_core.type_traits.integral_constant 318700637cbSDimitry Andric } 319700637cbSDimitry Andric module is_trivially_destructible { 320700637cbSDimitry Andric header "__type_traits/is_trivially_destructible.h" 321700637cbSDimitry Andric export std_core.type_traits.integral_constant 322700637cbSDimitry Andric } 323700637cbSDimitry Andric module is_trivially_lexicographically_comparable { 324700637cbSDimitry Andric header "__type_traits/is_trivially_lexicographically_comparable.h" 325700637cbSDimitry Andric export std_core.type_traits.integral_constant 326700637cbSDimitry Andric } 327700637cbSDimitry Andric module is_trivially_relocatable { 328700637cbSDimitry Andric header "__type_traits/is_trivially_relocatable.h" 329700637cbSDimitry Andric export std_core.type_traits.integral_constant 330700637cbSDimitry Andric } 331700637cbSDimitry Andric module is_unbounded_array { 332700637cbSDimitry Andric header "__type_traits/is_unbounded_array.h" 333700637cbSDimitry Andric export std_core.type_traits.integral_constant 334700637cbSDimitry Andric } 335700637cbSDimitry Andric module is_union { 336700637cbSDimitry Andric header "__type_traits/is_union.h" 337700637cbSDimitry Andric export std_core.type_traits.integral_constant 338700637cbSDimitry Andric } 339*e64bea71SDimitry Andric module is_unqualified { header "__type_traits/is_unqualified.h" } 340700637cbSDimitry Andric module is_unsigned { 341700637cbSDimitry Andric header "__type_traits/is_unsigned.h" 342700637cbSDimitry Andric export std_core.type_traits.integral_constant 343700637cbSDimitry Andric } 344700637cbSDimitry Andric module is_valid_expansion { 345700637cbSDimitry Andric header "__type_traits/is_valid_expansion.h" 346700637cbSDimitry Andric export std_core.type_traits.integral_constant 347700637cbSDimitry Andric } 348700637cbSDimitry Andric module is_void { 349700637cbSDimitry Andric header "__type_traits/is_void.h" 350700637cbSDimitry Andric export std_core.type_traits.integral_constant 351700637cbSDimitry Andric } 352700637cbSDimitry Andric module is_volatile { 353700637cbSDimitry Andric header "__type_traits/is_volatile.h" 354700637cbSDimitry Andric export std_core.type_traits.integral_constant 355700637cbSDimitry Andric } 356700637cbSDimitry Andric module lazy { header "__type_traits/lazy.h" } 357700637cbSDimitry Andric module make_32_64_or_128_bit { header "__type_traits/make_32_64_or_128_bit.h" } 358700637cbSDimitry Andric module make_const_lvalue_ref { header "__type_traits/make_const_lvalue_ref.h" } 359700637cbSDimitry Andric module make_signed { header "__type_traits/make_signed.h" } 360700637cbSDimitry Andric module make_unsigned { header "__type_traits/make_unsigned.h" } 361700637cbSDimitry Andric module maybe_const { header "__type_traits/maybe_const.h" } 362700637cbSDimitry Andric module nat { header "__type_traits/nat.h" } 363700637cbSDimitry Andric module negation { header "__type_traits/negation.h" } 364700637cbSDimitry Andric module promote { header "__type_traits/promote.h" } 365700637cbSDimitry Andric module rank { header "__type_traits/rank.h" } 366700637cbSDimitry Andric module reference_constructs_from_temporary { 367700637cbSDimitry Andric header "__type_traits/reference_constructs_from_temporary.h" 368700637cbSDimitry Andric export std_core.type_traits.integral_constant 369700637cbSDimitry Andric } 370700637cbSDimitry Andric module reference_converts_from_temporary { 371700637cbSDimitry Andric header "__type_traits/reference_converts_from_temporary.h" 372700637cbSDimitry Andric export std_core.type_traits.integral_constant 373700637cbSDimitry Andric } 374700637cbSDimitry Andric module remove_all_extents { header "__type_traits/remove_all_extents.h" } 375700637cbSDimitry Andric module remove_const_ref { header "__type_traits/remove_const_ref.h" } 376700637cbSDimitry Andric module remove_const { header "__type_traits/remove_const.h" } 377700637cbSDimitry Andric module remove_cv { header "__type_traits/remove_cv.h" } 378700637cbSDimitry Andric module remove_cvref { header "__type_traits/remove_cvref.h" } 379700637cbSDimitry Andric module remove_extent { header "__type_traits/remove_extent.h" } 380700637cbSDimitry Andric module remove_pointer { header "__type_traits/remove_pointer.h" } 381700637cbSDimitry Andric module remove_reference { header "__type_traits/remove_reference.h" } 382700637cbSDimitry Andric module remove_volatile { header "__type_traits/remove_volatile.h" } 383700637cbSDimitry Andric module result_of { header "__type_traits/result_of.h" } 384700637cbSDimitry Andric module strip_signature { header "__type_traits/strip_signature.h" } 385700637cbSDimitry Andric module type_identity { header "__type_traits/type_identity.h" } 386700637cbSDimitry Andric module type_list { header "__type_traits/type_list.h" } 387700637cbSDimitry Andric module underlying_type { header "__type_traits/underlying_type.h" } 388700637cbSDimitry Andric module unwrap_ref { header "__type_traits/unwrap_ref.h" } 389700637cbSDimitry Andric module void_t { header "__type_traits/void_t.h" } 390700637cbSDimitry Andric 391700637cbSDimitry Andric header "type_traits" 392700637cbSDimitry Andric export * 393700637cbSDimitry Andric } // module type_traits 394700637cbSDimitry Andric 395700637cbSDimitry Andric // Only the truly dependency-free parts of __utility are here 396700637cbSDimitry Andric module utility_core { 397700637cbSDimitry Andric module declval { header "__utility/declval.h" } 398700637cbSDimitry Andric module empty { header "__utility/empty.h" } 399700637cbSDimitry Andric module forward { header "__utility/forward.h" } 400700637cbSDimitry Andric } 401700637cbSDimitry Andric} // module std_core 402700637cbSDimitry Andric 403700637cbSDimitry Andricmodule std [system] { 404700637cbSDimitry Andric module algorithm { 405700637cbSDimitry Andric module adjacent_find { header "__algorithm/adjacent_find.h" } 406700637cbSDimitry Andric module all_of { header "__algorithm/all_of.h" } 407700637cbSDimitry Andric module any_of { header "__algorithm/any_of.h" } 408700637cbSDimitry Andric module binary_search { header "__algorithm/binary_search.h" } 409700637cbSDimitry Andric module clamp { header "__algorithm/clamp.h" } 410700637cbSDimitry Andric module comp_ref_type { header "__algorithm/comp_ref_type.h" } 411700637cbSDimitry Andric module comp { header "__algorithm/comp.h" } 412700637cbSDimitry Andric module copy_backward { header "__algorithm/copy_backward.h" } 413700637cbSDimitry Andric module copy_if { header "__algorithm/copy_if.h" } 414700637cbSDimitry Andric module copy_move_common { header "__algorithm/copy_move_common.h" } 415700637cbSDimitry Andric module copy_n { 416700637cbSDimitry Andric header "__algorithm/copy_n.h" 417700637cbSDimitry Andric export std.iterator_traits 418700637cbSDimitry Andric } 419700637cbSDimitry Andric module copy { header "__algorithm/copy.h" } 420700637cbSDimitry Andric module count_if { header "__algorithm/count_if.h" } 421700637cbSDimitry Andric module count { header "__algorithm/count.h" } 422700637cbSDimitry Andric module equal_range { header "__algorithm/equal_range.h" } 423700637cbSDimitry Andric module equal { header "__algorithm/equal.h" } 424700637cbSDimitry Andric module fill_n { header "__algorithm/fill_n.h" } 425700637cbSDimitry Andric module fill { header "__algorithm/fill.h" } 426700637cbSDimitry Andric module find_end { header "__algorithm/find_end.h" } 427700637cbSDimitry Andric module find_first_of { header "__algorithm/find_first_of.h" } 428700637cbSDimitry Andric module find_if_not { header "__algorithm/find_if_not.h" } 429700637cbSDimitry Andric module find_if { header "__algorithm/find_if.h" } 430700637cbSDimitry Andric module find_segment_if { header "__algorithm/find_segment_if.h" } 431700637cbSDimitry Andric module find { header "__algorithm/find.h" } 432700637cbSDimitry Andric module for_each_n { header "__algorithm/for_each_n.h" } 433700637cbSDimitry Andric module for_each_n_segment { header "__algorithm/for_each_n_segment.h" } 434700637cbSDimitry Andric module for_each_segment { header "__algorithm/for_each_segment.h" } 435700637cbSDimitry Andric module for_each { header "__algorithm/for_each.h" } 436700637cbSDimitry Andric module generate_n { header "__algorithm/generate_n.h" } 437700637cbSDimitry Andric module generate { header "__algorithm/generate.h" } 438700637cbSDimitry Andric module half_positive { header "__algorithm/half_positive.h" } 439700637cbSDimitry Andric module in_found_result { header "__algorithm/in_found_result.h" } 440700637cbSDimitry Andric module in_fun_result { header "__algorithm/in_fun_result.h" } 441700637cbSDimitry Andric module in_in_out_result { header "__algorithm/in_in_out_result.h" } 442700637cbSDimitry Andric module in_in_result { header "__algorithm/in_in_result.h" } 443700637cbSDimitry Andric module in_out_out_result { header "__algorithm/in_out_out_result.h" } 444700637cbSDimitry Andric module in_out_result { header "__algorithm/in_out_result.h" } 445700637cbSDimitry Andric module includes { header "__algorithm/includes.h" } 446700637cbSDimitry Andric module inplace_merge { header "__algorithm/inplace_merge.h" } 447700637cbSDimitry Andric module is_heap_until { header "__algorithm/is_heap_until.h" } 448700637cbSDimitry Andric module is_heap { header "__algorithm/is_heap.h" } 449700637cbSDimitry Andric module is_partitioned { header "__algorithm/is_partitioned.h" } 450700637cbSDimitry Andric module is_permutation { header "__algorithm/is_permutation.h" } 451700637cbSDimitry Andric module is_sorted_until { header "__algorithm/is_sorted_until.h" } 452700637cbSDimitry Andric module is_sorted { header "__algorithm/is_sorted.h" } 453700637cbSDimitry Andric module iter_swap { header "__algorithm/iter_swap.h" } 454700637cbSDimitry Andric module iterator_operations { 455700637cbSDimitry Andric header "__algorithm/iterator_operations.h" 456700637cbSDimitry Andric export std.iterator.advance 457700637cbSDimitry Andric export std.iterator.distance 458700637cbSDimitry Andric export std.iterator.iter_move 459700637cbSDimitry Andric export std.iterator.iter_swap 460700637cbSDimitry Andric export std.iterator.next 461700637cbSDimitry Andric export std.iterator.prev 462700637cbSDimitry Andric } 463700637cbSDimitry Andric module lexicographical_compare_three_way { header "__algorithm/lexicographical_compare_three_way.h" } 464700637cbSDimitry Andric module lexicographical_compare { header "__algorithm/lexicographical_compare.h" } 465700637cbSDimitry Andric module lower_bound { header "__algorithm/lower_bound.h" } 466700637cbSDimitry Andric module make_heap { header "__algorithm/make_heap.h" } 467700637cbSDimitry Andric module make_projected { header "__algorithm/make_projected.h" } 468700637cbSDimitry Andric module max_element { header "__algorithm/max_element.h" } 469700637cbSDimitry Andric module max { header "__algorithm/max.h" } 470700637cbSDimitry Andric module merge { header "__algorithm/merge.h" } 471700637cbSDimitry Andric module min_element { header "__algorithm/min_element.h" } 472700637cbSDimitry Andric module min_max_result { header "__algorithm/min_max_result.h" } 473700637cbSDimitry Andric module min { header "__algorithm/min.h" } 474700637cbSDimitry Andric module minmax_element { header "__algorithm/minmax_element.h" } 475700637cbSDimitry Andric module minmax { 476700637cbSDimitry Andric header "__algorithm/minmax.h" 477700637cbSDimitry Andric export std.utility.pair // return type 478700637cbSDimitry Andric } 479700637cbSDimitry Andric module mismatch { 480700637cbSDimitry Andric header "__algorithm/mismatch.h" 481700637cbSDimitry Andric export std.utility.pair // return type 482700637cbSDimitry Andric } 483700637cbSDimitry Andric module move_backward { header "__algorithm/move_backward.h" } 484700637cbSDimitry Andric module move { header "__algorithm/move.h" } 485700637cbSDimitry Andric module next_permutation { header "__algorithm/next_permutation.h" } 486700637cbSDimitry Andric module none_of { header "__algorithm/none_of.h" } 487700637cbSDimitry Andric module nth_element { header "__algorithm/nth_element.h" } 488700637cbSDimitry Andric module out_value_result { header "__algorithm/out_value_result.h" } 489700637cbSDimitry Andric module partial_sort_copy { header "__algorithm/partial_sort_copy.h" } 490700637cbSDimitry Andric module partial_sort { header "__algorithm/partial_sort.h" } 491700637cbSDimitry Andric module partition_copy { header "__algorithm/partition_copy.h" } 492700637cbSDimitry Andric module partition_point { header "__algorithm/partition_point.h" } 493700637cbSDimitry Andric module partition { header "__algorithm/partition.h" } 494700637cbSDimitry Andric module pop_heap { header "__algorithm/pop_heap.h" } 495700637cbSDimitry Andric module prev_permutation { header "__algorithm/prev_permutation.h" } 496700637cbSDimitry Andric module pstl { header "__algorithm/pstl.h" } 497700637cbSDimitry Andric module push_heap { header "__algorithm/push_heap.h" } 498700637cbSDimitry Andric module radix_sort { header "__algorithm/radix_sort.h" } 499700637cbSDimitry Andric module ranges_adjacent_find { header "__algorithm/ranges_adjacent_find.h" } 500700637cbSDimitry Andric module ranges_all_of { header "__algorithm/ranges_all_of.h" } 501700637cbSDimitry Andric module ranges_any_of { header "__algorithm/ranges_any_of.h" } 502700637cbSDimitry Andric module ranges_binary_search { 503700637cbSDimitry Andric header "__algorithm/ranges_binary_search.h" 504700637cbSDimitry Andric export std.functional.ranges_operations 505700637cbSDimitry Andric } 506700637cbSDimitry Andric module ranges_clamp { 507700637cbSDimitry Andric header "__algorithm/ranges_clamp.h" 508700637cbSDimitry Andric export std.functional.ranges_operations 509700637cbSDimitry Andric } 510700637cbSDimitry Andric module ranges_contains_subrange { 511700637cbSDimitry Andric header "__algorithm/ranges_contains_subrange.h" 512700637cbSDimitry Andric } 513700637cbSDimitry Andric module ranges_contains { 514700637cbSDimitry Andric header "__algorithm/ranges_contains.h" 515700637cbSDimitry Andric } 516700637cbSDimitry Andric module ranges_copy_backward { 517700637cbSDimitry Andric header "__algorithm/ranges_copy_backward.h" 518700637cbSDimitry Andric export std.algorithm.in_out_result 519700637cbSDimitry Andric } 520700637cbSDimitry Andric module ranges_copy_if { 521700637cbSDimitry Andric header "__algorithm/ranges_copy_if.h" 522700637cbSDimitry Andric export std.algorithm.in_out_result 523700637cbSDimitry Andric } 524700637cbSDimitry Andric module ranges_copy_n { 525700637cbSDimitry Andric header "__algorithm/ranges_copy_n.h" 526700637cbSDimitry Andric export std.algorithm.in_out_result 527700637cbSDimitry Andric } 528700637cbSDimitry Andric module ranges_copy { 529700637cbSDimitry Andric header "__algorithm/ranges_copy.h" 530700637cbSDimitry Andric export std.algorithm.in_out_result 531700637cbSDimitry Andric } 532700637cbSDimitry Andric module ranges_count_if { header "__algorithm/ranges_count_if.h" } 533700637cbSDimitry Andric module ranges_count { header "__algorithm/ranges_count.h" } 534700637cbSDimitry Andric module ranges_ends_with { header "__algorithm/ranges_ends_with.h" } 535700637cbSDimitry Andric module ranges_equal_range { 536700637cbSDimitry Andric header "__algorithm/ranges_equal_range.h" 537700637cbSDimitry Andric export std.functional.ranges_operations 538700637cbSDimitry Andric } 539700637cbSDimitry Andric module ranges_equal { 540700637cbSDimitry Andric header "__algorithm/ranges_equal.h" 541700637cbSDimitry Andric export std.functional.identity 542700637cbSDimitry Andric } 543700637cbSDimitry Andric module ranges_fill_n { header "__algorithm/ranges_fill_n.h" } 544700637cbSDimitry Andric module ranges_fill { header "__algorithm/ranges_fill.h" } 545700637cbSDimitry Andric module ranges_find_end { 546700637cbSDimitry Andric header "__algorithm/ranges_find_end.h" 547700637cbSDimitry Andric export std.ranges.subrange // return type 548700637cbSDimitry Andric } 549700637cbSDimitry Andric module ranges_find_first_of { header "__algorithm/ranges_find_first_of.h" } 550700637cbSDimitry Andric module ranges_find_if_not { header "__algorithm/ranges_find_if_not.h" } 551700637cbSDimitry Andric module ranges_find_if { header "__algorithm/ranges_find_if.h" } 552700637cbSDimitry Andric module ranges_find_last { 553700637cbSDimitry Andric header "__algorithm/ranges_find_last.h" 554700637cbSDimitry Andric export std.ranges.subrange // return type 555700637cbSDimitry Andric } 556700637cbSDimitry Andric module ranges_find { header "__algorithm/ranges_find.h" } 557700637cbSDimitry Andric module ranges_fold { header "__algorithm/ranges_fold.h" } 558700637cbSDimitry Andric module ranges_for_each_n { 559700637cbSDimitry Andric header "__algorithm/ranges_for_each_n.h" 560700637cbSDimitry Andric export std.algorithm.in_fun_result 561700637cbSDimitry Andric } 562700637cbSDimitry Andric module ranges_for_each { 563700637cbSDimitry Andric header "__algorithm/ranges_for_each.h" 564700637cbSDimitry Andric export std.algorithm.in_fun_result 565700637cbSDimitry Andric } 566700637cbSDimitry Andric module ranges_generate_n { 567700637cbSDimitry Andric header "__algorithm/ranges_generate_n.h" 568700637cbSDimitry Andric } 569700637cbSDimitry Andric module ranges_generate { 570700637cbSDimitry Andric header "__algorithm/ranges_generate.h" 571700637cbSDimitry Andric } 572700637cbSDimitry Andric module ranges_includes { 573700637cbSDimitry Andric header "__algorithm/ranges_includes.h" 574700637cbSDimitry Andric export std.functional.ranges_operations 575700637cbSDimitry Andric } 576700637cbSDimitry Andric module ranges_inplace_merge { 577700637cbSDimitry Andric header "__algorithm/ranges_inplace_merge.h" 578700637cbSDimitry Andric export std.functional.ranges_operations 579700637cbSDimitry Andric } 580700637cbSDimitry Andric module ranges_is_heap_until { 581700637cbSDimitry Andric header "__algorithm/ranges_is_heap_until.h" 582700637cbSDimitry Andric export std.functional.ranges_operations 583700637cbSDimitry Andric } 584700637cbSDimitry Andric module ranges_is_heap { 585700637cbSDimitry Andric header "__algorithm/ranges_is_heap.h" 586700637cbSDimitry Andric export std.functional.ranges_operations 587700637cbSDimitry Andric } 588700637cbSDimitry Andric module ranges_is_partitioned { 589700637cbSDimitry Andric header "__algorithm/ranges_is_partitioned.h" 590700637cbSDimitry Andric } 591700637cbSDimitry Andric module ranges_is_permutation { 592700637cbSDimitry Andric header "__algorithm/ranges_is_permutation.h" 593700637cbSDimitry Andric } 594700637cbSDimitry Andric module ranges_is_sorted_until { 595700637cbSDimitry Andric header "__algorithm/ranges_is_sorted_until.h" 596700637cbSDimitry Andric export std.functional.ranges_operations 597700637cbSDimitry Andric } 598700637cbSDimitry Andric module ranges_is_sorted { 599700637cbSDimitry Andric header "__algorithm/ranges_is_sorted.h" 600700637cbSDimitry Andric export std.functional.ranges_operations 601700637cbSDimitry Andric } 602700637cbSDimitry Andric module ranges_iterator_concept { 603700637cbSDimitry Andric header "__algorithm/ranges_iterator_concept.h" 604700637cbSDimitry Andric } 605700637cbSDimitry Andric module ranges_lexicographical_compare { 606700637cbSDimitry Andric header "__algorithm/ranges_lexicographical_compare.h" 607700637cbSDimitry Andric export std.functional.ranges_operations 608700637cbSDimitry Andric } 609700637cbSDimitry Andric module ranges_lower_bound { 610700637cbSDimitry Andric header "__algorithm/ranges_lower_bound.h" 611700637cbSDimitry Andric export std.functional.ranges_operations 612700637cbSDimitry Andric } 613700637cbSDimitry Andric module ranges_make_heap { 614700637cbSDimitry Andric header "__algorithm/ranges_make_heap.h" 615700637cbSDimitry Andric export std.functional.ranges_operations 616700637cbSDimitry Andric } 617700637cbSDimitry Andric module ranges_max_element { 618700637cbSDimitry Andric header "__algorithm/ranges_max_element.h" 619700637cbSDimitry Andric export std.functional.ranges_operations 620700637cbSDimitry Andric } 621700637cbSDimitry Andric module ranges_max { 622700637cbSDimitry Andric header "__algorithm/ranges_max.h" 623700637cbSDimitry Andric export std.functional.ranges_operations 624700637cbSDimitry Andric } 625700637cbSDimitry Andric module ranges_merge { 626700637cbSDimitry Andric header "__algorithm/ranges_merge.h" 627700637cbSDimitry Andric export std.functional.ranges_operations 628700637cbSDimitry Andric export std.algorithm.in_in_out_result 629700637cbSDimitry Andric } 630700637cbSDimitry Andric module ranges_min_element { 631700637cbSDimitry Andric header "__algorithm/ranges_min_element.h" 632700637cbSDimitry Andric export std.functional.ranges_operations 633700637cbSDimitry Andric } 634700637cbSDimitry Andric module ranges_min { 635700637cbSDimitry Andric header "__algorithm/ranges_min.h" 636700637cbSDimitry Andric export std.functional.ranges_operations 637700637cbSDimitry Andric } 638700637cbSDimitry Andric module ranges_minmax_element { 639700637cbSDimitry Andric header "__algorithm/ranges_minmax_element.h" 640700637cbSDimitry Andric export std.functional.ranges_operations 641700637cbSDimitry Andric export std.algorithm.min_max_result 642700637cbSDimitry Andric } 643700637cbSDimitry Andric module ranges_minmax { 644700637cbSDimitry Andric header "__algorithm/ranges_minmax.h" 645700637cbSDimitry Andric export std.functional.ranges_operations 646700637cbSDimitry Andric export std.algorithm.min_max_result 647700637cbSDimitry Andric } 648700637cbSDimitry Andric module ranges_mismatch { 649700637cbSDimitry Andric header "__algorithm/ranges_mismatch.h" 650700637cbSDimitry Andric export std.algorithm.in_in_result 651700637cbSDimitry Andric } 652700637cbSDimitry Andric module ranges_move_backward { 653700637cbSDimitry Andric header "__algorithm/ranges_move_backward.h" 654700637cbSDimitry Andric export std.algorithm.in_out_result 655700637cbSDimitry Andric } 656700637cbSDimitry Andric module ranges_move { 657700637cbSDimitry Andric header "__algorithm/ranges_move.h" 658700637cbSDimitry Andric export std.algorithm.in_out_result 659700637cbSDimitry Andric } 660700637cbSDimitry Andric module ranges_next_permutation { 661700637cbSDimitry Andric header "__algorithm/ranges_next_permutation.h" 662700637cbSDimitry Andric export std.functional.ranges_operations 663700637cbSDimitry Andric export std.algorithm.in_found_result 664700637cbSDimitry Andric } 665700637cbSDimitry Andric module ranges_none_of { 666700637cbSDimitry Andric header "__algorithm/ranges_none_of.h" 667700637cbSDimitry Andric } 668700637cbSDimitry Andric module ranges_nth_element { 669700637cbSDimitry Andric header "__algorithm/ranges_nth_element.h" 670700637cbSDimitry Andric export std.functional.ranges_operations 671700637cbSDimitry Andric } 672700637cbSDimitry Andric module ranges_partial_sort_copy { 673700637cbSDimitry Andric header "__algorithm/ranges_partial_sort_copy.h" 674700637cbSDimitry Andric export std.functional.ranges_operations 675700637cbSDimitry Andric } 676700637cbSDimitry Andric module ranges_partial_sort { 677700637cbSDimitry Andric header "__algorithm/ranges_partial_sort.h" 678700637cbSDimitry Andric export std.functional.ranges_operations 679700637cbSDimitry Andric } 680700637cbSDimitry Andric module ranges_partition_copy { 681700637cbSDimitry Andric header "__algorithm/ranges_partition_copy.h" 682700637cbSDimitry Andric export std.algorithm.in_out_out_result 683700637cbSDimitry Andric } 684700637cbSDimitry Andric module ranges_partition_point { 685700637cbSDimitry Andric header "__algorithm/ranges_partition_point.h" 686700637cbSDimitry Andric } 687700637cbSDimitry Andric module ranges_partition { 688700637cbSDimitry Andric header "__algorithm/ranges_partition.h" 689700637cbSDimitry Andric export std.ranges.subrange // return type 690700637cbSDimitry Andric } 691700637cbSDimitry Andric module ranges_pop_heap { 692700637cbSDimitry Andric header "__algorithm/ranges_pop_heap.h" 693700637cbSDimitry Andric export std.functional.ranges_operations 694700637cbSDimitry Andric } 695700637cbSDimitry Andric module ranges_prev_permutation { 696700637cbSDimitry Andric header "__algorithm/ranges_prev_permutation.h" 697700637cbSDimitry Andric export std.functional.ranges_operations 698700637cbSDimitry Andric export std.algorithm.in_found_result 699700637cbSDimitry Andric } 700700637cbSDimitry Andric module ranges_push_heap { 701700637cbSDimitry Andric header "__algorithm/ranges_push_heap.h" 702700637cbSDimitry Andric export std.functional.ranges_operations 703700637cbSDimitry Andric } 704700637cbSDimitry Andric module ranges_remove_copy_if { 705700637cbSDimitry Andric header "__algorithm/ranges_remove_copy_if.h" 706700637cbSDimitry Andric export std.algorithm.in_out_result 707700637cbSDimitry Andric } 708700637cbSDimitry Andric module ranges_remove_copy { 709700637cbSDimitry Andric header "__algorithm/ranges_remove_copy.h" 710700637cbSDimitry Andric export std.algorithm.in_out_result 711700637cbSDimitry Andric } 712700637cbSDimitry Andric module ranges_remove_if { 713700637cbSDimitry Andric header "__algorithm/ranges_remove_if.h" 714700637cbSDimitry Andric } 715700637cbSDimitry Andric module ranges_remove { 716700637cbSDimitry Andric header "__algorithm/ranges_remove.h" 717700637cbSDimitry Andric export std.ranges.subrange // return type 718700637cbSDimitry Andric } 719700637cbSDimitry Andric module ranges_replace_copy_if { 720700637cbSDimitry Andric header "__algorithm/ranges_replace_copy_if.h" 721700637cbSDimitry Andric export std.algorithm.in_out_result 722700637cbSDimitry Andric } 723700637cbSDimitry Andric module ranges_replace_copy { 724700637cbSDimitry Andric header "__algorithm/ranges_replace_copy.h" 725700637cbSDimitry Andric export std.algorithm.in_out_result 726700637cbSDimitry Andric } 727700637cbSDimitry Andric module ranges_replace_if { 728700637cbSDimitry Andric header "__algorithm/ranges_replace_if.h" 729700637cbSDimitry Andric } 730700637cbSDimitry Andric module ranges_replace { 731700637cbSDimitry Andric header "__algorithm/ranges_replace.h" 732700637cbSDimitry Andric } 733700637cbSDimitry Andric module ranges_reverse_copy { 734700637cbSDimitry Andric header "__algorithm/ranges_reverse_copy.h" 735700637cbSDimitry Andric export std.algorithm.in_out_result 736700637cbSDimitry Andric } 737700637cbSDimitry Andric module ranges_reverse { 738700637cbSDimitry Andric header "__algorithm/ranges_reverse.h" 739700637cbSDimitry Andric } 740700637cbSDimitry Andric module ranges_rotate_copy { 741700637cbSDimitry Andric header "__algorithm/ranges_rotate_copy.h" 742700637cbSDimitry Andric export std.ranges.subrange // return type 743700637cbSDimitry Andric } 744700637cbSDimitry Andric module ranges_rotate { header "__algorithm/ranges_rotate.h" } 745700637cbSDimitry Andric module ranges_sample { header "__algorithm/ranges_sample.h" } 746700637cbSDimitry Andric module ranges_search_n { 747700637cbSDimitry Andric header "__algorithm/ranges_search_n.h" 748700637cbSDimitry Andric export std.ranges.subrange // return type 749700637cbSDimitry Andric } 750700637cbSDimitry Andric module ranges_search { 751700637cbSDimitry Andric header "__algorithm/ranges_search.h" 752700637cbSDimitry Andric export std.ranges.subrange // return type 753700637cbSDimitry Andric } 754700637cbSDimitry Andric module ranges_set_difference { 755700637cbSDimitry Andric header "__algorithm/ranges_set_difference.h" 756700637cbSDimitry Andric export std.functional.ranges_operations 757700637cbSDimitry Andric export std.algorithm.in_out_result 758700637cbSDimitry Andric } 759700637cbSDimitry Andric module ranges_set_intersection { 760700637cbSDimitry Andric header "__algorithm/ranges_set_intersection.h" 761700637cbSDimitry Andric export std.functional.ranges_operations 762700637cbSDimitry Andric export std.algorithm.in_in_out_result 763700637cbSDimitry Andric } 764700637cbSDimitry Andric module ranges_set_symmetric_difference { 765700637cbSDimitry Andric header "__algorithm/ranges_set_symmetric_difference.h" 766700637cbSDimitry Andric export std.functional.ranges_operations 767700637cbSDimitry Andric export std.algorithm.in_in_out_result 768700637cbSDimitry Andric } 769700637cbSDimitry Andric module ranges_set_union { 770700637cbSDimitry Andric header "__algorithm/ranges_set_union.h" 771700637cbSDimitry Andric export std.functional.ranges_operations 772700637cbSDimitry Andric export std.algorithm.in_in_out_result 773700637cbSDimitry Andric } 774700637cbSDimitry Andric module ranges_shuffle { 775700637cbSDimitry Andric header "__algorithm/ranges_shuffle.h" 776700637cbSDimitry Andric } 777700637cbSDimitry Andric module ranges_sort_heap { 778700637cbSDimitry Andric header "__algorithm/ranges_sort_heap.h" 779700637cbSDimitry Andric export std.functional.ranges_operations 780700637cbSDimitry Andric } 781700637cbSDimitry Andric module ranges_sort { 782700637cbSDimitry Andric header "__algorithm/ranges_sort.h" 783700637cbSDimitry Andric export std.functional.ranges_operations 784700637cbSDimitry Andric export std.algorithm.sort 785700637cbSDimitry Andric export std.algorithm.make_projected 786700637cbSDimitry Andric } 787700637cbSDimitry Andric module ranges_stable_partition { 788700637cbSDimitry Andric header "__algorithm/ranges_stable_partition.h" 789700637cbSDimitry Andric export std.ranges.subrange // return type 790700637cbSDimitry Andric } 791700637cbSDimitry Andric module ranges_stable_sort { 792700637cbSDimitry Andric header "__algorithm/ranges_stable_sort.h" 793700637cbSDimitry Andric export std.functional.ranges_operations 794700637cbSDimitry Andric } 795700637cbSDimitry Andric module ranges_starts_with { 796700637cbSDimitry Andric header "__algorithm/ranges_starts_with.h" 797700637cbSDimitry Andric } 798700637cbSDimitry Andric module ranges_swap_ranges { 799700637cbSDimitry Andric header "__algorithm/ranges_swap_ranges.h" 800700637cbSDimitry Andric export std.algorithm.in_in_result 801700637cbSDimitry Andric } 802700637cbSDimitry Andric module ranges_transform { 803700637cbSDimitry Andric header "__algorithm/ranges_transform.h" 804700637cbSDimitry Andric export std.algorithm.in_out_result 805700637cbSDimitry Andric export std.algorithm.in_in_out_result 806700637cbSDimitry Andric } 807700637cbSDimitry Andric module ranges_unique_copy { 808700637cbSDimitry Andric header "__algorithm/ranges_unique_copy.h" 809700637cbSDimitry Andric } 810700637cbSDimitry Andric module ranges_unique { 811700637cbSDimitry Andric header "__algorithm/ranges_unique.h" 812700637cbSDimitry Andric } 813700637cbSDimitry Andric module ranges_upper_bound { 814700637cbSDimitry Andric header "__algorithm/ranges_upper_bound.h" 815700637cbSDimitry Andric export std.functional.ranges_operations 816700637cbSDimitry Andric } 817700637cbSDimitry Andric module remove_copy_if { header "__algorithm/remove_copy_if.h" } 818700637cbSDimitry Andric module remove_copy { header "__algorithm/remove_copy.h" } 819700637cbSDimitry Andric module remove_if { header "__algorithm/remove_if.h" } 820700637cbSDimitry Andric module remove { header "__algorithm/remove.h" } 821700637cbSDimitry Andric module replace_copy_if { header "__algorithm/replace_copy_if.h" } 822700637cbSDimitry Andric module replace_copy { header "__algorithm/replace_copy.h" } 823700637cbSDimitry Andric module replace_if { header "__algorithm/replace_if.h" } 824700637cbSDimitry Andric module replace { header "__algorithm/replace.h" } 825700637cbSDimitry Andric module reverse_copy { header "__algorithm/reverse_copy.h" } 826700637cbSDimitry Andric module reverse { header "__algorithm/reverse.h" } 827700637cbSDimitry Andric module rotate_copy { header "__algorithm/rotate_copy.h" } 828700637cbSDimitry Andric module rotate { header "__algorithm/rotate.h" } 829700637cbSDimitry Andric module sample { header "__algorithm/sample.h" } 830700637cbSDimitry Andric module search_n { header "__algorithm/search_n.h" } 831700637cbSDimitry Andric module search { header "__algorithm/search.h" } 832700637cbSDimitry Andric module set_difference { header "__algorithm/set_difference.h" } 833700637cbSDimitry Andric module set_intersection { header "__algorithm/set_intersection.h" } 834700637cbSDimitry Andric module set_symmetric_difference { header "__algorithm/set_symmetric_difference.h" } 835700637cbSDimitry Andric module set_union { header "__algorithm/set_union.h" } 836700637cbSDimitry Andric module shift_left { header "__algorithm/shift_left.h" } 837700637cbSDimitry Andric module shift_right { header "__algorithm/shift_right.h" } 838700637cbSDimitry Andric module shuffle { header "__algorithm/shuffle.h" } 839700637cbSDimitry Andric module sift_down { header "__algorithm/sift_down.h" } 840700637cbSDimitry Andric module simd_utils { header "__algorithm/simd_utils.h" } 841700637cbSDimitry Andric module sort_heap { header "__algorithm/sort_heap.h" } 842700637cbSDimitry Andric module sort { header "__algorithm/sort.h" } 843700637cbSDimitry Andric module stable_partition { header "__algorithm/stable_partition.h" } 844700637cbSDimitry Andric module stable_sort { 845700637cbSDimitry Andric header "__algorithm/stable_sort.h" 846700637cbSDimitry Andric export std.memory.unique_temporary_buffer // TODO: Workaround for https://github.com/llvm/llvm-project/issues/120108 847700637cbSDimitry Andric } 848700637cbSDimitry Andric module swap_ranges { header "__algorithm/swap_ranges.h" } 849700637cbSDimitry Andric module three_way_comp_ref_type { header "__algorithm/three_way_comp_ref_type.h" } 850700637cbSDimitry Andric module transform { header "__algorithm/transform.h" } 851700637cbSDimitry Andric module uniform_random_bit_generator_adaptor { header "__algorithm/uniform_random_bit_generator_adaptor.h" } 852700637cbSDimitry Andric module unique_copy { header "__algorithm/unique_copy.h" } 853700637cbSDimitry Andric module unique { header "__algorithm/unique.h" } 854700637cbSDimitry Andric module unwrap_iter { header "__algorithm/unwrap_iter.h" } 855700637cbSDimitry Andric module unwrap_range { header "__algorithm/unwrap_range.h" } 856700637cbSDimitry Andric module upper_bound { header "__algorithm/upper_bound.h" } 857700637cbSDimitry Andric 858700637cbSDimitry Andric header "algorithm" 859700637cbSDimitry Andric export * 860700637cbSDimitry Andric } // module algorithm 861700637cbSDimitry Andric 862700637cbSDimitry Andric module any { 863700637cbSDimitry Andric header "any" 864700637cbSDimitry Andric export * 865700637cbSDimitry Andric } 866700637cbSDimitry Andric 867700637cbSDimitry Andric module array { 868700637cbSDimitry Andric module fwd { header "__fwd/array.h" } 869700637cbSDimitry Andric 870700637cbSDimitry Andric header "array" 871700637cbSDimitry Andric export * 872700637cbSDimitry Andric export std.iterator.reverse_iterator 873700637cbSDimitry Andric } 874700637cbSDimitry Andric 875700637cbSDimitry Andric module atomic { 876700637cbSDimitry Andric module aliases { header "__atomic/aliases.h" } 877700637cbSDimitry Andric module atomic_flag { header "__atomic/atomic_flag.h" } 878700637cbSDimitry Andric module atomic_init { header "__atomic/atomic_init.h" } 879700637cbSDimitry Andric module atomic_lock_free { header "__atomic/atomic_lock_free.h" } 880700637cbSDimitry Andric module atomic_ref { header "__atomic/atomic_ref.h" } 881700637cbSDimitry Andric module atomic_sync { header "__atomic/atomic_sync.h" } 882700637cbSDimitry Andric module atomic { 883700637cbSDimitry Andric header "__atomic/atomic.h" 884700637cbSDimitry Andric export std.atomic.atomic_base // most of std::atomic methods are defined there 885700637cbSDimitry Andric } 886700637cbSDimitry Andric module check_memory_order { header "__atomic/check_memory_order.h" } 887700637cbSDimitry Andric module contention_t { header "__atomic/contention_t.h" } 888700637cbSDimitry Andric module fence { header "__atomic/fence.h" } 889700637cbSDimitry Andric module is_always_lock_free { header "__atomic/is_always_lock_free.h" } 890700637cbSDimitry Andric module kill_dependency { header "__atomic/kill_dependency.h" } 891700637cbSDimitry Andric module memory_order { header "__atomic/memory_order.h" } 892700637cbSDimitry Andric module to_gcc_order { header "__atomic/to_gcc_order.h" } 893700637cbSDimitry Andric 894700637cbSDimitry Andric module support { 895700637cbSDimitry Andric header "__atomic/support.h" 896700637cbSDimitry Andric textual header "__atomic/support/c11.h" 897700637cbSDimitry Andric textual header "__atomic/support/gcc.h" 898700637cbSDimitry Andric } 899700637cbSDimitry Andric 900700637cbSDimitry Andric header "atomic" 901700637cbSDimitry Andric export * 902700637cbSDimitry Andric } 903700637cbSDimitry Andric 904700637cbSDimitry Andric module barrier { 905700637cbSDimitry Andric header "barrier" 906700637cbSDimitry Andric export * 907700637cbSDimitry Andric } 908700637cbSDimitry Andric 909700637cbSDimitry Andric module bit { 910700637cbSDimitry Andric module bit_cast { header "__bit/bit_cast.h" } 911700637cbSDimitry Andric module bit_ceil { header "__bit/bit_ceil.h" } 912700637cbSDimitry Andric module bit_floor { header "__bit/bit_floor.h" } 913700637cbSDimitry Andric module bit_log2 { header "__bit/bit_log2.h" } 914700637cbSDimitry Andric module bit_width { header "__bit/bit_width.h" } 915700637cbSDimitry Andric module blsr { header "__bit/blsr.h" } 916700637cbSDimitry Andric module byteswap { header "__bit/byteswap.h" } 917700637cbSDimitry Andric module countl { header "__bit/countl.h" } 918700637cbSDimitry Andric module countr { header "__bit/countr.h" } 919700637cbSDimitry Andric module endian { header "__bit/endian.h" } 920700637cbSDimitry Andric module has_single_bit { header "__bit/has_single_bit.h" } 921700637cbSDimitry Andric module invert_if { header "__bit/invert_if.h" } 922700637cbSDimitry Andric module popcount { header "__bit/popcount.h" } 923700637cbSDimitry Andric module rotate { header "__bit/rotate.h" } 924700637cbSDimitry Andric 925700637cbSDimitry Andric header "bit" 926700637cbSDimitry Andric export * 927700637cbSDimitry Andric } 928700637cbSDimitry Andric 929700637cbSDimitry Andric module bitset { 930700637cbSDimitry Andric header "bitset" 931700637cbSDimitry Andric export * 932700637cbSDimitry Andric } 933700637cbSDimitry Andric 934700637cbSDimitry Andric module charconv { 935700637cbSDimitry Andric module chars_format { header "__charconv/chars_format.h" } 936700637cbSDimitry Andric module from_chars_floating_point { header "__charconv/from_chars_floating_point.h" } 937700637cbSDimitry Andric module from_chars_integral { header "__charconv/from_chars_integral.h" } 938700637cbSDimitry Andric module from_chars_result { 939700637cbSDimitry Andric header "__charconv/from_chars_result.h" 940700637cbSDimitry Andric export std.system_error.errc 941700637cbSDimitry Andric } 942700637cbSDimitry Andric module tables { header "__charconv/tables.h" } 943700637cbSDimitry Andric module to_chars { header "__charconv/to_chars.h" } 944700637cbSDimitry Andric module to_chars_base_10 { header "__charconv/to_chars_base_10.h" } 945700637cbSDimitry Andric module to_chars_floating_point { header "__charconv/to_chars_floating_point.h" } 946700637cbSDimitry Andric module to_chars_integral { 947700637cbSDimitry Andric header "__charconv/to_chars_integral.h" 948700637cbSDimitry Andric export std.charconv.to_chars_result 949700637cbSDimitry Andric } 950700637cbSDimitry Andric module to_chars_result { header "__charconv/to_chars_result.h" } 951700637cbSDimitry Andric module traits { header "__charconv/traits.h" } 952700637cbSDimitry Andric 953700637cbSDimitry Andric header "charconv" 954700637cbSDimitry Andric export * 955700637cbSDimitry Andric } 956700637cbSDimitry Andric 957700637cbSDimitry Andric module chrono { 958700637cbSDimitry Andric module calendar { header "__chrono/calendar.h" } 959700637cbSDimitry Andric module concepts { header "__chrono/concepts.h" } 960700637cbSDimitry Andric module convert_to_timespec { header "__chrono/convert_to_timespec.h" } 961700637cbSDimitry Andric module convert_to_tm { header "__chrono/convert_to_tm.h" } 962700637cbSDimitry Andric module day { header "__chrono/day.h" } 963700637cbSDimitry Andric module duration { header "__chrono/duration.h" } 964700637cbSDimitry Andric module exception { header "__chrono/exception.h" } 965700637cbSDimitry Andric module file_clock { header "__chrono/file_clock.h" } 966700637cbSDimitry Andric module formatter { header "__chrono/formatter.h" } 967700637cbSDimitry Andric module gps_clock { 968700637cbSDimitry Andric header "__chrono/gps_clock.h" 969700637cbSDimitry Andric export std.chrono.time_point 970700637cbSDimitry Andric } 971700637cbSDimitry Andric module hh_mm_ss { header "__chrono/hh_mm_ss.h" } 972700637cbSDimitry Andric module high_resolution_clock { 973700637cbSDimitry Andric header "__chrono/high_resolution_clock.h" 974700637cbSDimitry Andric export * 975700637cbSDimitry Andric } 976700637cbSDimitry Andric module leap_second { 977700637cbSDimitry Andric header "__chrono/leap_second.h" 978700637cbSDimitry Andric } 979700637cbSDimitry Andric module literals { 980700637cbSDimitry Andric header "__chrono/literals.h" 981700637cbSDimitry Andric } 982700637cbSDimitry Andric module local_info { 983700637cbSDimitry Andric header "__chrono/local_info.h" 984700637cbSDimitry Andric export std.chrono.sys_info 985700637cbSDimitry Andric } 986700637cbSDimitry Andric module month_weekday { header "__chrono/month_weekday.h" } 987700637cbSDimitry Andric module month { header "__chrono/month.h" } 988700637cbSDimitry Andric module monthday { header "__chrono/monthday.h" } 989700637cbSDimitry Andric module ostream { header "__chrono/ostream.h" } 990700637cbSDimitry Andric module parser_std_format_spec { header "__chrono/parser_std_format_spec.h" } 991700637cbSDimitry Andric module statically_widen { header "__chrono/statically_widen.h" } 992700637cbSDimitry Andric module steady_clock { 993700637cbSDimitry Andric header "__chrono/steady_clock.h" 994700637cbSDimitry Andric export std.chrono.time_point 995700637cbSDimitry Andric } 996700637cbSDimitry Andric module sys_info { 997700637cbSDimitry Andric header "__chrono/sys_info.h" 998700637cbSDimitry Andric } 999700637cbSDimitry Andric module system_clock { 1000700637cbSDimitry Andric header "__chrono/system_clock.h" 1001700637cbSDimitry Andric export std.chrono.time_point 1002700637cbSDimitry Andric } 1003700637cbSDimitry Andric module tai_clock { 1004700637cbSDimitry Andric header "__chrono/tai_clock.h" 1005700637cbSDimitry Andric export std.chrono.time_point 1006700637cbSDimitry Andric } 1007700637cbSDimitry Andric module time_point { header "__chrono/time_point.h" } 1008700637cbSDimitry Andric module time_zone_link { header "__chrono/time_zone_link.h" } 1009700637cbSDimitry Andric module time_zone { header "__chrono/time_zone.h" } 1010700637cbSDimitry Andric module tzdb_list { 1011700637cbSDimitry Andric header "__chrono/tzdb_list.h" 1012700637cbSDimitry Andric export std.forward_list // forward_list iterators are used to implement this API 1013700637cbSDimitry Andric export std.string_view // by-value argument of type std::string_view 1014700637cbSDimitry Andric } 1015700637cbSDimitry Andric module tzdb { 1016700637cbSDimitry Andric header "__chrono/tzdb.h" 1017700637cbSDimitry Andric export std.string // public data member of type std::string 1018700637cbSDimitry Andric export std.vector // public data members of type std::vector 1019700637cbSDimitry Andric } 1020700637cbSDimitry Andric module utc_clock { 1021700637cbSDimitry Andric header "__chrono/utc_clock.h" 1022700637cbSDimitry Andric export std.chrono.time_point 1023700637cbSDimitry Andric } 1024700637cbSDimitry Andric module weekday { header "__chrono/weekday.h" } 1025700637cbSDimitry Andric module year_month_day { header "__chrono/year_month_day.h" } 1026700637cbSDimitry Andric module year_month_weekday { header "__chrono/year_month_weekday.h" } 1027700637cbSDimitry Andric module year_month { header "__chrono/year_month.h" } 1028700637cbSDimitry Andric module year { header "__chrono/year.h" } 1029700637cbSDimitry Andric module zoned_time { header "__chrono/zoned_time.h" } 1030700637cbSDimitry Andric 1031700637cbSDimitry Andric header "chrono" 1032700637cbSDimitry Andric export * 1033700637cbSDimitry Andric } // module chrono 1034700637cbSDimitry Andric 1035700637cbSDimitry Andric module codecvt { 1036700637cbSDimitry Andric header "codecvt" 1037700637cbSDimitry Andric export * 1038700637cbSDimitry Andric } 1039700637cbSDimitry Andric 1040700637cbSDimitry Andric module compare { 1041700637cbSDimitry Andric module common_comparison_category { header "__compare/common_comparison_category.h" } 1042700637cbSDimitry Andric module compare_partial_order_fallback { header "__compare/compare_partial_order_fallback.h" } 1043700637cbSDimitry Andric module compare_strong_order_fallback { header "__compare/compare_strong_order_fallback.h" } 1044700637cbSDimitry Andric module compare_three_way { header "__compare/compare_three_way.h" } 1045700637cbSDimitry Andric module compare_three_way_result { header "__compare/compare_three_way_result.h" } 1046700637cbSDimitry Andric module compare_weak_order_fallback { header "__compare/compare_weak_order_fallback.h" } 1047700637cbSDimitry Andric module is_eq { header "__compare/is_eq.h" } 1048700637cbSDimitry Andric module ordering { header "__compare/ordering.h" } 1049700637cbSDimitry Andric module partial_order { header "__compare/partial_order.h" } 1050700637cbSDimitry Andric module strong_order { header "__compare/strong_order.h" } 1051700637cbSDimitry Andric module synth_three_way { header "__compare/synth_three_way.h" } 1052700637cbSDimitry Andric module three_way_comparable { header "__compare/three_way_comparable.h" } 1053700637cbSDimitry Andric module weak_order { header "__compare/weak_order.h" } 1054700637cbSDimitry Andric 1055700637cbSDimitry Andric header "compare" 1056700637cbSDimitry Andric export * 1057700637cbSDimitry Andric } 1058700637cbSDimitry Andric 1059700637cbSDimitry Andric module complex { 1060700637cbSDimitry Andric module fwd { header "__fwd/complex.h" } 1061700637cbSDimitry Andric 1062700637cbSDimitry Andric header "complex" 1063700637cbSDimitry Andric export * 1064700637cbSDimitry Andric } 1065700637cbSDimitry Andric 1066700637cbSDimitry Andric module concepts { 1067700637cbSDimitry Andric module arithmetic { header "__concepts/arithmetic.h" } 1068700637cbSDimitry Andric module assignable { header "__concepts/assignable.h" } 1069700637cbSDimitry Andric module boolean_testable { header "__concepts/boolean_testable.h" } 1070700637cbSDimitry Andric module class_or_enum { header "__concepts/class_or_enum.h" } 1071700637cbSDimitry Andric module common_reference_with { header "__concepts/common_reference_with.h" } 1072700637cbSDimitry Andric module common_with { header "__concepts/common_with.h" } 1073700637cbSDimitry Andric module constructible { header "__concepts/constructible.h" } 1074700637cbSDimitry Andric module convertible_to { header "__concepts/convertible_to.h" } 1075700637cbSDimitry Andric module copyable { header "__concepts/copyable.h" } 1076700637cbSDimitry Andric module derived_from { header "__concepts/derived_from.h" } 1077700637cbSDimitry Andric module destructible { header "__concepts/destructible.h" } 1078700637cbSDimitry Andric module different_from { header "__concepts/different_from.h" } 1079700637cbSDimitry Andric module equality_comparable { header "__concepts/equality_comparable.h" } 1080700637cbSDimitry Andric module invocable { header "__concepts/invocable.h" } 1081700637cbSDimitry Andric module movable { header "__concepts/movable.h" } 1082700637cbSDimitry Andric module predicate { header "__concepts/predicate.h" } 1083700637cbSDimitry Andric module regular { header "__concepts/regular.h" } 1084700637cbSDimitry Andric module relation { header "__concepts/relation.h" } 1085700637cbSDimitry Andric module same_as { header "__concepts/same_as.h" } 1086700637cbSDimitry Andric module semiregular { header "__concepts/semiregular.h" } 1087700637cbSDimitry Andric module swappable { header "__concepts/swappable.h" } 1088700637cbSDimitry Andric module totally_ordered { header "__concepts/totally_ordered.h" } 1089700637cbSDimitry Andric 1090700637cbSDimitry Andric header "concepts" 1091700637cbSDimitry Andric export * 1092700637cbSDimitry Andric } 1093700637cbSDimitry Andric 1094700637cbSDimitry Andric module condition_variable { 1095700637cbSDimitry Andric module condition_variable { header "__condition_variable/condition_variable.h" } 1096700637cbSDimitry Andric 1097700637cbSDimitry Andric header "condition_variable" 1098700637cbSDimitry Andric export * 1099700637cbSDimitry Andric } 1100700637cbSDimitry Andric 1101700637cbSDimitry Andric module cassert { 1102700637cbSDimitry Andric textual header "cassert" // NDEBUG requires textual inclusion 1103700637cbSDimitry Andric } 1104700637cbSDimitry Andric 1105700637cbSDimitry Andric module ccomplex { 1106700637cbSDimitry Andric header "ccomplex" 1107700637cbSDimitry Andric export * 1108700637cbSDimitry Andric } 1109700637cbSDimitry Andric 1110700637cbSDimitry Andric module cctype { 1111700637cbSDimitry Andric header "cctype" 1112700637cbSDimitry Andric export * 1113700637cbSDimitry Andric } 1114700637cbSDimitry Andric 1115700637cbSDimitry Andric module cerrno { 1116700637cbSDimitry Andric header "cerrno" 1117700637cbSDimitry Andric export * 1118700637cbSDimitry Andric } 1119700637cbSDimitry Andric 1120700637cbSDimitry Andric module cfenv { 1121700637cbSDimitry Andric header "cfenv" 1122700637cbSDimitry Andric export * 1123700637cbSDimitry Andric } 1124700637cbSDimitry Andric 1125700637cbSDimitry Andric module cfloat { 1126700637cbSDimitry Andric header "cfloat" 1127700637cbSDimitry Andric export * 1128700637cbSDimitry Andric } 1129700637cbSDimitry Andric 1130700637cbSDimitry Andric module cinttypes { 1131700637cbSDimitry Andric header "cinttypes" 1132700637cbSDimitry Andric export * 1133700637cbSDimitry Andric } 1134700637cbSDimitry Andric 1135700637cbSDimitry Andric module ciso646 { 1136700637cbSDimitry Andric header "ciso646" 1137700637cbSDimitry Andric export * 1138700637cbSDimitry Andric } 1139700637cbSDimitry Andric 1140700637cbSDimitry Andric module climits { 1141700637cbSDimitry Andric header "climits" 1142700637cbSDimitry Andric export * 1143700637cbSDimitry Andric } 1144700637cbSDimitry Andric 1145700637cbSDimitry Andric module clocale { 1146700637cbSDimitry Andric header "clocale" 1147700637cbSDimitry Andric export * 1148700637cbSDimitry Andric } 1149700637cbSDimitry Andric 1150700637cbSDimitry Andric module cmath { 1151700637cbSDimitry Andric header "cmath" 1152700637cbSDimitry Andric export * 1153700637cbSDimitry Andric } 1154700637cbSDimitry Andric 1155700637cbSDimitry Andric // TODO: Make non-textual. This seems to cause problems when compiling against Glibc. 1156700637cbSDimitry Andric module csetjmp { 1157700637cbSDimitry Andric textual header "csetjmp" 1158700637cbSDimitry Andric } 1159700637cbSDimitry Andric 1160700637cbSDimitry Andric module csignal { 1161700637cbSDimitry Andric header "csignal" 1162700637cbSDimitry Andric export * 1163700637cbSDimitry Andric } 1164700637cbSDimitry Andric 1165700637cbSDimitry Andric module cstdalign { 1166700637cbSDimitry Andric header "cstdalign" 1167700637cbSDimitry Andric export * 1168700637cbSDimitry Andric } 1169700637cbSDimitry Andric 1170700637cbSDimitry Andric module cstdarg { 1171700637cbSDimitry Andric header "cstdarg" 1172700637cbSDimitry Andric export * 1173700637cbSDimitry Andric } 1174700637cbSDimitry Andric 1175700637cbSDimitry Andric module cstdbool { 1176700637cbSDimitry Andric header "cstdbool" 1177700637cbSDimitry Andric export * 1178700637cbSDimitry Andric } 1179700637cbSDimitry Andric 1180700637cbSDimitry Andric module cstddef { 1181700637cbSDimitry Andric header "cstddef" 1182700637cbSDimitry Andric export * 1183700637cbSDimitry Andric } 1184700637cbSDimitry Andric 1185700637cbSDimitry Andric module cstdio { 1186700637cbSDimitry Andric header "cstdio" 1187700637cbSDimitry Andric export * 1188700637cbSDimitry Andric } 1189700637cbSDimitry Andric 1190700637cbSDimitry Andric module cstdlib { 1191700637cbSDimitry Andric header "cstdlib" 1192700637cbSDimitry Andric export * 1193700637cbSDimitry Andric } 1194700637cbSDimitry Andric 1195700637cbSDimitry Andric module cstring { 1196700637cbSDimitry Andric header "cstring" 1197700637cbSDimitry Andric export * 1198700637cbSDimitry Andric } 1199700637cbSDimitry Andric 1200700637cbSDimitry Andric module ctgmath { 1201700637cbSDimitry Andric header "ctgmath" 1202700637cbSDimitry Andric export * 1203700637cbSDimitry Andric } 1204700637cbSDimitry Andric 1205700637cbSDimitry Andric module ctime { 1206700637cbSDimitry Andric header "ctime" 1207700637cbSDimitry Andric export * 1208700637cbSDimitry Andric } 1209700637cbSDimitry Andric 1210700637cbSDimitry Andric module cuchar { 1211700637cbSDimitry Andric header "cuchar" 1212700637cbSDimitry Andric export * 1213700637cbSDimitry Andric } 1214700637cbSDimitry Andric 1215700637cbSDimitry Andric module cwchar { 1216700637cbSDimitry Andric header "cwchar" 1217700637cbSDimitry Andric export * 1218700637cbSDimitry Andric } 1219700637cbSDimitry Andric 1220700637cbSDimitry Andric module cwctype { 1221700637cbSDimitry Andric header "cwctype" 1222700637cbSDimitry Andric export * 1223700637cbSDimitry Andric } 1224700637cbSDimitry Andric 1225700637cbSDimitry Andric module deque { 1226700637cbSDimitry Andric module fwd { header "__fwd/deque.h" } 1227700637cbSDimitry Andric 1228700637cbSDimitry Andric header "deque" 1229700637cbSDimitry Andric export * 1230700637cbSDimitry Andric export std.iterator.reverse_iterator 1231700637cbSDimitry Andric } 1232700637cbSDimitry Andric 1233700637cbSDimitry Andric module exception { 1234700637cbSDimitry Andric module exception { header "__exception/exception.h" } 1235700637cbSDimitry Andric module exception_ptr { header "__exception/exception_ptr.h" } 1236700637cbSDimitry Andric module nested_exception { header "__exception/nested_exception.h" } 1237700637cbSDimitry Andric module operations { header "__exception/operations.h" } 1238700637cbSDimitry Andric module terminate { header "__exception/terminate.h" } 1239700637cbSDimitry Andric 1240700637cbSDimitry Andric header "exception" 1241700637cbSDimitry Andric export * 1242700637cbSDimitry Andric } 1243700637cbSDimitry Andric 1244700637cbSDimitry Andric module execution { 1245700637cbSDimitry Andric header "execution" 1246700637cbSDimitry Andric export * 1247700637cbSDimitry Andric } 1248700637cbSDimitry Andric 1249700637cbSDimitry Andric module expected { 1250700637cbSDimitry Andric module bad_expected_access { header "__expected/bad_expected_access.h" } 1251700637cbSDimitry Andric module expected { header "__expected/expected.h" } 1252700637cbSDimitry Andric module unexpect { header "__expected/unexpect.h" } 1253700637cbSDimitry Andric module unexpected { header "__expected/unexpected.h" } 1254700637cbSDimitry Andric 1255700637cbSDimitry Andric header "expected" 1256700637cbSDimitry Andric export * 1257700637cbSDimitry Andric } 1258700637cbSDimitry Andric 1259700637cbSDimitry Andric module filesystem { 1260700637cbSDimitry Andric module copy_options { header "__filesystem/copy_options.h" } 1261700637cbSDimitry Andric module directory_entry { header "__filesystem/directory_entry.h" } 1262700637cbSDimitry Andric module directory_iterator { 1263700637cbSDimitry Andric header "__filesystem/directory_iterator.h" 1264700637cbSDimitry Andric // This is a workaround for https://github.com/llvm/llvm-project/issues/120108. 1265700637cbSDimitry Andric export * 1266700637cbSDimitry Andric } 1267700637cbSDimitry Andric module directory_options { header "__filesystem/directory_options.h" } 1268700637cbSDimitry Andric module file_status { header "__filesystem/file_status.h" } 1269700637cbSDimitry Andric module file_time_type { header "__filesystem/file_time_type.h" } 1270700637cbSDimitry Andric module file_type { header "__filesystem/file_type.h" } 1271700637cbSDimitry Andric module filesystem_error { header "__filesystem/filesystem_error.h" } 1272700637cbSDimitry Andric module operations { header "__filesystem/operations.h" } 1273700637cbSDimitry Andric module path_iterator { header "__filesystem/path_iterator.h" } 1274700637cbSDimitry Andric module path { 1275700637cbSDimitry Andric header "__filesystem/path.h" 1276700637cbSDimitry Andric export std.string // returned by various methods of filesystem::path 1277700637cbSDimitry Andric } 1278700637cbSDimitry Andric module perm_options { header "__filesystem/perm_options.h" } 1279700637cbSDimitry Andric module perms { header "__filesystem/perms.h" } 1280700637cbSDimitry Andric module recursive_directory_iterator { header "__filesystem/recursive_directory_iterator.h" } 1281700637cbSDimitry Andric module space_info { header "__filesystem/space_info.h" } 1282700637cbSDimitry Andric module u8path { header "__filesystem/u8path.h" } 1283700637cbSDimitry Andric 1284700637cbSDimitry Andric header "filesystem" 1285700637cbSDimitry Andric export * 1286700637cbSDimitry Andric } 1287700637cbSDimitry Andric 1288700637cbSDimitry Andric module flat_map { 1289700637cbSDimitry Andric module flat_map { 1290700637cbSDimitry Andric header "__flat_map/flat_map.h" 1291700637cbSDimitry Andric export std.vector.vector 1292700637cbSDimitry Andric export std.vector.fwd 1293700637cbSDimitry Andric } 1294700637cbSDimitry Andric module flat_multimap { 1295700637cbSDimitry Andric header "__flat_map/flat_multimap.h" 1296700637cbSDimitry Andric export std.vector.vector 1297700637cbSDimitry Andric export std.vector.fwd 1298700637cbSDimitry Andric } 1299700637cbSDimitry Andric module key_value_iterator { header "__flat_map/key_value_iterator.h" } 1300700637cbSDimitry Andric module sorted_equivalent { header "__flat_map/sorted_equivalent.h" } 1301700637cbSDimitry Andric module sorted_unique { header "__flat_map/sorted_unique.h" } 1302700637cbSDimitry Andric module utils { header "__flat_map/utils.h" } 1303700637cbSDimitry Andric 1304700637cbSDimitry Andric header "flat_map" 1305700637cbSDimitry Andric export * 1306700637cbSDimitry Andric export std.algorithm.ranges_sort 1307700637cbSDimitry Andric export std.iterator.reverse_iterator 1308700637cbSDimitry Andric export std.ranges.zip_view 1309700637cbSDimitry Andric export std.tuple 1310700637cbSDimitry Andric } 1311700637cbSDimitry Andric 1312700637cbSDimitry Andric module flat_set { 1313700637cbSDimitry Andric module flat_set { 1314700637cbSDimitry Andric header "__flat_set/flat_set.h" 1315700637cbSDimitry Andric header "__flat_set/flat_multiset.h" 1316700637cbSDimitry Andric export std.vector.vector 1317700637cbSDimitry Andric export std.vector.fwd 1318700637cbSDimitry Andric } 1319700637cbSDimitry Andric module ra_iterator { header "__flat_set/ra_iterator.h" } 1320700637cbSDimitry Andric module utils { header "__flat_set/utils.h" } 1321700637cbSDimitry Andric 1322700637cbSDimitry Andric header "flat_set" 1323700637cbSDimitry Andric export std.flat_map.sorted_unique 1324700637cbSDimitry Andric export std.flat_map.sorted_equivalent 1325700637cbSDimitry Andric export * 1326700637cbSDimitry Andric export std.algorithm.ranges_sort 1327700637cbSDimitry Andric export std.iterator.reverse_iterator 1328700637cbSDimitry Andric export std.ranges.zip_view 1329700637cbSDimitry Andric export std.tuple 1330700637cbSDimitry Andric } 1331700637cbSDimitry Andric 1332700637cbSDimitry Andric module format { 1333700637cbSDimitry Andric module buffer { 1334700637cbSDimitry Andric header "__format/buffer.h" 1335700637cbSDimitry Andric export std.iterator.back_insert_iterator 1336700637cbSDimitry Andric } 1337700637cbSDimitry Andric module concepts { header "__format/concepts.h" } 1338700637cbSDimitry Andric module container_adaptor { header "__format/container_adaptor.h" } 1339700637cbSDimitry Andric module enable_insertable { header "__format/enable_insertable.h" } 1340700637cbSDimitry Andric module escaped_output_table { header "__format/escaped_output_table.h" } 1341700637cbSDimitry Andric module extended_grapheme_cluster_table { header "__format/extended_grapheme_cluster_table.h" } 1342700637cbSDimitry Andric module format_arg { header "__format/format_arg.h" } 1343700637cbSDimitry Andric module format_arg_store { header "__format/format_arg_store.h" } 1344700637cbSDimitry Andric module format_args { header "__format/format_args.h" } 1345700637cbSDimitry Andric module format_context { 1346700637cbSDimitry Andric header "__format/format_context.h" 1347700637cbSDimitry Andric export std.optional // default argument for __format_context_create 1348700637cbSDimitry Andric } 1349700637cbSDimitry Andric module format_error { 1350700637cbSDimitry Andric header "__format/format_error.h" 1351700637cbSDimitry Andric } 1352700637cbSDimitry Andric module format_functions { 1353700637cbSDimitry Andric header "__format/format_functions.h" 1354700637cbSDimitry Andric export std.string // returned by the functions in that header 1355700637cbSDimitry Andric } 1356700637cbSDimitry Andric module format_parse_context { header "__format/format_parse_context.h" } 1357700637cbSDimitry Andric module format_string { header "__format/format_string.h" } 1358700637cbSDimitry Andric module format_to_n_result { header "__format/format_to_n_result.h" } 1359700637cbSDimitry Andric module formatter { header "__format/formatter.h" } 1360700637cbSDimitry Andric module formatter_bool { header "__format/formatter_bool.h" } 1361700637cbSDimitry Andric module formatter_char { header "__format/formatter_char.h" } 1362700637cbSDimitry Andric module formatter_floating_point { header "__format/formatter_floating_point.h" } 1363700637cbSDimitry Andric module formatter_integer { header "__format/formatter_integer.h" } 1364700637cbSDimitry Andric module formatter_integral { header "__format/formatter_integral.h" } 1365700637cbSDimitry Andric module formatter_output { header "__format/formatter_output.h" } 1366700637cbSDimitry Andric module formatter_pointer { header "__format/formatter_pointer.h" } 1367700637cbSDimitry Andric module formatter_string { header "__format/formatter_string.h" } 1368700637cbSDimitry Andric module formatter_tuple { header "__format/formatter_tuple.h" } 1369700637cbSDimitry Andric module fwd { header "__fwd/format.h" } 1370700637cbSDimitry Andric module indic_conjunct_break_table { header "__format/indic_conjunct_break_table.h" } 1371700637cbSDimitry Andric module parser_std_format_spec { header "__format/parser_std_format_spec.h" } 1372700637cbSDimitry Andric module range_default_formatter { header "__format/range_default_formatter.h" } 1373700637cbSDimitry Andric module range_formatter { header "__format/range_formatter.h" } 1374700637cbSDimitry Andric module unicode { header "__format/unicode.h" } 1375700637cbSDimitry Andric module width_estimation_table { header "__format/width_estimation_table.h" } 1376700637cbSDimitry Andric module write_escaped { header "__format/write_escaped.h" } 1377700637cbSDimitry Andric 1378700637cbSDimitry Andric header "format" 1379700637cbSDimitry Andric export * 1380700637cbSDimitry Andric } // module format 1381700637cbSDimitry Andric 1382700637cbSDimitry Andric module forward_list { 1383700637cbSDimitry Andric header "forward_list" 1384700637cbSDimitry Andric export * 1385700637cbSDimitry Andric export std.iterator.reverse_iterator 1386700637cbSDimitry Andric } 1387700637cbSDimitry Andric 1388700637cbSDimitry Andric module fstream { 1389700637cbSDimitry Andric module fwd { header "__fwd/fstream.h" } 1390700637cbSDimitry Andric 1391700637cbSDimitry Andric header "fstream" 1392700637cbSDimitry Andric export * 1393700637cbSDimitry Andric } 1394700637cbSDimitry Andric 1395700637cbSDimitry Andric module functional { 1396700637cbSDimitry Andric module binary_function { header "__functional/binary_function.h" } 1397700637cbSDimitry Andric module binary_negate { header "__functional/binary_negate.h" } 1398700637cbSDimitry Andric module bind_back { 1399700637cbSDimitry Andric header "__functional/bind_back.h" 1400700637cbSDimitry Andric export std.functional.perfect_forward // inherited from and using its operators 1401700637cbSDimitry Andric } 1402700637cbSDimitry Andric module bind_front { 1403700637cbSDimitry Andric header "__functional/bind_front.h" 1404700637cbSDimitry Andric export std.functional.perfect_forward // inherited from and using its operators 1405700637cbSDimitry Andric } 1406700637cbSDimitry Andric module bind { header "__functional/bind.h" } 1407700637cbSDimitry Andric module binder1st { header "__functional/binder1st.h" } 1408700637cbSDimitry Andric module binder2nd { header "__functional/binder2nd.h" } 1409700637cbSDimitry Andric module boyer_moore_searcher { 1410700637cbSDimitry Andric header "__functional/boyer_moore_searcher.h" 1411700637cbSDimitry Andric export std.memory.shared_ptr 1412700637cbSDimitry Andric } 1413700637cbSDimitry Andric module compose { 1414700637cbSDimitry Andric header "__functional/compose.h" 1415700637cbSDimitry Andric export std.functional.perfect_forward // inherited from and using its operators 1416700637cbSDimitry Andric } 1417700637cbSDimitry Andric module default_searcher { header "__functional/default_searcher.h" } 1418700637cbSDimitry Andric module function { header "__functional/function.h" } 1419700637cbSDimitry Andric module hash { header "__functional/hash.h" } 1420700637cbSDimitry Andric module identity { header "__functional/identity.h" } 1421700637cbSDimitry Andric module invoke { header "__functional/invoke.h" } 1422700637cbSDimitry Andric module is_transparent { header "__functional/is_transparent.h" } 1423700637cbSDimitry Andric module mem_fn { header "__functional/mem_fn.h" } 1424700637cbSDimitry Andric module mem_fun_ref { header "__functional/mem_fun_ref.h" } 1425700637cbSDimitry Andric module not_fn { 1426700637cbSDimitry Andric header "__functional/not_fn.h" 1427700637cbSDimitry Andric export std.functional.perfect_forward // inherited from and using its operators 1428700637cbSDimitry Andric } 1429700637cbSDimitry Andric module operations { 1430700637cbSDimitry Andric header "__functional/operations.h" 1431700637cbSDimitry Andric export std_core.fwd.functional 1432700637cbSDimitry Andric } 1433700637cbSDimitry Andric module perfect_forward { 1434700637cbSDimitry Andric header "__functional/perfect_forward.h" 1435700637cbSDimitry Andric export std.tuple 1436700637cbSDimitry Andric } 1437700637cbSDimitry Andric module pointer_to_binary_function { header "__functional/pointer_to_binary_function.h" } 1438700637cbSDimitry Andric module pointer_to_unary_function { header "__functional/pointer_to_unary_function.h" } 1439700637cbSDimitry Andric module ranges_operations { header "__functional/ranges_operations.h" } 1440700637cbSDimitry Andric module reference_wrapper { header "__functional/reference_wrapper.h" } 1441700637cbSDimitry Andric module unary_function { header "__functional/unary_function.h" } 1442700637cbSDimitry Andric module unary_negate { header "__functional/unary_negate.h" } 1443700637cbSDimitry Andric module weak_result_type { header "__functional/weak_result_type.h" } 1444700637cbSDimitry Andric 1445700637cbSDimitry Andric header "functional" 1446700637cbSDimitry Andric export * 1447700637cbSDimitry Andric } // module functional 1448700637cbSDimitry Andric 1449700637cbSDimitry Andric module future { 1450700637cbSDimitry Andric header "future" 1451700637cbSDimitry Andric export * 1452700637cbSDimitry Andric } 1453700637cbSDimitry Andric 1454700637cbSDimitry Andric module initializer_list { 1455700637cbSDimitry Andric header "initializer_list" 1456700637cbSDimitry Andric export * 1457700637cbSDimitry Andric } 1458700637cbSDimitry Andric 1459700637cbSDimitry Andric module iomanip { 1460700637cbSDimitry Andric header "iomanip" 1461700637cbSDimitry Andric export * 1462700637cbSDimitry Andric } 1463700637cbSDimitry Andric 1464700637cbSDimitry Andric module ios { 1465700637cbSDimitry Andric module fwd { header "__fwd/ios.h" } 1466700637cbSDimitry Andric module fpos { header "__ios/fpos.h" } 1467700637cbSDimitry Andric 1468700637cbSDimitry Andric header "ios" 1469700637cbSDimitry Andric export * 1470700637cbSDimitry Andric } 1471700637cbSDimitry Andric 1472700637cbSDimitry Andric module iosfwd { 1473700637cbSDimitry Andric header "iosfwd" 1474700637cbSDimitry Andric export * 1475700637cbSDimitry Andric } 1476700637cbSDimitry Andric 1477700637cbSDimitry Andric module iostream { 1478700637cbSDimitry Andric header "iostream" 1479700637cbSDimitry Andric export * 1480700637cbSDimitry Andric } 1481700637cbSDimitry Andric 1482700637cbSDimitry Andric module istream { 1483700637cbSDimitry Andric module fwd { header "__fwd/istream.h" } 1484700637cbSDimitry Andric 1485700637cbSDimitry Andric header "istream" 1486700637cbSDimitry Andric export std.ios // base class 1487700637cbSDimitry Andric } 1488700637cbSDimitry Andric 1489700637cbSDimitry Andric module iterator { 1490700637cbSDimitry Andric module access { header "__iterator/access.h" } 1491700637cbSDimitry Andric module advance { header "__iterator/advance.h" } 1492700637cbSDimitry Andric module aliasing_iterator { header "__iterator/aliasing_iterator.h" } 1493700637cbSDimitry Andric module back_insert_iterator { header "__iterator/back_insert_iterator.h" } 1494700637cbSDimitry Andric module bounded_iter { header "__iterator/bounded_iter.h" } 1495700637cbSDimitry Andric module common_iterator { header "__iterator/common_iterator.h" } 1496700637cbSDimitry Andric module concepts { 1497700637cbSDimitry Andric header "__iterator/concepts.h" 1498700637cbSDimitry Andric export std_core.type_traits.common_reference 1499700637cbSDimitry Andric } 1500700637cbSDimitry Andric module counted_iterator { header "__iterator/counted_iterator.h" } 1501700637cbSDimitry Andric module cpp17_iterator_concepts { header "__iterator/cpp17_iterator_concepts.h" } 1502700637cbSDimitry Andric module data { header "__iterator/data.h" } 1503700637cbSDimitry Andric module default_sentinel { header "__iterator/default_sentinel.h" } 1504700637cbSDimitry Andric module distance { header "__iterator/distance.h" } 1505700637cbSDimitry Andric module empty { header "__iterator/empty.h" } 1506700637cbSDimitry Andric module erase_if_container { header "__iterator/erase_if_container.h" } 1507700637cbSDimitry Andric module front_insert_iterator { header "__iterator/front_insert_iterator.h" } 1508700637cbSDimitry Andric module incrementable_traits { header "__iterator/incrementable_traits.h" } 1509700637cbSDimitry Andric module indirectly_comparable { header "__iterator/indirectly_comparable.h" } 1510700637cbSDimitry Andric module insert_iterator { header "__iterator/insert_iterator.h" } 1511700637cbSDimitry Andric module istream_iterator { header "__iterator/istream_iterator.h" } 1512700637cbSDimitry Andric module istreambuf_iterator { 1513700637cbSDimitry Andric header "__iterator/istreambuf_iterator.h" 1514700637cbSDimitry Andric export std.string.char_traits 1515700637cbSDimitry Andric } 1516700637cbSDimitry Andric module iter_move { header "__iterator/iter_move.h" } 1517700637cbSDimitry Andric module iter_swap { header "__iterator/iter_swap.h" } 1518700637cbSDimitry Andric module iterator_traits { 1519700637cbSDimitry Andric header "__iterator/iterator_traits.h" 1520700637cbSDimitry Andric export std_core.type_traits.integral_constant 1521700637cbSDimitry Andric export std_core.type_traits.is_convertible 1522700637cbSDimitry Andric } 1523700637cbSDimitry Andric module iterator_with_data { header "__iterator/iterator_with_data.h" } 1524700637cbSDimitry Andric module iterator { header "__iterator/iterator.h" } 1525700637cbSDimitry Andric module mergeable { header "__iterator/mergeable.h" } 1526700637cbSDimitry Andric module move_iterator { header "__iterator/move_iterator.h" } 1527700637cbSDimitry Andric module move_sentinel { header "__iterator/move_sentinel.h" } 1528700637cbSDimitry Andric module next { header "__iterator/next.h" } 1529700637cbSDimitry Andric module ostream_iterator { header "__iterator/ostream_iterator.h" } 1530700637cbSDimitry Andric module ostreambuf_iterator { 1531700637cbSDimitry Andric header "__iterator/ostreambuf_iterator.h" 1532700637cbSDimitry Andric export iosfwd // for default template argument of ostreambuf_iterator 1533700637cbSDimitry Andric } 1534700637cbSDimitry Andric module permutable { header "__iterator/permutable.h" } 1535700637cbSDimitry Andric module prev { header "__iterator/prev.h" } 1536700637cbSDimitry Andric module product_iterator { header "__iterator/product_iterator.h" } 1537700637cbSDimitry Andric module projected { header "__iterator/projected.h" } 1538700637cbSDimitry Andric module ranges_iterator_traits { header "__iterator/ranges_iterator_traits.h" } 1539700637cbSDimitry Andric module readable_traits { header "__iterator/readable_traits.h" } 1540700637cbSDimitry Andric module reverse_access { header "__iterator/reverse_access.h" } 1541700637cbSDimitry Andric module reverse_iterator { header "__iterator/reverse_iterator.h" } 1542700637cbSDimitry Andric module segmented_iterator { header "__iterator/segmented_iterator.h" } 1543700637cbSDimitry Andric module size { header "__iterator/size.h" } 1544700637cbSDimitry Andric module sortable { header "__iterator/sortable.h" } 1545700637cbSDimitry Andric module static_bounded_iter { header "__iterator/static_bounded_iter.h" } 1546700637cbSDimitry Andric module unreachable_sentinel { header "__iterator/unreachable_sentinel.h" } 1547700637cbSDimitry Andric module wrap_iter { header "__iterator/wrap_iter.h" } 1548700637cbSDimitry Andric 1549700637cbSDimitry Andric header "iterator" 1550700637cbSDimitry Andric export * 1551700637cbSDimitry Andric } 1552700637cbSDimitry Andric 1553700637cbSDimitry Andric module latch { 1554700637cbSDimitry Andric header "latch" 1555700637cbSDimitry Andric export * 1556700637cbSDimitry Andric } 1557700637cbSDimitry Andric 1558700637cbSDimitry Andric module list { 1559700637cbSDimitry Andric header "list" 1560700637cbSDimitry Andric export * 1561700637cbSDimitry Andric export std.iterator.reverse_iterator 1562700637cbSDimitry Andric } 1563700637cbSDimitry Andric 1564700637cbSDimitry Andric module locale { 1565700637cbSDimitry Andric header "locale" 1566700637cbSDimitry Andric module check_grouping { header "__locale_dir/check_grouping.h" } 1567700637cbSDimitry Andric module get_c_locale { header "__locale_dir/get_c_locale.h" } 1568700637cbSDimitry Andric module messages { header "__locale_dir/messages.h" } 1569700637cbSDimitry Andric module money { header "__locale_dir/money.h" } 1570700637cbSDimitry Andric module num { header "__locale_dir/num.h" } 1571700637cbSDimitry Andric module pad_and_output { header "__locale_dir/pad_and_output.h" } 1572700637cbSDimitry Andric module scan_keyword { header "__locale_dir/scan_keyword.h" } 1573700637cbSDimitry Andric module time { header "__locale_dir/time.h" } 1574700637cbSDimitry Andric module wbuffer_convert { header "__locale_dir/wbuffer_convert.h" } 1575700637cbSDimitry Andric module wstring_convert { header "__locale_dir/wstring_convert.h" } 1576700637cbSDimitry Andric 1577700637cbSDimitry Andric module support { 1578700637cbSDimitry Andric header "__locale_dir/locale_base_api.h" 1579700637cbSDimitry Andric export * 1580700637cbSDimitry Andric } 1581700637cbSDimitry Andric 1582700637cbSDimitry Andric module support_impl { 1583700637cbSDimitry Andric textual header "__locale_dir/support/apple.h" 1584700637cbSDimitry Andric textual header "__locale_dir/support/bsd_like.h" 1585700637cbSDimitry Andric textual header "__locale_dir/support/freebsd.h" 1586700637cbSDimitry Andric textual header "__locale_dir/support/fuchsia.h" 1587700637cbSDimitry Andric textual header "__locale_dir/support/linux.h" 1588700637cbSDimitry Andric textual header "__locale_dir/support/no_locale/characters.h" 1589700637cbSDimitry Andric textual header "__locale_dir/support/no_locale/strtonum.h" 1590700637cbSDimitry Andric textual header "__locale_dir/support/windows.h" 1591700637cbSDimitry Andric } 1592700637cbSDimitry Andric 1593700637cbSDimitry Andric module locale_base_api { 1594700637cbSDimitry Andric textual header "__locale_dir/locale_base_api/android.h" 1595700637cbSDimitry Andric textual header "__locale_dir/locale_base_api/bsd_locale_fallbacks.h" 1596700637cbSDimitry Andric textual header "__locale_dir/locale_base_api/ibm.h" 1597700637cbSDimitry Andric textual header "__locale_dir/locale_base_api/musl.h" 1598700637cbSDimitry Andric textual header "__locale_dir/locale_base_api/openbsd.h" 1599700637cbSDimitry Andric } 1600700637cbSDimitry Andric export * 1601700637cbSDimitry Andric } 1602700637cbSDimitry Andric 1603700637cbSDimitry Andric // TODO: Understand why this needs to live in its own module 1604700637cbSDimitry Andric module locale_base [system] { 1605700637cbSDimitry Andric header "__locale" 1606700637cbSDimitry Andric export * 1607700637cbSDimitry Andric } 1608700637cbSDimitry Andric 1609700637cbSDimitry Andric module map { 1610700637cbSDimitry Andric module fwd { header "__fwd/map.h" } 1611700637cbSDimitry Andric header "map" 1612700637cbSDimitry Andric export * 1613700637cbSDimitry Andric export std.iterator.reverse_iterator 1614700637cbSDimitry Andric } 1615700637cbSDimitry Andric 1616700637cbSDimitry Andric module mdspan { 1617700637cbSDimitry Andric module aligned_accessor { header "__mdspan/aligned_accessor.h" } 1618700637cbSDimitry Andric module default_accessor { header "__mdspan/default_accessor.h" } 1619700637cbSDimitry Andric module extents { header "__mdspan/extents.h" } 1620700637cbSDimitry Andric module fwd { header "__fwd/mdspan.h" } 1621700637cbSDimitry Andric module layout_left { header "__mdspan/layout_left.h" } 1622700637cbSDimitry Andric module layout_right { header "__mdspan/layout_right.h" } 1623700637cbSDimitry Andric module layout_stride { header "__mdspan/layout_stride.h" } 1624700637cbSDimitry Andric module mdspan { 1625700637cbSDimitry Andric header "__mdspan/mdspan.h" 1626700637cbSDimitry Andric export std.array // returned by some methods 1627700637cbSDimitry Andric } 1628700637cbSDimitry Andric 1629700637cbSDimitry Andric header "mdspan" 1630700637cbSDimitry Andric export * 1631700637cbSDimitry Andric } 1632700637cbSDimitry Andric 1633700637cbSDimitry Andric module memory { 1634700637cbSDimitry Andric module addressof { header "__memory/addressof.h" } 1635700637cbSDimitry Andric module align { header "__memory/align.h" } 1636700637cbSDimitry Andric module aligned_alloc { header "__memory/aligned_alloc.h" } 1637700637cbSDimitry Andric module allocate_at_least { header "__memory/allocate_at_least.h" } 1638700637cbSDimitry Andric module allocation_guard { header "__memory/allocation_guard.h" } 1639700637cbSDimitry Andric module allocator { 1640700637cbSDimitry Andric header "__memory/allocator.h" 1641700637cbSDimitry Andric export * // TODO: Workaround for https://github.com/llvm/llvm-project/issues/120108 1642700637cbSDimitry Andric } 1643700637cbSDimitry Andric module allocator_arg_t { header "__memory/allocator_arg_t.h" } 1644700637cbSDimitry Andric module allocator_destructor { header "__memory/allocator_destructor.h" } 1645700637cbSDimitry Andric module allocator_traits { header "__memory/allocator_traits.h" } 1646700637cbSDimitry Andric module array_cookie { header "__memory/array_cookie.h" } 1647700637cbSDimitry Andric module assume_aligned { header "__memory/assume_aligned.h" } 1648700637cbSDimitry Andric module auto_ptr { header "__memory/auto_ptr.h" } 1649700637cbSDimitry Andric module compressed_pair { header "__memory/compressed_pair.h" } 1650700637cbSDimitry Andric module concepts { header "__memory/concepts.h" } 1651700637cbSDimitry Andric module construct_at { header "__memory/construct_at.h" } 1652700637cbSDimitry Andric module destroy { header "__memory/destroy.h" } 1653700637cbSDimitry Andric module destruct_n { header "__memory/destruct_n.h" } 1654700637cbSDimitry Andric module fwd { header "__fwd/memory.h" } 1655700637cbSDimitry Andric module inout_ptr { header "__memory/inout_ptr.h" } 1656700637cbSDimitry Andric module is_sufficiently_aligned { header "__memory/is_sufficiently_aligned.h" } 1657700637cbSDimitry Andric module noexcept_move_assign_container { header "__memory/noexcept_move_assign_container.h" } 1658700637cbSDimitry Andric module out_ptr { header "__memory/out_ptr.h" } 1659700637cbSDimitry Andric module pointer_traits { header "__memory/pointer_traits.h" } 1660700637cbSDimitry Andric module ranges_construct_at { header "__memory/ranges_construct_at.h" } 1661700637cbSDimitry Andric module ranges_destroy { header "__memory/ranges_destroy.h" } 1662700637cbSDimitry Andric module ranges_uninitialized_algorithms { 1663700637cbSDimitry Andric header "__memory/ranges_uninitialized_algorithms.h" 1664700637cbSDimitry Andric export std.algorithm.in_out_result 1665700637cbSDimitry Andric } 1666700637cbSDimitry Andric module raw_storage_iterator { header "__memory/raw_storage_iterator.h" } 1667700637cbSDimitry Andric module shared_count { header "__memory/shared_count.h" } 1668700637cbSDimitry Andric module shared_ptr { header "__memory/shared_ptr.h" } 1669700637cbSDimitry Andric module swap_allocator { header "__memory/swap_allocator.h" } 1670700637cbSDimitry Andric module temp_value { header "__memory/temp_value.h" } 1671700637cbSDimitry Andric module temporary_buffer { 1672700637cbSDimitry Andric header "__memory/temporary_buffer.h" 1673700637cbSDimitry Andric export std.utility.pair // return type of std::get_temporary_buffer() 1674700637cbSDimitry Andric } 1675700637cbSDimitry Andric module uninitialized_algorithms { 1676700637cbSDimitry Andric header "__memory/uninitialized_algorithms.h" 1677700637cbSDimitry Andric export std.utility.pair 1678700637cbSDimitry Andric } 1679700637cbSDimitry Andric module unique_ptr { 1680700637cbSDimitry Andric header "__memory/unique_ptr.h" 1681700637cbSDimitry Andric } 1682700637cbSDimitry Andric module unique_temporary_buffer { 1683700637cbSDimitry Andric header "__memory/unique_temporary_buffer.h" 1684700637cbSDimitry Andric export std.memory.unique_ptr 1685700637cbSDimitry Andric export std_core.type_traits.is_constant_evaluated 1686700637cbSDimitry Andric export * // TODO: Workaround for https://github.com/llvm/llvm-project/issues/120108 1687700637cbSDimitry Andric } 1688700637cbSDimitry Andric module uses_allocator { header "__memory/uses_allocator.h" } 1689700637cbSDimitry Andric module uses_allocator_construction { header "__memory/uses_allocator_construction.h" } 1690700637cbSDimitry Andric 1691700637cbSDimitry Andric header "memory" 1692700637cbSDimitry Andric export * 1693700637cbSDimitry Andric } 1694700637cbSDimitry Andric 1695700637cbSDimitry Andric module memory_resource { 1696700637cbSDimitry Andric module fwd { header "__fwd/memory_resource.h" } 1697700637cbSDimitry Andric module memory_resource { header "__memory_resource/memory_resource.h" } 1698700637cbSDimitry Andric module monotonic_buffer_resource { header "__memory_resource/monotonic_buffer_resource.h" } 1699700637cbSDimitry Andric module polymorphic_allocator { header "__memory_resource/polymorphic_allocator.h" } 1700700637cbSDimitry Andric module pool_options { header "__memory_resource/pool_options.h" } 1701700637cbSDimitry Andric module synchronized_pool_resource { header "__memory_resource/synchronized_pool_resource.h" } 1702700637cbSDimitry Andric module unsynchronized_pool_resource { header "__memory_resource/unsynchronized_pool_resource.h" } 1703700637cbSDimitry Andric 1704700637cbSDimitry Andric header "memory_resource" 1705700637cbSDimitry Andric export * 1706700637cbSDimitry Andric } 1707700637cbSDimitry Andric 1708700637cbSDimitry Andric module mutex { 1709700637cbSDimitry Andric module lock_guard { header "__mutex/lock_guard.h" } 1710700637cbSDimitry Andric module mutex { header "__mutex/mutex.h" } 1711700637cbSDimitry Andric module once_flag { header "__mutex/once_flag.h" } 1712700637cbSDimitry Andric module tag_types { header "__mutex/tag_types.h" } 1713700637cbSDimitry Andric module unique_lock { header "__mutex/unique_lock.h" } 1714700637cbSDimitry Andric 1715700637cbSDimitry Andric header "mutex" 1716700637cbSDimitry Andric export * 1717700637cbSDimitry Andric } 1718700637cbSDimitry Andric 1719700637cbSDimitry Andric module new { 1720700637cbSDimitry Andric header "new" 1721700637cbSDimitry Andric module align_val_t { header "__new/align_val_t.h" } 1722700637cbSDimitry Andric module allocate { 1723700637cbSDimitry Andric header "__new/allocate.h" 1724700637cbSDimitry Andric export std.utility.element_count // used as part of the API 1725700637cbSDimitry Andric export * // TODO: Workaround for https://github.com/llvm/llvm-project/issues/120108 1726700637cbSDimitry Andric } 1727700637cbSDimitry Andric module destroying_delete_t { header "__new/destroying_delete_t.h" } 1728700637cbSDimitry Andric module exceptions { header "__new/exceptions.h" } 1729700637cbSDimitry Andric module global_new_delete { 1730700637cbSDimitry Andric header "__new/global_new_delete.h" 1731700637cbSDimitry Andric 1732700637cbSDimitry Andric export std.new.nothrow_t 1733700637cbSDimitry Andric } 1734700637cbSDimitry Andric module interference_size { header "__new/interference_size.h" } 1735700637cbSDimitry Andric module launder { header "__new/launder.h" } 1736700637cbSDimitry Andric module new_handler { header "__new/new_handler.h" } 1737700637cbSDimitry Andric module nothrow_t { header "__new/nothrow_t.h" } 1738700637cbSDimitry Andric module placement_new_delete { header "__new/placement_new_delete.h" } 1739700637cbSDimitry Andric 1740700637cbSDimitry Andric export * 1741700637cbSDimitry Andric } 1742700637cbSDimitry Andric 1743700637cbSDimitry Andric module numbers { 1744700637cbSDimitry Andric header "numbers" 1745700637cbSDimitry Andric export * 1746700637cbSDimitry Andric } 1747700637cbSDimitry Andric 1748700637cbSDimitry Andric module numeric { 1749700637cbSDimitry Andric module accumulate { header "__numeric/accumulate.h" } 1750700637cbSDimitry Andric module adjacent_difference { header "__numeric/adjacent_difference.h" } 1751700637cbSDimitry Andric module exclusive_scan { header "__numeric/exclusive_scan.h" } 1752700637cbSDimitry Andric module gcd_lcm { header "__numeric/gcd_lcm.h" } 1753700637cbSDimitry Andric module inclusive_scan { header "__numeric/inclusive_scan.h" } 1754700637cbSDimitry Andric module inner_product { header "__numeric/inner_product.h" } 1755700637cbSDimitry Andric module iota { header "__numeric/iota.h" } 1756700637cbSDimitry Andric module midpoint { header "__numeric/midpoint.h" } 1757700637cbSDimitry Andric module partial_sum { header "__numeric/partial_sum.h" } 1758700637cbSDimitry Andric module pstl { header "__numeric/pstl.h" } 1759700637cbSDimitry Andric module reduce { header "__numeric/reduce.h" } 1760700637cbSDimitry Andric module ranges_iota { header "__numeric/ranges_iota.h" } 1761700637cbSDimitry Andric module saturation_arithmetic { header "__numeric/saturation_arithmetic.h" } 1762700637cbSDimitry Andric module transform_exclusive_scan { header "__numeric/transform_exclusive_scan.h" } 1763700637cbSDimitry Andric module transform_inclusive_scan { header "__numeric/transform_inclusive_scan.h" } 1764700637cbSDimitry Andric module transform_reduce { header "__numeric/transform_reduce.h" } 1765700637cbSDimitry Andric 1766700637cbSDimitry Andric header "numeric" 1767700637cbSDimitry Andric export * 1768700637cbSDimitry Andric } 1769700637cbSDimitry Andric 1770700637cbSDimitry Andric module optional { 1771700637cbSDimitry Andric header "optional" 1772700637cbSDimitry Andric export * 1773700637cbSDimitry Andric } 1774700637cbSDimitry Andric 1775700637cbSDimitry Andric module ostream { 1776700637cbSDimitry Andric module basic_ostream { 1777700637cbSDimitry Andric header "__ostream/basic_ostream.h" 1778700637cbSDimitry Andric export std.ios // base class 1779700637cbSDimitry Andric } 1780700637cbSDimitry Andric module fwd { 1781700637cbSDimitry Andric header "__fwd/ostream.h" 1782700637cbSDimitry Andric } 1783700637cbSDimitry Andric module print { 1784700637cbSDimitry Andric header "__ostream/print.h" 1785700637cbSDimitry Andric export * 1786700637cbSDimitry Andric } 1787700637cbSDimitry Andric module put_character_sequence { header "__ostream/put_character_sequence.h" } 1788700637cbSDimitry Andric 1789700637cbSDimitry Andric header "ostream" 1790700637cbSDimitry Andric export * 1791700637cbSDimitry Andric } 1792700637cbSDimitry Andric 1793700637cbSDimitry Andric module print { 1794700637cbSDimitry Andric header "print" 1795700637cbSDimitry Andric export * 1796700637cbSDimitry Andric } 1797700637cbSDimitry Andric 1798700637cbSDimitry Andric module queue { 1799700637cbSDimitry Andric module fwd { header "__fwd/queue.h" } 1800700637cbSDimitry Andric 1801700637cbSDimitry Andric header "queue" 1802700637cbSDimitry Andric export * 1803700637cbSDimitry Andric } 1804700637cbSDimitry Andric 1805700637cbSDimitry Andric module random { 1806700637cbSDimitry Andric module bernoulli_distribution { header "__random/bernoulli_distribution.h" } 1807700637cbSDimitry Andric module binomial_distribution { header "__random/binomial_distribution.h" } 1808700637cbSDimitry Andric module cauchy_distribution { header "__random/cauchy_distribution.h" } 1809700637cbSDimitry Andric module chi_squared_distribution { header "__random/chi_squared_distribution.h" } 1810700637cbSDimitry Andric module clamp_to_integral { header "__random/clamp_to_integral.h" } 1811700637cbSDimitry Andric module default_random_engine { header "__random/default_random_engine.h" } 1812700637cbSDimitry Andric module discard_block_engine { header "__random/discard_block_engine.h" } 1813700637cbSDimitry Andric module discrete_distribution { header "__random/discrete_distribution.h" } 1814700637cbSDimitry Andric module exponential_distribution { header "__random/exponential_distribution.h" } 1815700637cbSDimitry Andric module extreme_value_distribution { header "__random/extreme_value_distribution.h" } 1816700637cbSDimitry Andric module fisher_f_distribution { header "__random/fisher_f_distribution.h" } 1817700637cbSDimitry Andric module gamma_distribution { header "__random/gamma_distribution.h" } 1818700637cbSDimitry Andric module generate_canonical { header "__random/generate_canonical.h" } 1819700637cbSDimitry Andric module geometric_distribution { header "__random/geometric_distribution.h" } 1820700637cbSDimitry Andric module independent_bits_engine { header "__random/independent_bits_engine.h" } 1821700637cbSDimitry Andric module is_seed_sequence { header "__random/is_seed_sequence.h" } 1822700637cbSDimitry Andric module is_valid { 1823700637cbSDimitry Andric header "__random/is_valid.h" 1824700637cbSDimitry Andric export std_core.type_traits.integral_constant 1825700637cbSDimitry Andric } 1826700637cbSDimitry Andric module knuth_b { header "__random/knuth_b.h" } 1827700637cbSDimitry Andric module linear_congruential_engine { header "__random/linear_congruential_engine.h" } 1828700637cbSDimitry Andric module log2 { header "__random/log2.h" } 1829700637cbSDimitry Andric module lognormal_distribution { header "__random/lognormal_distribution.h" } 1830700637cbSDimitry Andric module mersenne_twister_engine { header "__random/mersenne_twister_engine.h" } 1831700637cbSDimitry Andric module negative_binomial_distribution { header "__random/negative_binomial_distribution.h" } 1832700637cbSDimitry Andric module normal_distribution { header "__random/normal_distribution.h" } 1833700637cbSDimitry Andric module piecewise_constant_distribution { header "__random/piecewise_constant_distribution.h" } 1834700637cbSDimitry Andric module piecewise_linear_distribution { header "__random/piecewise_linear_distribution.h" } 1835700637cbSDimitry Andric module poisson_distribution { header "__random/poisson_distribution.h" } 1836700637cbSDimitry Andric module random_device { header "__random/random_device.h" } 1837700637cbSDimitry Andric module ranlux { header "__random/ranlux.h" } 1838700637cbSDimitry Andric module seed_seq { header "__random/seed_seq.h" } 1839700637cbSDimitry Andric module shuffle_order_engine { header "__random/shuffle_order_engine.h" } 1840700637cbSDimitry Andric module student_t_distribution { header "__random/student_t_distribution.h" } 1841700637cbSDimitry Andric module subtract_with_carry_engine { header "__random/subtract_with_carry_engine.h" } 1842700637cbSDimitry Andric module uniform_int_distribution { header "__random/uniform_int_distribution.h" } 1843700637cbSDimitry Andric module uniform_random_bit_generator { header "__random/uniform_random_bit_generator.h" } 1844700637cbSDimitry Andric module uniform_real_distribution { header "__random/uniform_real_distribution.h" } 1845700637cbSDimitry Andric module weibull_distribution { header "__random/weibull_distribution.h" } 1846700637cbSDimitry Andric 1847700637cbSDimitry Andric header "random" 1848700637cbSDimitry Andric export * 1849700637cbSDimitry Andric } 1850700637cbSDimitry Andric 1851700637cbSDimitry Andric module ranges { 1852700637cbSDimitry Andric module access { header "__ranges/access.h" } 1853700637cbSDimitry Andric module all { header "__ranges/all.h" } 1854700637cbSDimitry Andric module as_rvalue_view { header "__ranges/as_rvalue_view.h" } 1855700637cbSDimitry Andric module chunk_by_view { 1856700637cbSDimitry Andric header "__ranges/chunk_by_view.h" 1857700637cbSDimitry Andric export std.functional.bind_back 1858700637cbSDimitry Andric } 1859700637cbSDimitry Andric module common_view { header "__ranges/common_view.h" } 1860700637cbSDimitry Andric module concepts { header "__ranges/concepts.h" } 1861700637cbSDimitry Andric module container_compatible_range { header "__ranges/container_compatible_range.h" } 1862700637cbSDimitry Andric module counted { 1863700637cbSDimitry Andric header "__ranges/counted.h" 1864700637cbSDimitry Andric export std.span // return type of views::counted 1865700637cbSDimitry Andric export std.ranges.subrange // return type of views::counted 1866700637cbSDimitry Andric } 1867700637cbSDimitry Andric module dangling { 1868700637cbSDimitry Andric header "__ranges/dangling.h" 1869700637cbSDimitry Andric } 1870700637cbSDimitry Andric module data { 1871700637cbSDimitry Andric header "__ranges/data.h" 1872700637cbSDimitry Andric } 1873700637cbSDimitry Andric module drop_view { 1874700637cbSDimitry Andric header "__ranges/drop_view.h" 1875700637cbSDimitry Andric export std.functional.bind_back 1876700637cbSDimitry Andric } 1877700637cbSDimitry Andric module drop_while_view { 1878700637cbSDimitry Andric header "__ranges/drop_while_view.h" 1879700637cbSDimitry Andric export std.functional.bind_back 1880700637cbSDimitry Andric } 1881700637cbSDimitry Andric module elements_view { header "__ranges/elements_view.h" } 1882700637cbSDimitry Andric module empty { header "__ranges/empty.h" } 1883700637cbSDimitry Andric module empty_view { header "__ranges/empty_view.h" } 1884700637cbSDimitry Andric module enable_borrowed_range { header "__ranges/enable_borrowed_range.h" } 1885700637cbSDimitry Andric module enable_view { header "__ranges/enable_view.h" } 1886700637cbSDimitry Andric module filter_view { 1887700637cbSDimitry Andric header "__ranges/filter_view.h" 1888700637cbSDimitry Andric export std.functional.bind_back 1889700637cbSDimitry Andric } 1890700637cbSDimitry Andric module from_range { header "__ranges/from_range.h" } 1891700637cbSDimitry Andric module iota_view { header "__ranges/iota_view.h" } 1892700637cbSDimitry Andric module istream_view { header "__ranges/istream_view.h" } 1893700637cbSDimitry Andric module join_view { header "__ranges/join_view.h" } 1894700637cbSDimitry Andric module join_with_view { header "__ranges/join_with_view.h" } 1895700637cbSDimitry Andric module lazy_split_view { 1896700637cbSDimitry Andric header "__ranges/lazy_split_view.h" 1897700637cbSDimitry Andric export std.functional.bind_back 1898700637cbSDimitry Andric } 1899700637cbSDimitry Andric module movable_box { header "__ranges/movable_box.h" } 1900700637cbSDimitry Andric module non_propagating_cache { header "__ranges/non_propagating_cache.h" } 1901700637cbSDimitry Andric module owning_view { header "__ranges/owning_view.h" } 1902700637cbSDimitry Andric module range_adaptor { header "__ranges/range_adaptor.h" } 1903700637cbSDimitry Andric module rbegin { header "__ranges/rbegin.h" } 1904700637cbSDimitry Andric module ref_view { header "__ranges/ref_view.h" } 1905700637cbSDimitry Andric module rend { header "__ranges/rend.h" } 1906700637cbSDimitry Andric module repeat_view { header "__ranges/repeat_view.h" } 1907700637cbSDimitry Andric module reverse_view { header "__ranges/reverse_view.h" } 1908700637cbSDimitry Andric module single_view { header "__ranges/single_view.h" } 1909700637cbSDimitry Andric module size { header "__ranges/size.h" } 1910700637cbSDimitry Andric module split_view { 1911700637cbSDimitry Andric header "__ranges/split_view.h" 1912700637cbSDimitry Andric export std.functional.bind_back 1913700637cbSDimitry Andric } 1914700637cbSDimitry Andric module subrange { 1915700637cbSDimitry Andric header "__ranges/subrange.h" 1916700637cbSDimitry Andric export std.ranges.subrange_fwd 1917700637cbSDimitry Andric } 1918700637cbSDimitry Andric module subrange_fwd { 1919700637cbSDimitry Andric header "__fwd/subrange.h" 1920700637cbSDimitry Andric } 1921700637cbSDimitry Andric module take_view { 1922700637cbSDimitry Andric header "__ranges/take_view.h" 1923700637cbSDimitry Andric export std.functional.bind_back 1924700637cbSDimitry Andric } 1925700637cbSDimitry Andric module take_while_view { 1926700637cbSDimitry Andric header "__ranges/take_while_view.h" 1927700637cbSDimitry Andric export std.functional.bind_back 1928700637cbSDimitry Andric } 1929700637cbSDimitry Andric module to { 1930700637cbSDimitry Andric header "__ranges/to.h" 1931700637cbSDimitry Andric export std.functional.bind_back 1932700637cbSDimitry Andric } 1933700637cbSDimitry Andric module transform_view { 1934700637cbSDimitry Andric header "__ranges/transform_view.h" 1935700637cbSDimitry Andric export std.functional.bind_back 1936700637cbSDimitry Andric } 1937700637cbSDimitry Andric module view_interface { 1938700637cbSDimitry Andric header "__ranges/view_interface.h" 1939700637cbSDimitry Andric } 1940700637cbSDimitry Andric module views { 1941700637cbSDimitry Andric header "__ranges/views.h" 1942700637cbSDimitry Andric } 1943700637cbSDimitry Andric module zip_view { 1944700637cbSDimitry Andric header "__ranges/zip_view.h" 1945700637cbSDimitry Andric export std.utility.pair 1946700637cbSDimitry Andric } 1947700637cbSDimitry Andric 1948700637cbSDimitry Andric header "ranges" 1949700637cbSDimitry Andric export * 1950700637cbSDimitry Andric } // module ranges 1951700637cbSDimitry Andric 1952700637cbSDimitry Andric module ratio { 1953700637cbSDimitry Andric header "ratio" 1954700637cbSDimitry Andric export * 1955700637cbSDimitry Andric } 1956700637cbSDimitry Andric 1957700637cbSDimitry Andric module regex { 1958700637cbSDimitry Andric header "regex" 1959700637cbSDimitry Andric export * 1960700637cbSDimitry Andric export std.iterator.reverse_iterator 1961700637cbSDimitry Andric } 1962700637cbSDimitry Andric 1963700637cbSDimitry Andric module scoped_allocator { 1964700637cbSDimitry Andric header "scoped_allocator" 1965700637cbSDimitry Andric export * 1966700637cbSDimitry Andric } 1967700637cbSDimitry Andric 1968700637cbSDimitry Andric module semaphore { 1969700637cbSDimitry Andric header "semaphore" 1970700637cbSDimitry Andric export * 1971700637cbSDimitry Andric } 1972700637cbSDimitry Andric 1973700637cbSDimitry Andric module set { 1974700637cbSDimitry Andric module fwd { header "__fwd/set.h" } 1975700637cbSDimitry Andric header "set" 1976700637cbSDimitry Andric export * 1977700637cbSDimitry Andric export std.iterator.reverse_iterator 1978700637cbSDimitry Andric } 1979700637cbSDimitry Andric 1980700637cbSDimitry Andric module shared_mutex { 1981700637cbSDimitry Andric header "shared_mutex" 1982700637cbSDimitry Andric export * 1983700637cbSDimitry Andric } 1984700637cbSDimitry Andric 1985700637cbSDimitry Andric module source_location { 1986700637cbSDimitry Andric header "source_location" 1987700637cbSDimitry Andric export * 1988700637cbSDimitry Andric } 1989700637cbSDimitry Andric 1990700637cbSDimitry Andric module span { 1991700637cbSDimitry Andric module fwd { header "__fwd/span.h" } 1992700637cbSDimitry Andric 1993700637cbSDimitry Andric header "span" 1994700637cbSDimitry Andric export * 1995700637cbSDimitry Andric export std.iterator.reverse_iterator 1996700637cbSDimitry Andric } 1997700637cbSDimitry Andric 1998700637cbSDimitry Andric module sstream { 1999700637cbSDimitry Andric module fwd { header "__fwd/sstream.h" } 2000700637cbSDimitry Andric 2001700637cbSDimitry Andric header "sstream" 2002700637cbSDimitry Andric export * 2003700637cbSDimitry Andric } 2004700637cbSDimitry Andric 2005700637cbSDimitry Andric module stack { 2006700637cbSDimitry Andric module fwd { header "__fwd/stack.h" } 2007700637cbSDimitry Andric 2008700637cbSDimitry Andric header "stack" 2009700637cbSDimitry Andric export * 2010700637cbSDimitry Andric } 2011700637cbSDimitry Andric 2012700637cbSDimitry Andric module stdexcept { 2013700637cbSDimitry Andric header "stdexcept" 2014700637cbSDimitry Andric export * 2015700637cbSDimitry Andric } 2016700637cbSDimitry Andric 2017700637cbSDimitry Andric module stop_token { 2018700637cbSDimitry Andric module atomic_unique_lock { header "__stop_token/atomic_unique_lock.h" } 2019700637cbSDimitry Andric module intrusive_list_view { header "__stop_token/intrusive_list_view.h" } 2020700637cbSDimitry Andric module intrusive_shared_ptr { header "__stop_token/intrusive_shared_ptr.h" } 2021700637cbSDimitry Andric module stop_callback { header "__stop_token/stop_callback.h" } 2022700637cbSDimitry Andric module stop_source { header "__stop_token/stop_source.h" } 2023700637cbSDimitry Andric module stop_state { header "__stop_token/stop_state.h" } 2024700637cbSDimitry Andric module stop_token { header "__stop_token/stop_token.h" } 2025700637cbSDimitry Andric 2026700637cbSDimitry Andric header "stop_token" 2027700637cbSDimitry Andric export * 2028700637cbSDimitry Andric } 2029700637cbSDimitry Andric 2030700637cbSDimitry Andric module streambuf { 2031700637cbSDimitry Andric module fwd { header "__fwd/streambuf.h" } 2032700637cbSDimitry Andric 2033700637cbSDimitry Andric header "streambuf" 2034700637cbSDimitry Andric export * 2035700637cbSDimitry Andric } 2036700637cbSDimitry Andric 2037700637cbSDimitry Andric module string { 2038700637cbSDimitry Andric module char_traits { header "__string/char_traits.h" } 2039700637cbSDimitry Andric module constexpr_c_functions { 2040700637cbSDimitry Andric header "__string/constexpr_c_functions.h" 2041700637cbSDimitry Andric export std.utility.element_count // used as part of the constexpr C function's API 2042700637cbSDimitry Andric } 2043700637cbSDimitry Andric module extern_template_lists { header "__string/extern_template_lists.h" } 2044700637cbSDimitry Andric module fwd { header "__fwd/string.h" } 2045700637cbSDimitry Andric 2046700637cbSDimitry Andric header "string" 2047700637cbSDimitry Andric export * 2048700637cbSDimitry Andric export std.iterator.reverse_iterator 2049700637cbSDimitry Andric } 2050700637cbSDimitry Andric 2051700637cbSDimitry Andric module string_view { 2052700637cbSDimitry Andric module fwd { header "__fwd/string_view.h" } 2053700637cbSDimitry Andric 2054700637cbSDimitry Andric header "string_view" 2055700637cbSDimitry Andric export * 2056700637cbSDimitry Andric export std.iterator.reverse_iterator 2057700637cbSDimitry Andric } 2058700637cbSDimitry Andric 2059700637cbSDimitry Andric module strstream { 2060700637cbSDimitry Andric header "strstream" 2061700637cbSDimitry Andric export * 2062700637cbSDimitry Andric } 2063700637cbSDimitry Andric 2064700637cbSDimitry Andric module syncstream { 2065700637cbSDimitry Andric header "syncstream" 2066700637cbSDimitry Andric export * 2067700637cbSDimitry Andric } 2068700637cbSDimitry Andric 2069700637cbSDimitry Andric module system_error { 2070700637cbSDimitry Andric module errc { header "__system_error/errc.h" } 2071700637cbSDimitry Andric module error_category { header "__system_error/error_category.h" } 2072700637cbSDimitry Andric module error_code { 2073700637cbSDimitry Andric header "__system_error/error_code.h" 2074700637cbSDimitry Andric export std.system_error.error_category // methods of error_code return that type 2075700637cbSDimitry Andric } 2076700637cbSDimitry Andric module error_condition { header "__system_error/error_condition.h" } 2077700637cbSDimitry Andric module system_error { header "__system_error/system_error.h" } 2078700637cbSDimitry Andric module throw_system_error { header "__system_error/throw_system_error.h" } 2079700637cbSDimitry Andric 2080700637cbSDimitry Andric header "system_error" 2081700637cbSDimitry Andric export * 2082700637cbSDimitry Andric } 2083700637cbSDimitry Andric 2084700637cbSDimitry Andric module thread { 2085700637cbSDimitry Andric module formatter { header "__thread/formatter.h" } 2086700637cbSDimitry Andric module id { header "__thread/id.h" } 2087700637cbSDimitry Andric module jthread { header "__thread/jthread.h" } 2088700637cbSDimitry Andric module poll_with_backoff { header "__thread/poll_with_backoff.h" } 2089700637cbSDimitry Andric module this_thread { header "__thread/this_thread.h" } 2090700637cbSDimitry Andric module thread { header "__thread/thread.h" } 2091700637cbSDimitry Andric module timed_backoff_policy { header "__thread/timed_backoff_policy.h" } 2092700637cbSDimitry Andric 2093700637cbSDimitry Andric module support { 2094700637cbSDimitry Andric header "__thread/support.h" 2095700637cbSDimitry Andric export * 2096700637cbSDimitry Andric } 2097700637cbSDimitry Andric module support_impl { 2098700637cbSDimitry Andric textual header "__thread/support/c11.h" 2099700637cbSDimitry Andric textual header "__thread/support/external.h" 2100700637cbSDimitry Andric textual header "__thread/support/pthread.h" 2101700637cbSDimitry Andric textual header "__thread/support/windows.h" 2102700637cbSDimitry Andric } 2103700637cbSDimitry Andric 2104700637cbSDimitry Andric header "thread" 2105700637cbSDimitry Andric export * 2106700637cbSDimitry Andric } 2107700637cbSDimitry Andric 2108700637cbSDimitry Andric module tuple { 2109700637cbSDimitry Andric module find_index { header "__tuple/find_index.h" } 2110700637cbSDimitry Andric module ignore { header "__tuple/ignore.h" } 2111700637cbSDimitry Andric module make_tuple_types { header "__tuple/make_tuple_types.h" } 2112700637cbSDimitry Andric module sfinae_helpers { header "__tuple/sfinae_helpers.h" } 2113700637cbSDimitry Andric module tuple_element { header "__tuple/tuple_element.h" } 2114700637cbSDimitry Andric module tuple_indices { header "__tuple/tuple_indices.h" } 2115700637cbSDimitry Andric module tuple_like_ext { header "__tuple/tuple_like_ext.h" } 2116700637cbSDimitry Andric module tuple_like_no_subrange { header "__tuple/tuple_like_no_subrange.h" } 2117700637cbSDimitry Andric module tuple_like { header "__tuple/tuple_like.h" } 2118700637cbSDimitry Andric module tuple_size { header "__tuple/tuple_size.h" } 2119700637cbSDimitry Andric module tuple_types { header "__tuple/tuple_types.h" } 2120700637cbSDimitry Andric 2121700637cbSDimitry Andric header "tuple" 2122700637cbSDimitry Andric export * 2123700637cbSDimitry Andric } 2124700637cbSDimitry Andric 2125700637cbSDimitry Andric module typeindex { 2126700637cbSDimitry Andric header "typeindex" 2127700637cbSDimitry Andric export * 2128700637cbSDimitry Andric } 2129700637cbSDimitry Andric 2130700637cbSDimitry Andric module typeinfo { 2131700637cbSDimitry Andric header "typeinfo" 2132700637cbSDimitry Andric export * 2133700637cbSDimitry Andric } 2134700637cbSDimitry Andric 2135700637cbSDimitry Andric module unordered_map { 2136700637cbSDimitry Andric header "unordered_map" 2137700637cbSDimitry Andric export * 2138700637cbSDimitry Andric export std.iterator.reverse_iterator 2139700637cbSDimitry Andric } 2140700637cbSDimitry Andric 2141700637cbSDimitry Andric module unordered_set { 2142700637cbSDimitry Andric header "unordered_set" 2143700637cbSDimitry Andric export * 2144700637cbSDimitry Andric export std.iterator.reverse_iterator 2145700637cbSDimitry Andric } 2146700637cbSDimitry Andric 2147700637cbSDimitry Andric module utility { 2148700637cbSDimitry Andric module as_const { header "__utility/as_const.h" } 2149700637cbSDimitry Andric module as_lvalue { header "__utility/as_lvalue.h" } 2150700637cbSDimitry Andric module auto_cast { 2151700637cbSDimitry Andric header "__utility/auto_cast.h" 2152700637cbSDimitry Andric export std_core.type_traits.decay // the macro expansion uses that trait 2153700637cbSDimitry Andric } 2154700637cbSDimitry Andric module cmp { header "__utility/cmp.h" } 2155700637cbSDimitry Andric module convert_to_integral { header "__utility/convert_to_integral.h" } 2156700637cbSDimitry Andric module element_count { header "__utility/element_count.h" } 2157700637cbSDimitry Andric module exception_guard { header "__utility/exception_guard.h" } 2158700637cbSDimitry Andric module exchange { header "__utility/exchange.h" } 2159700637cbSDimitry Andric module forward_like { header "__utility/forward_like.h" } 2160700637cbSDimitry Andric module in_place { 2161700637cbSDimitry Andric header "__utility/in_place.h" 2162700637cbSDimitry Andric export std_core.type_traits.integral_constant 2163700637cbSDimitry Andric } 2164700637cbSDimitry Andric module integer_sequence { header "__utility/integer_sequence.h" } 2165700637cbSDimitry Andric module is_pointer_in_range { header "__utility/is_pointer_in_range.h" } 2166700637cbSDimitry Andric module is_valid_range { header "__utility/is_valid_range.h" } 2167700637cbSDimitry Andric module move { header "__utility/move.h" } 2168700637cbSDimitry Andric module no_destroy { header "__utility/no_destroy.h" } 2169700637cbSDimitry Andric module pair { header "__utility/pair.h" } 2170700637cbSDimitry Andric module piecewise_construct { header "__utility/piecewise_construct.h" } 2171700637cbSDimitry Andric module priority_tag { header "__utility/priority_tag.h" } 2172700637cbSDimitry Andric module private_constructor_tag { header "__utility/private_constructor_tag.h" } 2173700637cbSDimitry Andric module rel_ops { header "__utility/rel_ops.h" } 2174700637cbSDimitry Andric module scope_guard { header "__utility/scope_guard.h" } 2175700637cbSDimitry Andric module small_buffer { header "__utility/small_buffer.h" } 2176700637cbSDimitry Andric module swap { header "__utility/swap.h" } 2177700637cbSDimitry Andric module to_underlying { header "__utility/to_underlying.h" } 2178700637cbSDimitry Andric module unreachable { header "__utility/unreachable.h" } 2179700637cbSDimitry Andric 2180700637cbSDimitry Andric header "utility" 2181700637cbSDimitry Andric export * 2182700637cbSDimitry Andric } 2183700637cbSDimitry Andric 2184700637cbSDimitry Andric module valarray { 2185700637cbSDimitry Andric header "valarray" 2186700637cbSDimitry Andric export * 2187700637cbSDimitry Andric } 2188700637cbSDimitry Andric 2189700637cbSDimitry Andric module variant { 2190700637cbSDimitry Andric module fwd { header "__fwd/variant.h" } 2191700637cbSDimitry Andric module monostate { header "__variant/monostate.h" } 2192700637cbSDimitry Andric 2193700637cbSDimitry Andric header "variant" 2194700637cbSDimitry Andric export * 2195700637cbSDimitry Andric } 2196700637cbSDimitry Andric 2197700637cbSDimitry Andric module vector { 2198700637cbSDimitry Andric module fwd { header "__fwd/vector.h" } 2199700637cbSDimitry Andric 2200700637cbSDimitry Andric module comparison { header "__vector/comparison.h" } 2201700637cbSDimitry Andric module container_traits { header "__vector/container_traits.h" } 2202700637cbSDimitry Andric module erase { header "__vector/erase.h" } 2203700637cbSDimitry Andric module vector_bool_formatter { 2204700637cbSDimitry Andric header "__vector/vector_bool_formatter.h" 2205700637cbSDimitry Andric 2206700637cbSDimitry Andric export std.format.formatter 2207700637cbSDimitry Andric } 2208700637cbSDimitry Andric module pmr { 2209700637cbSDimitry Andric header "__vector/pmr.h" 2210700637cbSDimitry Andric 2211700637cbSDimitry Andric export std.memory_resource.polymorphic_allocator 2212700637cbSDimitry Andric } 2213700637cbSDimitry Andric module swap { header "__vector/swap.h" } 2214700637cbSDimitry Andric module vector_bool { 2215700637cbSDimitry Andric header "__vector/vector_bool.h" 2216700637cbSDimitry Andric export std.bit_reference 2217700637cbSDimitry Andric export std.memory.allocator 2218700637cbSDimitry Andric export std.vector.comparison 2219700637cbSDimitry Andric export std.vector.fwd 2220700637cbSDimitry Andric export std.vector.swap 2221700637cbSDimitry Andric } 2222700637cbSDimitry Andric module vector { 2223700637cbSDimitry Andric header "__vector/vector.h" 2224700637cbSDimitry Andric export std.iterator.bounded_iter 2225700637cbSDimitry Andric export std.iterator.wrap_iter 2226700637cbSDimitry Andric export std.memory.allocator 2227700637cbSDimitry Andric export std.vector.comparison 2228700637cbSDimitry Andric export std.vector.fwd 2229700637cbSDimitry Andric export std.vector.swap 2230700637cbSDimitry Andric } 2231700637cbSDimitry Andric 2232700637cbSDimitry Andric header "vector" 2233700637cbSDimitry Andric export std.iterator.reverse_iterator 2234700637cbSDimitry Andric export * 2235700637cbSDimitry Andric } 2236700637cbSDimitry Andric 2237700637cbSDimitry Andric // Experimental C++ Standard Library interfaces 2238700637cbSDimitry Andric module experimental { 2239700637cbSDimitry Andric module iterator { header "experimental/iterator" } 2240700637cbSDimitry Andric module memory { header "experimental/memory" } 2241700637cbSDimitry Andric module propagate_const { header "experimental/propagate_const" } 2242700637cbSDimitry Andric module type_traits { header "experimental/type_traits" } 2243700637cbSDimitry Andric module utility { header "experimental/utility" } 2244700637cbSDimitry Andric module simd { 2245700637cbSDimitry Andric private header "experimental/__simd/aligned_tag.h" 2246700637cbSDimitry Andric private header "experimental/__simd/declaration.h" 2247700637cbSDimitry Andric private header "experimental/__simd/reference.h" 2248700637cbSDimitry Andric private header "experimental/__simd/scalar.h" 2249700637cbSDimitry Andric private header "experimental/__simd/simd_mask.h" 2250700637cbSDimitry Andric private header "experimental/__simd/simd.h" 2251700637cbSDimitry Andric private header "experimental/__simd/traits.h" 2252700637cbSDimitry Andric private header "experimental/__simd/utility.h" 2253700637cbSDimitry Andric private header "experimental/__simd/vec_ext.h" 2254700637cbSDimitry Andric header "experimental/simd" 2255700637cbSDimitry Andric export * 2256700637cbSDimitry Andric } 2257700637cbSDimitry Andric } 2258700637cbSDimitry Andric 2259700637cbSDimitry Andric // Implementation detail headers that are private to libc++. These modules 2260700637cbSDimitry Andric // must not be directly imported. 2261700637cbSDimitry Andric module debug_utils { 2262700637cbSDimitry Andric module randomize_range { header "__debug_utils/randomize_range.h" } 2263700637cbSDimitry Andric module sanitizers { header "__debug_utils/sanitizers.h" } 2264700637cbSDimitry Andric module strict_weak_ordering_check { header "__debug_utils/strict_weak_ordering_check.h" } 2265700637cbSDimitry Andric } 2266700637cbSDimitry Andric 2267700637cbSDimitry Andric module get_fwd { 2268700637cbSDimitry Andric header "__fwd/get.h" 2269700637cbSDimitry Andric export std_core.fwd.pair 2270700637cbSDimitry Andric export std_core.fwd.tuple 2271700637cbSDimitry Andric export std.array.fwd 2272700637cbSDimitry Andric export std.complex.fwd 2273700637cbSDimitry Andric export std.ranges.subrange_fwd 2274700637cbSDimitry Andric export std.variant.fwd 2275700637cbSDimitry Andric } 2276700637cbSDimitry Andric 2277700637cbSDimitry Andric module pstl { 2278700637cbSDimitry Andric module backend_fwd { 2279700637cbSDimitry Andric header "__pstl/backend_fwd.h" 2280700637cbSDimitry Andric } 2281700637cbSDimitry Andric module backend { 2282700637cbSDimitry Andric header "__pstl/backend.h" 2283700637cbSDimitry Andric export * // need to export everything from whatever backend is currently configured 2284700637cbSDimitry Andric } 2285700637cbSDimitry Andric module backends { 2286700637cbSDimitry Andric module default { 2287700637cbSDimitry Andric header "__pstl/backends/default.h" 2288700637cbSDimitry Andric export std_core.utility_core.empty 2289700637cbSDimitry Andric } 2290700637cbSDimitry Andric module libdispatch { 2291700637cbSDimitry Andric header "__pstl/backends/libdispatch.h" 2292700637cbSDimitry Andric export std.pstl.cpu_algos 2293700637cbSDimitry Andric export std_core.utility_core.empty 2294700637cbSDimitry Andric } 2295700637cbSDimitry Andric module serial { 2296700637cbSDimitry Andric header "__pstl/backends/serial.h" 2297700637cbSDimitry Andric export std_core.utility_core.empty 2298700637cbSDimitry Andric } 2299700637cbSDimitry Andric module std_thread { 2300700637cbSDimitry Andric header "__pstl/backends/std_thread.h" 2301700637cbSDimitry Andric export std.pstl.cpu_algos 2302700637cbSDimitry Andric export std_core.utility_core.empty 2303700637cbSDimitry Andric } 2304700637cbSDimitry Andric } 2305700637cbSDimitry Andric module cpu_algos { 2306700637cbSDimitry Andric module any_of { 2307700637cbSDimitry Andric header "__pstl/cpu_algos/any_of.h" 2308700637cbSDimitry Andric } 2309700637cbSDimitry Andric module cpu_traits { 2310700637cbSDimitry Andric header "__pstl/cpu_algos/cpu_traits.h" 2311700637cbSDimitry Andric } 2312700637cbSDimitry Andric module fill { 2313700637cbSDimitry Andric header "__pstl/cpu_algos/fill.h" 2314700637cbSDimitry Andric export std_core.utility_core.empty 2315700637cbSDimitry Andric } 2316700637cbSDimitry Andric module find_if { 2317700637cbSDimitry Andric header "__pstl/cpu_algos/find_if.h" 2318700637cbSDimitry Andric } 2319700637cbSDimitry Andric module for_each { 2320700637cbSDimitry Andric header "__pstl/cpu_algos/for_each.h" 2321700637cbSDimitry Andric export std_core.utility_core.empty 2322700637cbSDimitry Andric } 2323700637cbSDimitry Andric module merge { 2324700637cbSDimitry Andric header "__pstl/cpu_algos/merge.h" 2325700637cbSDimitry Andric } 2326700637cbSDimitry Andric module stable_sort { 2327700637cbSDimitry Andric header "__pstl/cpu_algos/stable_sort.h" 2328700637cbSDimitry Andric export std_core.utility_core.empty 2329700637cbSDimitry Andric } 2330700637cbSDimitry Andric module transform { 2331700637cbSDimitry Andric header "__pstl/cpu_algos/transform.h" 2332700637cbSDimitry Andric } 2333700637cbSDimitry Andric module transform_reduce { 2334700637cbSDimitry Andric header "__pstl/cpu_algos/transform_reduce.h" 2335700637cbSDimitry Andric } 2336700637cbSDimitry Andric } 2337700637cbSDimitry Andric module dispatch { header "__pstl/dispatch.h" } 2338700637cbSDimitry Andric module handle_exception { header "__pstl/handle_exception.h" } 2339700637cbSDimitry Andric } 2340700637cbSDimitry Andric 2341700637cbSDimitry Andric // Miscellaneous modules for top-level headers 2342700637cbSDimitry Andric module bit_reference_fwd { 2343700637cbSDimitry Andric header "__fwd/bit_reference.h" 2344700637cbSDimitry Andric } 2345700637cbSDimitry Andric module bit_reference { 2346700637cbSDimitry Andric header "__bit_reference" 2347700637cbSDimitry Andric export std.bit_reference_fwd 2348700637cbSDimitry Andric } 2349700637cbSDimitry Andric module hash_table { header "__hash_table" } 2350700637cbSDimitry Andric module node_handle { header "__node_handle" } 2351700637cbSDimitry Andric module split_buffer { header "__split_buffer" } 2352700637cbSDimitry Andric module tree { header "__tree" } 2353700637cbSDimitry Andric module std_mbstate_t { 2354700637cbSDimitry Andric header "__std_mbstate_t.h" 2355700637cbSDimitry Andric export * 2356700637cbSDimitry Andric } 2357*e64bea71SDimitry Andric module log_hardening_failure { 2358*e64bea71SDimitry Andric header "__log_hardening_failure" 2359*e64bea71SDimitry Andric } 2360700637cbSDimitry Andric module verbose_abort { 2361700637cbSDimitry Andric header "__verbose_abort" 2362700637cbSDimitry Andric } 2363700637cbSDimitry Andric module verbose_trap { 2364700637cbSDimitry Andric header "__verbose_trap" 2365700637cbSDimitry Andric } 2366700637cbSDimitry Andric module internal_assert { 2367700637cbSDimitry Andric header "__assert" 2368700637cbSDimitry Andric export * 2369700637cbSDimitry Andric } 2370700637cbSDimitry Andric module assertion_handler { 2371700637cbSDimitry Andric header "__assertion_handler" // generated via CMake 2372700637cbSDimitry Andric export * 2373700637cbSDimitry Andric } 2374700637cbSDimitry Andric 2375700637cbSDimitry Andric module undef_macros { 2376700637cbSDimitry Andric textual header "__undef_macros" 2377700637cbSDimitry Andric } 2378700637cbSDimitry Andric 2379700637cbSDimitry Andric // This module needs to appear after __tree to work around issues with modules in Objective-C++ mode. 2380700637cbSDimitry Andric module coroutine { 2381700637cbSDimitry Andric module coroutine_handle { header "__coroutine/coroutine_handle.h" } 2382700637cbSDimitry Andric module coroutine_traits { header "__coroutine/coroutine_traits.h" } 2383700637cbSDimitry Andric module noop_coroutine_handle { header "__coroutine/noop_coroutine_handle.h" } 2384700637cbSDimitry Andric module trivial_awaitables { header "__coroutine/trivial_awaitables.h" } 2385700637cbSDimitry Andric 2386700637cbSDimitry Andric header "coroutine" 2387700637cbSDimitry Andric export * 2388700637cbSDimitry Andric } 2389700637cbSDimitry Andric} // module std 2390700637cbSDimitry Andric 2391700637cbSDimitry Andric// C compatibility headers 2392700637cbSDimitry Andric// 2393700637cbSDimitry Andric// These modules need to be their own top-level modules because they depend on the system-provided 2394700637cbSDimitry Andric// headers (via include_next), which are then free to include other C headers provided by libc++. 2395700637cbSDimitry Andric// If we group these headers in a single module, we would end up with circular dependencies. 2396700637cbSDimitry Andricmodule std_complex_h [system] { 2397700637cbSDimitry Andric header "complex.h" 2398700637cbSDimitry Andric export * 2399700637cbSDimitry Andric} 2400700637cbSDimitry Andricmodule std_ctype_h [system] { 2401700637cbSDimitry Andric header "ctype.h" 2402700637cbSDimitry Andric export * 2403700637cbSDimitry Andric} 2404700637cbSDimitry Andricmodule std_errno_h [system] { 2405700637cbSDimitry Andric header "errno.h" 2406700637cbSDimitry Andric export * 2407700637cbSDimitry Andric} 2408700637cbSDimitry Andricmodule std_fenv_h [system] { 2409700637cbSDimitry Andric header "fenv.h" 2410700637cbSDimitry Andric export * 2411700637cbSDimitry Andric} 2412700637cbSDimitry Andricmodule std_float_h [system] { 2413700637cbSDimitry Andric header "float.h" 2414700637cbSDimitry Andric export * 2415700637cbSDimitry Andric} 2416700637cbSDimitry Andricmodule std_inttypes_h [system] { 2417700637cbSDimitry Andric header "inttypes.h" 2418700637cbSDimitry Andric export * 2419700637cbSDimitry Andric} 2420700637cbSDimitry Andricmodule std_math_h [system] { 2421700637cbSDimitry Andric header "math.h" 2422700637cbSDimitry Andric export * 2423700637cbSDimitry Andric} 2424700637cbSDimitry Andricmodule std_stdatomic_h [system] { 2425700637cbSDimitry Andric header "stdatomic.h" 2426700637cbSDimitry Andric export * 2427700637cbSDimitry Andric} 2428700637cbSDimitry Andricmodule std_stdbool_h [system] { 2429700637cbSDimitry Andric // <stdbool.h>'s __bool_true_false_are_defined macro requires textual inclusion. 2430700637cbSDimitry Andric textual header "stdbool.h" 2431700637cbSDimitry Andric} 2432700637cbSDimitry Andricmodule std_stddef_h [system] { 2433700637cbSDimitry Andric // <stddef.h> supports being included multiple times with different pre-defined macros 2434700637cbSDimitry Andric textual header "stddef.h" 2435700637cbSDimitry Andric} 2436700637cbSDimitry Andricmodule std_stdio_h [system] { 2437700637cbSDimitry Andric // <stdio.h> supports being included multiple times with different pre-defined macros 2438700637cbSDimitry Andric textual header "stdio.h" 2439700637cbSDimitry Andric} 2440700637cbSDimitry Andricmodule std_stdlib_h [system] { 2441700637cbSDimitry Andric // <stdlib.h> supports being included multiple times with different pre-defined macros 2442700637cbSDimitry Andric textual header "stdlib.h" 2443700637cbSDimitry Andric} 2444700637cbSDimitry Andricmodule std_string_h [system] { 2445700637cbSDimitry Andric header "string.h" 2446700637cbSDimitry Andric export * 2447700637cbSDimitry Andric} 2448700637cbSDimitry Andricmodule std_tgmath_h [system] { 2449700637cbSDimitry Andric header "tgmath.h" 2450700637cbSDimitry Andric export * 2451700637cbSDimitry Andric} 2452700637cbSDimitry Andricmodule std_uchar_h [system] { 2453700637cbSDimitry Andric header "uchar.h" 2454700637cbSDimitry Andric export * 2455700637cbSDimitry Andric} 2456700637cbSDimitry Andricmodule std_wchar_h [system] { 2457700637cbSDimitry Andric // <wchar.h> supports being included multiple times with different pre-defined macros 2458700637cbSDimitry Andric textual header "wchar.h" 2459700637cbSDimitry Andric} 2460700637cbSDimitry Andricmodule std_wctype_h [system] { 2461700637cbSDimitry Andric header "wctype.h" 2462700637cbSDimitry Andric export * 2463700637cbSDimitry Andric} 2464700637cbSDimitry Andric 2465700637cbSDimitry Andric// This header is used by other C compatibility headers so it needs to be in its own module. 2466700637cbSDimitry Andricmodule std_private_mbstate_t [system] { 2467700637cbSDimitry Andric header "__mbstate_t.h" 2468700637cbSDimitry Andric export * 2469700637cbSDimitry Andric} 2470