diff --git a/ctl/.clang-format b/ctl/.clang-format index 9daf0a9e9..5c2c5d239 100644 --- a/ctl/.clang-format +++ b/ctl/.clang-format @@ -9,4 +9,5 @@ AlignTrailingComments: false AlignEscapedNewlines: DontAlign AlwaysBreakTemplateDeclarations: true ConstructorInitializerAllOnOneLineOrOnePerLine: true +FixNamespaceComments: true --- diff --git a/ctl/README.md b/ctl/README.md index 27cb9d932..89b5c9974 100644 --- a/ctl/README.md +++ b/ctl/README.md @@ -173,2669 +173,2717 @@ cstdatomic - - - - - cstdalign 7 8 7 8 9 - ``` -But wait, it gets better! Let's look at the transitive includes of -`#include ` with modern LLVM libcxx in the cosmo repo, by -running the following command: +But wait, it gets better! Cosmo has a script that explains the +complexity of transitive includes. Most Cosmopolitan headers are +designed to not include other headers, e.g. `stdio.h`, `calls.h`, +`runtime.h`, `thread.h`, etc. CTL is no exception to this rule. +For example, here's the tool output for `#include `: ``` -tool/scripts/explain-deps.py string +$ tool/scripts/explain-deps.py ctl/string.h +ctl/string.h + ctl/string_view.h ``` -There's four thousand of them which the compiler needs to consider. It's -totally bonkers. Most Cosmopolitan headers are designed to not include a -single other header, e.g. calls.h, thread.h, runtime.h, etc. So the goal -here is to bring that tradition to the C++ language too. For example our -`#include ` header, literally does not have a single `#include`. -Please note to include our one you should use `#include `. +As we can see, `ctl/string.h` only includes `ctl/string_view.h` and the +string view header includes literally nothing else. + +On the other hand, if we `#include ` for the LLVM libcxx header +containing the `std::string` class, then the compiler needs to consider +4,800 `#include` lines. Most of them are edges it'll discount since +they've already been included but the sum total of files that get +included is 694! ``` -string - compare - __assert - __config - __config_site - features.h - features.h - sys/endian.h - osreldate.h - sys/endian.h - endian.h +$ tool/scripts/explain-deps.py string | sed 's/[ \t]*//g' | sort -u | wc -l +694 + +$ tool/scripts/explain-deps.py string +third_party/libcxx/string + third_party/libcxx/compare + third_party/libcxx/__assert + third_party/libcxx/__config + third_party/libcxx/__config_site + libc/isystem/features.h + libc/isystem/features.h + libc/isystem/endian.h libc/intrin/newbie.h libc/intrin/bswap.h libc/sysv/consts/endian.h - __verbose_abort - __availability - __config - __config - __compare/common_comparison_category.h - __compare/ordering.h - __config - __type_traits/enable_if.h - __config - __type_traits/is_same.h - __config - __type_traits/integral_constant.h - __config - __config - __type_traits/is_same.h - cstddef - __assert - __config - __type_traits/enable_if.h - __type_traits/integral_constant.h - __type_traits/is_integral.h - __config - __type_traits/integral_constant.h - __type_traits/remove_cv.h - __config - __type_traits/remove_const.h - __config - __type_traits/remove_volatile.h - __config - version - __assert - __config - stddef.h - __config - stddef.h - stddef.h - __compare/compare_partial_order_fallback.h - __compare/ordering.h - __compare/partial_order.h - __compare/compare_three_way.h - __compare/three_way_comparable.h - __compare/common_comparison_category.h - __compare/ordering.h - __concepts/common_reference_with.h - __concepts/convertible_to.h - __config - __type_traits/is_convertible.h - __config - __type_traits/integral_constant.h - __type_traits/is_array.h - __config - __type_traits/integral_constant.h - cstddef - __type_traits/is_function.h - __config - __type_traits/integral_constant.h - __type_traits/is_const.h - __config - __type_traits/integral_constant.h - __type_traits/is_reference.h - __config - __type_traits/integral_constant.h - __type_traits/is_void.h - __config - __type_traits/integral_constant.h - __type_traits/is_same.h - __type_traits/remove_cv.h - __type_traits/remove_reference.h - __config - cstddef - __utility/declval.h - __config - cstddef - __utility/declval.h - __concepts/same_as.h - __config - __type_traits/is_same.h - __config - __type_traits/common_reference.h - __config - __type_traits/common_type.h - __config - __type_traits/conditional.h - __config - __type_traits/decay.h - __config - __type_traits/add_pointer.h - __config - __type_traits/is_referenceable.h - __config - __type_traits/integral_constant.h - __type_traits/is_same.h - __type_traits/is_same.h - __type_traits/is_void.h - __type_traits/remove_cv.h - __type_traits/remove_reference.h - __type_traits/conditional.h - __type_traits/is_array.h - __type_traits/is_function.h - __type_traits/is_referenceable.h - __type_traits/remove_cv.h - __type_traits/remove_extent.h - __config - cstddef - __type_traits/remove_reference.h - __type_traits/is_same.h - __type_traits/remove_cvref.h - __config - __type_traits/is_same.h - __type_traits/remove_cv.h - __type_traits/remove_reference.h - __type_traits/void_t.h - __config - __utility/declval.h - __type_traits/copy_cv.h - __config - __type_traits/add_const.h - __config - __type_traits/add_cv.h - __config - __type_traits/add_volatile.h - __config - __type_traits/copy_cvref.h - __config - __type_traits/add_lvalue_reference.h - __config - __type_traits/is_referenceable.h - __type_traits/add_rvalue_reference.h - __config - __type_traits/is_referenceable.h - __type_traits/copy_cv.h - __type_traits/is_convertible.h - __type_traits/is_reference.h - __type_traits/remove_cv.h - __type_traits/remove_cvref.h - __type_traits/remove_reference.h - __utility/declval.h - __concepts/equality_comparable.h - __concepts/boolean_testable.h - __concepts/convertible_to.h - __config - __utility/forward.h - __config - __type_traits/is_reference.h - __type_traits/remove_reference.h - __concepts/common_reference_with.h - __config - __type_traits/common_reference.h - __type_traits/make_const_lvalue_ref.h - __config - __type_traits/remove_reference.h - __concepts/same_as.h - __concepts/totally_ordered.h - __concepts/boolean_testable.h - __concepts/equality_comparable.h - __config - __type_traits/common_reference.h - __type_traits/make_const_lvalue_ref.h - __config - __type_traits/common_reference.h - __type_traits/make_const_lvalue_ref.h - __config - __utility/forward.h - __compare/ordering.h - __compare/weak_order.h - __compare/compare_three_way.h - __compare/ordering.h - __compare/strong_order.h - __bit/bit_cast.h - __config - __type_traits/is_trivially_copyable.h - __config - __type_traits/integral_constant.h - cstdint - __assert - __config - stdint.h - __config - stdint.h - __compare/compare_three_way.h - __compare/ordering.h - __config - __type_traits/conditional.h - __type_traits/decay.h - __utility/forward.h - __utility/priority_tag.h - __config - cstddef - cmath - __assert - __config - __type_traits/enable_if.h - __type_traits/is_arithmetic.h - __config - __type_traits/integral_constant.h - __type_traits/is_floating_point.h - __config - __type_traits/integral_constant.h - __type_traits/remove_cv.h - __type_traits/is_integral.h - __type_traits/is_constant_evaluated.h - __config - __type_traits/is_floating_point.h - __type_traits/is_same.h - __type_traits/promote.h - __config - __type_traits/integral_constant.h - __type_traits/is_same.h - __utility/declval.h - __type_traits/remove_cv.h - version - math.h - __config - __type_traits/enable_if.h - __type_traits/is_floating_point.h - __type_traits/is_integral.h - __type_traits/is_same.h - __type_traits/promote.h - limits - __assert - __config - __type_traits/is_arithmetic.h - __type_traits/is_signed.h - __config - __type_traits/integral_constant.h - __type_traits/is_arithmetic.h - __type_traits/is_integral.h - __type_traits/remove_cv.h - __undef_macros - version - type_traits - __assert - __config - __fwd/hash.h - __config - __type_traits/add_const.h - __type_traits/add_cv.h - __type_traits/add_lvalue_reference.h - __type_traits/add_pointer.h - __type_traits/add_rvalue_reference.h - __type_traits/add_volatile.h - __type_traits/aligned_storage.h - __config - __type_traits/conditional.h - __type_traits/integral_constant.h - __type_traits/nat.h - __config - __type_traits/type_list.h - __config - cstddef - cstddef - __type_traits/aligned_union.h - __config - __type_traits/aligned_storage.h - __type_traits/integral_constant.h - cstddef - __type_traits/alignment_of.h - __config - __type_traits/integral_constant.h - cstddef - __type_traits/apply_cv.h - __config - __type_traits/is_const.h - __type_traits/is_volatile.h - __config - __type_traits/integral_constant.h - __type_traits/remove_reference.h - __type_traits/can_extract_key.h - __config - __fwd/pair.h - __config - __type_traits/conditional.h - __type_traits/integral_constant.h - __type_traits/is_same.h - __type_traits/remove_const.h - __type_traits/remove_const_ref.h - __config - __type_traits/remove_const.h - __type_traits/remove_reference.h - __type_traits/common_reference.h - __type_traits/common_type.h - __type_traits/conditional.h - __type_traits/conjunction.h - __config - __type_traits/conditional.h - __type_traits/enable_if.h - __type_traits/integral_constant.h - __type_traits/decay.h - __type_traits/dependent_type.h - __config - __type_traits/disjunction.h - __config - __type_traits/integral_constant.h - __type_traits/enable_if.h - __type_traits/extent.h - __config - __type_traits/integral_constant.h - cstddef - __type_traits/has_unique_object_representation.h - __config - __type_traits/integral_constant.h - __type_traits/remove_all_extents.h - __config - cstddef - __type_traits/remove_cv.h - __type_traits/has_virtual_destructor.h - __config - __type_traits/integral_constant.h - __type_traits/integral_constant.h - __type_traits/invoke.h - __config - __type_traits/add_lvalue_reference.h - __type_traits/apply_cv.h - __type_traits/conditional.h - __type_traits/decay.h - __type_traits/enable_if.h - __type_traits/integral_constant.h - __type_traits/is_base_of.h - __config - __type_traits/integral_constant.h - __type_traits/is_core_convertible.h - __config - __type_traits/integral_constant.h - __type_traits/is_member_function_pointer.h - __config - __type_traits/integral_constant.h - __type_traits/is_function.h - __type_traits/remove_cv.h - cstddef - __type_traits/is_member_object_pointer.h - __config - __type_traits/remove_cv.h - __type_traits/is_member_function_pointer.h - __type_traits/integral_constant.h - __type_traits/is_reference_wrapper.h - __config - __type_traits/integral_constant.h - __type_traits/remove_cv.h - __type_traits/is_same.h - __type_traits/is_void.h - __type_traits/nat.h - __type_traits/remove_cv.h - __utility/declval.h - __utility/forward.h - __type_traits/is_abstract.h - __config - __type_traits/integral_constant.h - __type_traits/is_aggregate.h - __config - __type_traits/integral_constant.h - __type_traits/is_arithmetic.h - __type_traits/is_array.h - __type_traits/is_assignable.h - __config - __type_traits/integral_constant.h - __type_traits/is_base_of.h - __type_traits/is_bounded_array.h - __config - __type_traits/integral_constant.h - cstddef - __type_traits/is_callable.h - __config - __type_traits/integral_constant.h - __utility/declval.h - __type_traits/is_char_like_type.h - __config - __type_traits/conjunction.h - __type_traits/is_standard_layout.h - __config - __type_traits/integral_constant.h - __type_traits/is_trivial.h - __config - __type_traits/integral_constant.h - __type_traits/is_class.h - __config - __type_traits/integral_constant.h - __type_traits/is_compound.h - __config - __type_traits/integral_constant.h - __type_traits/is_fundamental.h - __config - __type_traits/integral_constant.h - __type_traits/is_null_pointer.h - __config - __type_traits/integral_constant.h - __type_traits/remove_cv.h - cstddef - __type_traits/is_void.h - __type_traits/is_arithmetic.h - __type_traits/is_const.h - __type_traits/is_constant_evaluated.h - __type_traits/is_constructible.h - __config - __type_traits/integral_constant.h - __type_traits/is_convertible.h - __type_traits/is_copy_assignable.h - __config - __type_traits/add_const.h - __type_traits/add_lvalue_reference.h - __type_traits/integral_constant.h - __type_traits/is_copy_constructible.h - __config - __type_traits/add_const.h - __type_traits/add_lvalue_reference.h - __type_traits/integral_constant.h - __type_traits/is_default_constructible.h - __config - __type_traits/integral_constant.h - __type_traits/is_destructible.h - __config - __type_traits/integral_constant.h - __type_traits/is_function.h - __type_traits/is_reference.h - __type_traits/remove_all_extents.h - __utility/declval.h - __type_traits/is_empty.h - __config - __type_traits/integral_constant.h - __type_traits/is_enum.h - __config - __type_traits/integral_constant.h - __type_traits/is_final.h - __config - __type_traits/integral_constant.h - __type_traits/is_floating_point.h - __type_traits/is_function.h - __type_traits/is_fundamental.h - __type_traits/is_implicitly_default_constructible.h - __config - __type_traits/integral_constant.h - __type_traits/is_default_constructible.h - __type_traits/is_integral.h - __type_traits/is_literal_type.h - __config - __type_traits/integral_constant.h - __type_traits/is_member_function_pointer.h - __type_traits/is_member_object_pointer.h - __type_traits/is_member_pointer.h - __config - __type_traits/integral_constant.h - __type_traits/is_member_function_pointer.h - __type_traits/is_move_assignable.h - __config - __type_traits/add_lvalue_reference.h - __type_traits/add_rvalue_reference.h - __type_traits/integral_constant.h - __type_traits/is_move_constructible.h - __config - __type_traits/add_rvalue_reference.h - __type_traits/integral_constant.h - __type_traits/is_nothrow_assignable.h - __config - __type_traits/integral_constant.h - __type_traits/is_nothrow_constructible.h - __config - __type_traits/integral_constant.h - __type_traits/is_constructible.h - __type_traits/is_reference.h - __utility/declval.h - cstddef - __type_traits/is_nothrow_convertible.h - __config - __type_traits/conjunction.h - __type_traits/disjunction.h - __type_traits/integral_constant.h - __type_traits/is_convertible.h - __type_traits/is_void.h - __type_traits/lazy.h - __config - __utility/declval.h - __type_traits/is_nothrow_copy_assignable.h - __config - __type_traits/add_const.h - __type_traits/add_lvalue_reference.h - __type_traits/integral_constant.h - __type_traits/is_nothrow_copy_constructible.h - __config - __type_traits/add_const.h - __type_traits/add_lvalue_reference.h - __type_traits/integral_constant.h - __type_traits/is_nothrow_constructible.h - __type_traits/is_nothrow_default_constructible.h - __config - __type_traits/integral_constant.h - __type_traits/is_nothrow_destructible.h - __config - __type_traits/integral_constant.h - __type_traits/is_destructible.h - __type_traits/is_reference.h - __type_traits/is_scalar.h - __config - __type_traits/integral_constant.h - __type_traits/is_arithmetic.h - __type_traits/is_enum.h - __type_traits/is_member_pointer.h - __type_traits/is_null_pointer.h - __type_traits/is_pointer.h - __config - __type_traits/integral_constant.h - __type_traits/remove_cv.h - __type_traits/remove_all_extents.h - __utility/declval.h - cstddef - __type_traits/is_nothrow_move_assignable.h - __config - __type_traits/add_lvalue_reference.h - __type_traits/add_rvalue_reference.h - __type_traits/integral_constant.h - __type_traits/is_nothrow_move_constructible.h - __config - __type_traits/add_rvalue_reference.h - __type_traits/integral_constant.h - __type_traits/is_nothrow_constructible.h - __type_traits/is_null_pointer.h - __type_traits/is_object.h - __config - __type_traits/integral_constant.h - __type_traits/is_array.h - __type_traits/is_class.h - __type_traits/is_scalar.h - __type_traits/is_union.h - __config - __type_traits/integral_constant.h - __type_traits/is_pod.h - __config - __type_traits/integral_constant.h - __type_traits/is_pointer.h - __type_traits/is_polymorphic.h - __config - __type_traits/integral_constant.h - __type_traits/is_reference.h - __type_traits/is_reference_wrapper.h - __type_traits/is_referenceable.h - __type_traits/is_same.h - __type_traits/is_scalar.h - __type_traits/is_scoped_enum.h - __config - __type_traits/integral_constant.h - __type_traits/is_convertible.h - __type_traits/is_enum.h - __type_traits/underlying_type.h - __config - __type_traits/is_enum.h - __type_traits/is_signed.h - __type_traits/is_specialization.h - __config - __type_traits/is_standard_layout.h - __type_traits/is_swappable.h - __config - __type_traits/add_lvalue_reference.h - __type_traits/conditional.h - __type_traits/enable_if.h - __type_traits/is_move_assignable.h - __type_traits/is_move_constructible.h - __type_traits/is_nothrow_move_assignable.h - __type_traits/is_nothrow_move_constructible.h - __type_traits/is_referenceable.h - __type_traits/is_same.h - __type_traits/is_void.h - __type_traits/nat.h - __utility/declval.h - cstddef - __type_traits/is_trivial.h - __type_traits/is_trivially_assignable.h - __config - __type_traits/integral_constant.h - __type_traits/is_trivially_constructible.h - __config - __type_traits/integral_constant.h - __type_traits/is_trivially_copy_assignable.h - __config - __type_traits/add_const.h - __type_traits/add_lvalue_reference.h - __type_traits/integral_constant.h - __type_traits/is_trivially_copy_constructible.h - __config - __type_traits/add_lvalue_reference.h - __type_traits/integral_constant.h - __type_traits/is_trivially_copyable.h - __type_traits/is_trivially_default_constructible.h - __config - __type_traits/integral_constant.h - __type_traits/is_trivially_destructible.h - __config - __type_traits/integral_constant.h - __type_traits/is_destructible.h - __type_traits/is_trivially_move_assignable.h - __config - __type_traits/add_lvalue_reference.h - __type_traits/add_rvalue_reference.h - __type_traits/integral_constant.h - __type_traits/is_trivially_move_constructible.h - __config - __type_traits/add_rvalue_reference.h - __type_traits/integral_constant.h - __type_traits/is_unbounded_array.h - __config - __type_traits/integral_constant.h - __type_traits/is_union.h - __type_traits/is_unsigned.h - __config - __type_traits/integral_constant.h - __type_traits/is_arithmetic.h - __type_traits/is_integral.h - __type_traits/is_void.h - __type_traits/is_volatile.h - __type_traits/make_const_lvalue_ref.h - __type_traits/make_signed.h - __config - __type_traits/apply_cv.h - __type_traits/is_enum.h - __type_traits/is_integral.h - __type_traits/nat.h - __type_traits/remove_cv.h - __type_traits/type_list.h - __type_traits/make_unsigned.h - __config - __type_traits/apply_cv.h - __type_traits/conditional.h - __type_traits/is_enum.h - __type_traits/is_integral.h - __type_traits/is_unsigned.h - __type_traits/nat.h - __type_traits/remove_cv.h - __type_traits/type_list.h - __type_traits/maybe_const.h - __config - __type_traits/conditional.h - __type_traits/negation.h - __config - __type_traits/integral_constant.h - __type_traits/rank.h - __config - __type_traits/integral_constant.h - cstddef - __type_traits/remove_all_extents.h - __type_traits/remove_const.h - __type_traits/remove_const_ref.h - __type_traits/remove_cv.h - __type_traits/remove_extent.h - __type_traits/remove_pointer.h - __config - __type_traits/remove_reference.h - __type_traits/remove_volatile.h - __type_traits/result_of.h - __config - __functional/invoke.h - __config - __type_traits/invoke.h - __utility/forward.h - __type_traits/type_identity.h - __config - __type_traits/underlying_type.h - __type_traits/unwrap_ref.h - __config - __type_traits/decay.h - __type_traits/void_t.h - __utility/declval.h - cstddef - cstdint - version - stdlib.h - __config - stdlib.h - stdlib.h - math.h - math.h - math.h - __undef_macros - type_traits - cstdint - limits - __undef_macros - __config - __type_traits/decay.h - __utility/forward.h - __utility/priority_tag.h - cmath - __config - __type_traits/decay.h - __type_traits/is_same.h - __utility/forward.h - __utility/priority_tag.h - __config - __type_traits/decay.h - __type_traits/is_same.h - __utility/forward.h - __utility/priority_tag.h - __compare/compare_strong_order_fallback.h - __compare/ordering.h - __compare/strong_order.h - __config - __type_traits/decay.h - __type_traits/is_same.h - __utility/forward.h - __utility/priority_tag.h - __compare/compare_three_way.h - __compare/compare_three_way_result.h - __config - __type_traits/make_const_lvalue_ref.h - __utility/declval.h - __compare/compare_weak_order_fallback.h - __compare/ordering.h - __compare/weak_order.h - __config - __type_traits/decay.h - __type_traits/is_same.h - __utility/forward.h - __utility/priority_tag.h - __compare/is_eq.h - __compare/ordering.h - __config - __compare/ordering.h - __compare/partial_order.h - __compare/strong_order.h - __compare/synth_three_way.h - __compare/ordering.h - __compare/three_way_comparable.h - __concepts/boolean_testable.h - __config - __utility/declval.h - __compare/three_way_comparable.h - __compare/weak_order.h - __config - version - type_traits - initializer_list - __assert - __config - cstddef - __algorithm/max.h - __algorithm/comp.h - __config - __type_traits/integral_constant.h - __type_traits/predicate_traits.h - __config - __type_traits/integral_constant.h - __algorithm/comp_ref_type.h - __config - __debug - __assert - __config - __type_traits/is_constant_evaluated.h - cstddef - __utility/declval.h - __algorithm/max_element.h - __algorithm/comp.h - __algorithm/comp_ref_type.h - __config - __iterator/iterator_traits.h - __concepts/arithmetic.h - __config - __type_traits/is_floating_point.h - __type_traits/is_integral.h - __type_traits/is_signed.h - __type_traits/is_signed_integer.h - __config - __type_traits/integral_constant.h - __type_traits/is_unsigned_integer.h - __config - __type_traits/integral_constant.h - __concepts/constructible.h - __concepts/convertible_to.h - __concepts/destructible.h - __config - __type_traits/is_nothrow_destructible.h - __config - __type_traits/is_constructible.h - __concepts/convertible_to.h - __concepts/copyable.h - __concepts/assignable.h - __concepts/common_reference_with.h - __concepts/same_as.h - __config - __type_traits/is_reference.h - __type_traits/make_const_lvalue_ref.h - __utility/forward.h - __concepts/constructible.h - __concepts/movable.h - __concepts/assignable.h - __concepts/constructible.h - __concepts/swappable.h - __concepts/assignable.h - __concepts/class_or_enum.h - __config - __type_traits/is_class.h - __type_traits/is_enum.h - __type_traits/is_union.h - __type_traits/remove_cvref.h - __concepts/common_reference_with.h - __concepts/constructible.h - __config - __type_traits/extent.h - __type_traits/is_nothrow_move_assignable.h - __type_traits/is_nothrow_move_constructible.h - __type_traits/remove_cvref.h - __utility/exchange.h - __config - __type_traits/is_nothrow_assignable.h - __type_traits/is_nothrow_move_constructible.h - __utility/forward.h - __utility/move.h - __config - __type_traits/conditional.h - __type_traits/is_copy_constructible.h - __type_traits/is_nothrow_move_constructible.h - __type_traits/remove_reference.h - __utility/forward.h - __utility/move.h - __utility/swap.h - __config - __type_traits/is_move_assignable.h - __type_traits/is_move_constructible.h - __type_traits/is_nothrow_move_assignable.h - __type_traits/is_nothrow_move_constructible.h - __type_traits/is_swappable.h - __utility/declval.h - __utility/move.h - cstddef - cstddef - __config - __type_traits/is_object.h - __config - __concepts/equality_comparable.h - __concepts/same_as.h - __concepts/totally_ordered.h - __config - __fwd/pair.h - __iterator/incrementable_traits.h - __concepts/arithmetic.h - __config - __type_traits/conditional.h - __type_traits/is_object.h - __type_traits/is_primary_template.h - __config - __type_traits/enable_if.h - __type_traits/is_same.h - __type_traits/is_valid_expansion.h - __config - __type_traits/integral_constant.h - __type_traits/make_signed.h - __type_traits/remove_cvref.h - __utility/declval.h - cstddef - __iterator/readable_traits.h - __concepts/same_as.h - __config - __type_traits/conditional.h - __type_traits/is_array.h - __type_traits/is_object.h - __type_traits/is_primary_template.h - __type_traits/remove_cv.h - __type_traits/remove_cvref.h - __type_traits/remove_extent.h - __type_traits/add_const.h - __type_traits/common_reference.h - __type_traits/conditional.h - __type_traits/disjunction.h - __type_traits/is_convertible.h - __type_traits/is_object.h - __type_traits/is_primary_template.h - __type_traits/is_reference.h - __type_traits/is_valid_expansion.h - __type_traits/remove_const.h - __type_traits/remove_cv.h - __type_traits/remove_cvref.h - __type_traits/void_t.h - __utility/declval.h - cstddef - __config - initializer_list - __undef_macros - __algorithm/min.h - __algorithm/comp.h - __algorithm/comp_ref_type.h - __algorithm/min_element.h - __algorithm/comp.h - __algorithm/comp_ref_type.h - __config - __functional/identity.h - __config - __type_traits/integral_constant.h - __utility/forward.h - __functional/invoke.h - __iterator/iterator_traits.h - __type_traits/is_callable.h - __utility/move.h - __config - initializer_list - __undef_macros - __algorithm/remove.h - __algorithm/find.h - __algorithm/unwrap_iter.h - __config - __iterator/iterator_traits.h - __memory/pointer_traits.h - __config - __memory/addressof.h - __config - __type_traits/conditional.h - __type_traits/conjunction.h - __type_traits/decay.h - __type_traits/is_class.h - __type_traits/is_function.h - __type_traits/is_void.h - __type_traits/void_t.h - __utility/declval.h - cstddef - __type_traits/enable_if.h - __type_traits/is_copy_constructible.h - __utility/declval.h - __utility/move.h - __config - __functional/identity.h - __functional/invoke.h - __string/constexpr_c_functions.h - __config - __type_traits/is_constant_evaluated.h - __type_traits/is_equality_comparable.h - __config - __type_traits/integral_constant.h - __type_traits/is_integral.h - __type_traits/is_same.h - __type_traits/is_void.h - __type_traits/remove_cv.h - __type_traits/remove_cvref.h - __type_traits/void_t.h - __utility/declval.h - __type_traits/is_same.h - __type_traits/is_trivially_lexicographically_comparable.h - __config - __type_traits/integral_constant.h - __type_traits/is_same.h - __type_traits/is_unsigned.h - __type_traits/remove_cv.h - __type_traits/void_t.h - __utility/declval.h - __type_traits/remove_cv.h - cstddef - __type_traits/is_same.h - cwchar - __assert - __config - __type_traits/apply_cv.h - __type_traits/is_constant_evaluated.h - __type_traits/is_equality_comparable.h - __type_traits/is_same.h - __type_traits/remove_cv.h - cwctype - __assert - __config - cctype - __assert - __config - ctype.h - __config - ctype.h - wctype.h - __config - wctype.h - wchar.h - __config - stddef.h - __mbstate_t.h - __config - bits/alltypes.h - bits/types/mbstate_t.h - sys/_types/_mbstate_t.h - wchar.h - uchar.h - __config - __mbstate_t.h - stddef.h - uchar.h - wchar.h - wchar.h - __algorithm/find_if.h - __config - __config - __utility/move.h - __algorithm/remove_if.h - __algorithm/find_if.h - __config - __utility/move.h - __assert - __config - __debug - __format/enable_insertable.h - __config - __functional/hash.h - __config - __functional/invoke.h - __functional/unary_function.h - __config - __fwd/hash.h - __tuple/sfinae_helpers.h - __config - __fwd/tuple.h - __config - __tuple/make_tuple_types.h - __config - __fwd/array.h - __config - cstddef - __fwd/tuple.h - __tuple/tuple_element.h - __config - __tuple/tuple_indices.h - __config - __utility/integer_sequence.h - __config - __type_traits/is_integral.h - cstddef - cstddef - __tuple/tuple_types.h - __config - __type_traits/add_const.h - __type_traits/add_cv.h - __type_traits/add_volatile.h - cstddef - __tuple/tuple_indices.h - __tuple/tuple_size.h - __config - __fwd/tuple.h - __tuple/tuple_types.h - __type_traits/is_const.h - __type_traits/is_volatile.h - cstddef - __tuple/tuple_types.h - __type_traits/apply_cv.h - __type_traits/remove_cv.h - __type_traits/remove_reference.h - cstddef - __tuple/tuple_element.h - __tuple/tuple_like_ext.h - __config - __fwd/array.h - __fwd/pair.h - __fwd/tuple.h - __tuple/tuple_types.h - __type_traits/integral_constant.h - cstddef - __tuple/tuple_size.h - __tuple/tuple_types.h - __type_traits/enable_if.h - __type_traits/integral_constant.h - __type_traits/is_assignable.h - __type_traits/is_constructible.h - __type_traits/is_convertible.h - __type_traits/is_same.h - __type_traits/remove_cvref.h - __type_traits/remove_reference.h - cstddef - __type_traits/is_copy_constructible.h - __type_traits/is_default_constructible.h - __type_traits/is_enum.h - __type_traits/is_move_constructible.h - __type_traits/underlying_type.h - __utility/forward.h - __utility/move.h - __utility/pair.h - __compare/common_comparison_category.h - __compare/synth_three_way.h - __concepts/different_from.h - __concepts/same_as.h - __config - __type_traits/remove_cvref.h - __config - __fwd/array.h - __fwd/get.h - __concepts/copyable.h - __config - __fwd/array.h - __fwd/pair.h - __fwd/subrange.h - __config - __iterator/concepts.h - __concepts/arithmetic.h - __concepts/assignable.h - __concepts/common_reference_with.h - __concepts/constructible.h - __concepts/copyable.h - __concepts/derived_from.h - __config - __type_traits/is_base_of.h - __type_traits/is_convertible.h - __concepts/equality_comparable.h - __concepts/invocable.h - __config - __functional/invoke.h - __utility/forward.h - __concepts/movable.h - __concepts/predicate.h - __concepts/boolean_testable.h - __concepts/invocable.h - __config - __functional/invoke.h - __concepts/regular.h - __concepts/equality_comparable.h - __concepts/semiregular.h - __concepts/constructible.h - __concepts/copyable.h - __config - __config - __concepts/relation.h - __concepts/predicate.h - __config - __concepts/same_as.h - __concepts/semiregular.h - __concepts/totally_ordered.h - __config - __functional/invoke.h - __iterator/incrementable_traits.h - __iterator/iter_move.h - __concepts/class_or_enum.h - __config - __iterator/iterator_traits.h - __type_traits/is_reference.h - __type_traits/remove_cvref.h - __utility/declval.h - __utility/forward.h - __utility/move.h - __iterator/iterator_traits.h - __iterator/readable_traits.h - __memory/pointer_traits.h - __type_traits/add_pointer.h - __type_traits/common_reference.h - __type_traits/is_pointer.h - __type_traits/is_reference.h - __type_traits/remove_cv.h - __type_traits/remove_cvref.h - __utility/forward.h - __fwd/tuple.h - __tuple/tuple_element.h - cstddef - __fwd/subrange.h - __fwd/tuple.h - __tuple/pair_like.h - __config - __tuple/tuple_like.h - __config - __fwd/array.h - __fwd/pair.h - __fwd/subrange.h - __fwd/tuple.h - __type_traits/integral_constant.h - __type_traits/remove_cvref.h - cstddef - __tuple/tuple_size.h - __type_traits/remove_cvref.h - __tuple/sfinae_helpers.h - __tuple/tuple_element.h - __tuple/tuple_indices.h - __tuple/tuple_size.h - __type_traits/common_reference.h - __type_traits/common_type.h - __type_traits/conditional.h - __type_traits/decay.h - __type_traits/integral_constant.h - __type_traits/is_assignable.h - __type_traits/is_constructible.h - __type_traits/is_convertible.h - __type_traits/is_copy_assignable.h - __type_traits/is_default_constructible.h - __type_traits/is_implicitly_default_constructible.h - __type_traits/is_move_assignable.h - __type_traits/is_nothrow_assignable.h - __type_traits/is_nothrow_constructible.h - __type_traits/is_nothrow_copy_assignable.h - __type_traits/is_nothrow_copy_constructible.h - __type_traits/is_nothrow_default_constructible.h - __type_traits/is_nothrow_move_assignable.h - __type_traits/is_same.h - __type_traits/is_swappable.h - __type_traits/nat.h - __type_traits/remove_cvref.h - __type_traits/unwrap_ref.h - __utility/declval.h - __utility/forward.h - __utility/move.h - __utility/piecewise_construct.h - __config - cstddef - __utility/swap.h - cstddef - cstdint - cstring - __assert - __config - __type_traits/is_constant_evaluated.h - string.h - __config - string.h - limits - __functional/unary_function.h - __fwd/string.h - __config - __fwd/memory_resource.h - __config - __ios/fpos.h - __config - iosfwd - __assert - __config - __fwd/fstream.h - __config - __fwd/string.h - __fwd/ios.h - __config - __fwd/string.h - __fwd/istream.h - __config - __fwd/string.h - __fwd/ostream.h - __config - __fwd/string.h - __fwd/sstream.h - __config - __fwd/string.h - __fwd/streambuf.h - __config - __fwd/string.h - __fwd/string.h - __std_mbstate_t.h - __config - __mbstate_t.h - version - __iterator/distance.h - __config - __iterator/concepts.h - __iterator/incrementable_traits.h - __iterator/iterator_traits.h - __ranges/access.h - __concepts/class_or_enum.h - __config - __iterator/concepts.h - __iterator/readable_traits.h - __ranges/enable_borrowed_range.h - __config - __type_traits/decay.h - __type_traits/is_reference.h - __type_traits/remove_cvref.h - __type_traits/remove_reference.h - __utility/auto_cast.h - __config - __type_traits/decay.h - __utility/declval.h - cstddef - __ranges/concepts.h - __concepts/constructible.h - __concepts/movable.h - __concepts/same_as.h - __config - __iterator/concepts.h - __iterator/incrementable_traits.h - __iterator/iter_move.h - __iterator/iterator_traits.h - __iterator/readable_traits.h - __ranges/access.h - __ranges/data.h - __concepts/class_or_enum.h - __config - __iterator/concepts.h - __iterator/iterator_traits.h - __memory/pointer_traits.h - __ranges/access.h - __type_traits/decay.h - __type_traits/is_object.h - __type_traits/is_pointer.h - __type_traits/is_reference.h - __type_traits/remove_pointer.h - __type_traits/remove_reference.h - __utility/auto_cast.h - __ranges/enable_borrowed_range.h - __ranges/enable_view.h - __concepts/derived_from.h - __concepts/same_as.h - __config - __type_traits/is_class.h - __type_traits/is_convertible.h - __type_traits/remove_cv.h - __ranges/size.h - __concepts/arithmetic.h - __concepts/class_or_enum.h - __config - __iterator/concepts.h - __iterator/iterator_traits.h - __ranges/access.h - __type_traits/decay.h - __type_traits/make_signed.h - __type_traits/make_unsigned.h - __type_traits/remove_cvref.h - __utility/auto_cast.h - __utility/declval.h - cstddef - __type_traits/add_pointer.h - __type_traits/is_reference.h - __type_traits/remove_cvref.h - __type_traits/remove_reference.h - __utility/declval.h - initializer_list - __ranges/size.h - __type_traits/decay.h - __type_traits/remove_cvref.h - __iterator/iterator_traits.h - __iterator/reverse_iterator.h - __algorithm/unwrap_iter.h - __compare/compare_three_way_result.h - __compare/three_way_comparable.h - __concepts/convertible_to.h - __config - __iterator/advance.h - __assert - __concepts/assignable.h - __concepts/same_as.h - __config - __iterator/concepts.h - __iterator/incrementable_traits.h - __iterator/iterator_traits.h - __type_traits/enable_if.h - __type_traits/is_integral.h - __utility/convert_to_integral.h - __config - __type_traits/enable_if.h - __type_traits/is_enum.h - __type_traits/is_floating_point.h - __type_traits/underlying_type.h - __utility/declval.h - __utility/move.h - __utility/unreachable.h - __assert - __config - limits - __iterator/concepts.h - __iterator/incrementable_traits.h - __iterator/iter_move.h - __iterator/iter_swap.h - __concepts/class_or_enum.h - __concepts/swappable.h - __config - __iterator/concepts.h - __iterator/iter_move.h - __iterator/iterator_traits.h - __iterator/readable_traits.h - __type_traits/remove_cvref.h - __utility/declval.h - __utility/forward.h - __utility/move.h - __iterator/iterator.h - __config - cstddef - __iterator/iterator_traits.h - __iterator/next.h - __assert - __config - __iterator/advance.h - __iterator/concepts.h - __iterator/incrementable_traits.h - __iterator/iterator_traits.h - __type_traits/enable_if.h - __iterator/prev.h - __assert - __config - __iterator/advance.h - __iterator/concepts.h - __iterator/incrementable_traits.h - __iterator/iterator_traits.h - __type_traits/enable_if.h - __iterator/readable_traits.h - __iterator/segmented_iterator.h - __config - __type_traits/integral_constant.h - cstddef - __memory/addressof.h - __ranges/access.h - __ranges/concepts.h - __ranges/subrange.h - __assert - __concepts/constructible.h - __concepts/convertible_to.h - __concepts/copyable.h - __concepts/derived_from.h - __concepts/different_from.h - __config - __fwd/get.h - __fwd/subrange.h - __iterator/advance.h - __iterator/concepts.h - __iterator/incrementable_traits.h - __iterator/iterator_traits.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __config - __ranges/access.h - __ranges/concepts.h - __type_traits/conditional.h - __ranges/enable_borrowed_range.h - __ranges/size.h - __ranges/view_interface.h - __assert - __concepts/derived_from.h - __concepts/same_as.h - __config - __iterator/concepts.h - __iterator/iterator_traits.h - __iterator/prev.h - __memory/pointer_traits.h - __ranges/access.h - __ranges/concepts.h - __ranges/empty.h - __concepts/class_or_enum.h - __config - __iterator/concepts.h - __ranges/access.h - __ranges/size.h - __type_traits/is_class.h - __type_traits/make_unsigned.h - __type_traits/remove_cv.h - __tuple/pair_like.h - __tuple/tuple_element.h - __tuple/tuple_size.h - __type_traits/conditional.h - __type_traits/decay.h - __type_traits/is_pointer.h - __type_traits/is_reference.h - __type_traits/make_unsigned.h - __type_traits/remove_const.h - __type_traits/remove_pointer.h - __utility/move.h - cstddef - __type_traits/conditional.h - __type_traits/enable_if.h - __type_traits/is_assignable.h - __type_traits/is_convertible.h - __type_traits/is_nothrow_copy_constructible.h - __type_traits/is_pointer.h - __type_traits/is_same.h - __utility/declval.h - __utility/move.h - __iterator/wrap_iter.h - __config - __debug - __iterator/iterator_traits.h - __memory/addressof.h - __memory/pointer_traits.h - __type_traits/enable_if.h - __type_traits/is_convertible.h - __memory/addressof.h - __memory/allocate_at_least.h - __config - __memory/allocator_traits.h - __config - __memory/construct_at.h - __assert - __config - __iterator/access.h - __config - cstddef - __memory/addressof.h - __memory/voidify.h - __config - __memory/addressof.h - __type_traits/enable_if.h - __type_traits/is_array.h - __utility/declval.h - __utility/forward.h - __utility/move.h - new - __assert - __availability - __config - __exception/exception.h - __config - vcruntime_exception.h - __type_traits/alignment_of.h - __type_traits/is_function.h - __type_traits/is_same.h - __type_traits/remove_cv.h - __verbose_abort - cstddef - cstdlib - __assert - __config - stdlib.h - version - new.h - exception - __assert - __config - __exception/exception.h - __exception/exception_ptr.h - __config - __exception/operations.h - __availability - __config - cstddef - __memory/addressof.h - cstddef - cstdlib - __exception/nested_exception.h - __config - __exception/exception_ptr.h - __memory/addressof.h - __type_traits/decay.h - __type_traits/is_base_of.h - __type_traits/is_class.h - __type_traits/is_convertible.h - __type_traits/is_copy_constructible.h - __type_traits/is_final.h - __type_traits/is_polymorphic.h - __utility/forward.h - cstddef - __exception/operations.h - __exception/terminate.h - __config - version - cstdlib - type_traits - type_traits - __memory/pointer_traits.h - __type_traits/enable_if.h - __type_traits/is_copy_constructible.h - __type_traits/is_empty.h - __type_traits/is_move_constructible.h - __type_traits/make_unsigned.h - __type_traits/remove_reference.h - __type_traits/void_t.h - __utility/declval.h - __utility/forward.h - limits - __undef_macros - cstddef - __memory/allocator.h - __config - __memory/addressof.h - __memory/allocate_at_least.h - __memory/allocator_traits.h - __type_traits/is_constant_evaluated.h - __type_traits/is_same.h - __type_traits/is_void.h - __type_traits/is_volatile.h - __utility/forward.h - cstddef - new - __memory/allocator_traits.h - __memory/compressed_pair.h - __config - __fwd/get.h - __fwd/tuple.h - __tuple/tuple_indices.h - __type_traits/decay.h - __type_traits/dependent_type.h - __type_traits/enable_if.h - __type_traits/is_default_constructible.h - __type_traits/is_empty.h - __type_traits/is_final.h - __type_traits/is_same.h - __type_traits/is_swappable.h - __utility/forward.h - __utility/move.h - __utility/piecewise_construct.h - cstddef - __memory/construct_at.h - __memory/pointer_traits.h - __memory/swap_allocator.h - __config - __memory/allocator_traits.h - __type_traits/integral_constant.h - __type_traits/is_swappable.h - __utility/swap.h - __memory_resource/polymorphic_allocator.h - __assert - __config - __memory_resource/memory_resource.h - __config - cstddef - __utility/exception_guard.h - __assert - __config - __type_traits/is_nothrow_move_constructible.h - __utility/exchange.h - __utility/move.h - cstddef - limits - new - stdexcept - __assert - __config - __exception/exception.h - __verbose_abort - iosfwd - cstdlib - exception - tuple - __assert - __compare/common_comparison_category.h - __compare/synth_three_way.h - __config - __functional/invoke.h - __fwd/array.h - __fwd/tuple.h - __memory/allocator_arg_t.h - __config - __memory/uses_allocator.h - __config - __type_traits/is_convertible.h - cstddef - __type_traits/integral_constant.h - __type_traits/is_constructible.h - __type_traits/remove_cvref.h - __utility/forward.h - __memory/uses_allocator.h - __tuple/make_tuple_types.h - __tuple/sfinae_helpers.h - __tuple/tuple_element.h - __tuple/tuple_indices.h - __tuple/tuple_like_ext.h - __tuple/tuple_size.h - __tuple/tuple_types.h - __type_traits/apply_cv.h - __type_traits/common_reference.h - __type_traits/common_type.h - __type_traits/conditional.h - __type_traits/conjunction.h - __type_traits/copy_cvref.h - __type_traits/disjunction.h - __type_traits/is_arithmetic.h - __type_traits/is_assignable.h - __type_traits/is_constructible.h - __type_traits/is_convertible.h - __type_traits/is_copy_assignable.h - __type_traits/is_copy_constructible.h - __type_traits/is_default_constructible.h - __type_traits/is_empty.h - __type_traits/is_final.h - __type_traits/is_implicitly_default_constructible.h - __type_traits/is_move_assignable.h - __type_traits/is_move_constructible.h - __type_traits/is_nothrow_assignable.h - __type_traits/is_nothrow_constructible.h - __type_traits/is_nothrow_copy_assignable.h - __type_traits/is_nothrow_copy_constructible.h - __type_traits/is_nothrow_default_constructible.h - __type_traits/is_nothrow_move_assignable.h - __type_traits/is_reference.h - __type_traits/is_same.h - __type_traits/is_swappable.h - __type_traits/lazy.h - __type_traits/maybe_const.h - __type_traits/nat.h - __type_traits/negation.h - __type_traits/remove_cvref.h - __type_traits/remove_reference.h - __type_traits/unwrap_ref.h - __utility/forward.h - __utility/integer_sequence.h - __utility/move.h - __utility/pair.h - __utility/piecewise_construct.h - __utility/swap.h - cstddef - version - compare - exception - iosfwd - new - type_traits - typeinfo - __assert - __availability - __config - __exception/exception.h - __type_traits/is_constant_evaluated.h - __verbose_abort - cstddef - cstdint - vcruntime_typeinfo.h - cstdlib - exception - type_traits - utility - initializer_list - __assert - __config - __utility/as_const.h - __config - __type_traits/add_const.h - __utility/forward.h - __utility/move.h - __utility/auto_cast.h - __utility/cmp.h - __config - __type_traits/disjunction.h - __type_traits/is_integral.h - __type_traits/is_same.h - __type_traits/is_signed.h - __type_traits/make_unsigned.h - __utility/forward.h - __utility/move.h - limits - __undef_macros - __utility/declval.h - __utility/exception_guard.h - __utility/exchange.h - __utility/forward.h - __utility/forward_like.h - __config - __type_traits/conditional.h - __type_traits/is_const.h - __type_traits/is_reference.h - __type_traits/remove_reference.h - __utility/in_place.h - __config - __type_traits/remove_cvref.h - cstddef - __utility/integer_sequence.h - __utility/move.h - __utility/pair.h - __utility/piecewise_construct.h - __utility/priority_tag.h - __utility/rel_ops.h - __config - __utility/swap.h - __utility/to_underlying.h - __config - __type_traits/underlying_type.h - __utility/unreachable.h - version - compare - initializer_list - __tuple/tuple_element.h - __tuple/tuple_size.h - cstdlib - iosfwd - type_traits - __undef_macros - __string/char_traits.h - __algorithm/copy_n.h - __algorithm/copy.h - __algorithm/copy_move_common.h - __algorithm/iterator_operations.h - __algorithm/iter_swap.h - __config - __utility/declval.h - __utility/swap.h - __algorithm/ranges_iterator_concept.h - __config - __iterator/concepts.h - __iterator/iterator_traits.h - __type_traits/remove_cvref.h - __config - __iterator/advance.h - __iterator/distance.h - __iterator/incrementable_traits.h - __iterator/iter_move.h - __iterator/iter_swap.h - __iterator/iterator_traits.h - __iterator/next.h - __iterator/prev.h - __iterator/readable_traits.h - __type_traits/enable_if.h - __type_traits/is_reference.h - __type_traits/is_same.h - __type_traits/remove_cvref.h - __utility/declval.h - __utility/forward.h - __utility/move.h - __algorithm/unwrap_iter.h - __algorithm/unwrap_range.h - __algorithm/unwrap_iter.h - __concepts/constructible.h - __config - __iterator/concepts.h - __iterator/next.h - __utility/declval.h - __utility/move.h - __utility/pair.h - __config - __iterator/iterator_traits.h - __memory/pointer_traits.h - __type_traits/enable_if.h - __type_traits/is_always_bitcastable.h - __config - __type_traits/integral_constant.h - __type_traits/is_integral.h - __type_traits/is_object.h - __type_traits/is_same.h - __type_traits/is_trivially_copyable.h - __type_traits/remove_cv.h - __type_traits/is_constant_evaluated.h - __type_traits/is_copy_constructible.h - __type_traits/is_trivially_assignable.h - __type_traits/is_trivially_copyable.h - __type_traits/is_volatile.h - __utility/move.h - __utility/pair.h - cstddef - __algorithm/for_each_segment.h - __config - __iterator/segmented_iterator.h - __algorithm/iterator_operations.h - __algorithm/min.h - __config - __iterator/segmented_iterator.h - __type_traits/common_type.h - __utility/move.h - __utility/pair.h - __undef_macros - __config - __iterator/iterator_traits.h - __type_traits/enable_if.h - __utility/convert_to_integral.h - __algorithm/fill_n.h - __config - __iterator/iterator_traits.h - __utility/convert_to_integral.h - __algorithm/find_end.h - __algorithm/comp.h - __algorithm/iterator_operations.h - __algorithm/search.h - __algorithm/comp.h - __algorithm/iterator_operations.h - __config - __functional/identity.h - __functional/invoke.h - __iterator/advance.h - __iterator/concepts.h - __iterator/iterator_traits.h - __type_traits/enable_if.h - __type_traits/is_callable.h - __utility/pair.h - __config - __functional/identity.h - __functional/invoke.h - __iterator/advance.h - __iterator/iterator_traits.h - __iterator/next.h - __iterator/reverse_iterator.h - __utility/pair.h - __algorithm/find_first_of.h - __algorithm/comp.h - __config - __iterator/iterator_traits.h - __algorithm/min.h - __compare/ordering.h - __config - __functional/hash.h - __iterator/iterator_traits.h - __string/constexpr_c_functions.h - __type_traits/is_constant_evaluated.h - cstddef - cstdint - cstdio - __assert - __config - stdio.h - __config - stdio.h - stdio.h - iosfwd - cwchar - __undef_macros - __string/extern_template_lists.h - __config - __type_traits/is_allocator.h - __config - __type_traits/integral_constant.h - __type_traits/void_t.h - __utility/declval.h - cstddef - __type_traits/is_array.h - __type_traits/is_convertible.h - __type_traits/is_nothrow_default_constructible.h - __type_traits/is_nothrow_move_assignable.h - __type_traits/is_same.h - __type_traits/is_standard_layout.h - __type_traits/is_trivial.h - __type_traits/noexcept_move_assign_container.h - __config - __memory/allocator_traits.h - __type_traits/integral_constant.h - __type_traits/is_nothrow_move_assignable.h - __type_traits/remove_cvref.h - __utility/auto_cast.h - __utility/move.h - __utility/swap.h - __utility/unreachable.h - climits - __assert - __config - limits.h - __config - limits.h - limits.h - limits.h - cstdint - cstdio - cstring - limits - stdexcept - string_view - compare - __algorithm/min.h - __assert - __config - __functional/hash.h - __functional/unary_function.h - __fwd/string_view.h - __config - iosfwd - __iterator/bounded_iter.h - __assert - __config - __iterator/iterator_traits.h - __memory/pointer_traits.h - __type_traits/enable_if.h - __type_traits/integral_constant.h - __type_traits/is_convertible.h - __utility/move.h - __iterator/concepts.h - __iterator/readable_traits.h - __iterator/reverse_iterator.h - __memory/pointer_traits.h - __ranges/concepts.h - __ranges/data.h - __ranges/enable_borrowed_range.h - __ranges/enable_view.h - __ranges/size.h - __string/char_traits.h - __type_traits/is_array.h - __type_traits/is_convertible.h - __type_traits/is_same.h - __type_traits/is_standard_layout.h - __type_traits/is_trivial.h - __type_traits/remove_cvref.h - __type_traits/remove_reference.h - __type_traits/type_identity.h - cstddef - iosfwd - limits - stdexcept - version - __iterator/access.h - __iterator/data.h - __config - cstddef - initializer_list - __iterator/empty.h - __config - cstddef - initializer_list - __iterator/reverse_access.h - __config - __iterator/reverse_iterator.h - cstddef - initializer_list - __iterator/size.h - __config - __type_traits/common_type.h - __type_traits/make_signed.h - cstddef - compare - __undef_macros - algorithm - initializer_list - __assert - __config - __debug - cstddef - version - __algorithm/adjacent_find.h - __algorithm/comp.h - __algorithm/iterator_operations.h - __config - __iterator/iterator_traits.h - __utility/move.h - __algorithm/all_of.h - __config - __algorithm/any_of.h - __config - __algorithm/binary_search.h - __algorithm/comp.h - __algorithm/comp_ref_type.h - __algorithm/lower_bound.h - __algorithm/comp.h - __algorithm/half_positive.h - __config - __type_traits/enable_if.h - __type_traits/is_integral.h - __type_traits/make_unsigned.h - __algorithm/iterator_operations.h - __config - __functional/identity.h - __functional/invoke.h - __iterator/advance.h - __iterator/distance.h - __iterator/iterator_traits.h - __type_traits/is_callable.h - __type_traits/remove_reference.h - __config - __iterator/iterator_traits.h - __algorithm/clamp.h - __algorithm/comp.h - __assert - __config - __algorithm/comp.h - __algorithm/comp_ref_type.h - __algorithm/copy.h - __algorithm/copy_backward.h - __algorithm/copy_move_common.h - __algorithm/iterator_operations.h - __algorithm/min.h - __config - __iterator/segmented_iterator.h - __type_traits/common_type.h - __type_traits/is_copy_constructible.h - __utility/move.h - __utility/pair.h - __undef_macros - __algorithm/copy_if.h - __config - __algorithm/copy_n.h - __algorithm/count.h - __config - __iterator/iterator_traits.h - __algorithm/count_if.h - __config - __iterator/iterator_traits.h - __algorithm/equal.h - __algorithm/comp.h - __algorithm/unwrap_iter.h - __config - __functional/identity.h - __functional/invoke.h - __iterator/distance.h - __iterator/iterator_traits.h - __string/constexpr_c_functions.h - __type_traits/enable_if.h - __type_traits/integral_constant.h - __type_traits/is_constant_evaluated.h - __type_traits/is_equality_comparable.h - __type_traits/is_volatile.h - __type_traits/predicate_traits.h - __utility/move.h - __algorithm/equal_range.h - __algorithm/comp.h - __algorithm/comp_ref_type.h - __algorithm/half_positive.h - __algorithm/iterator_operations.h - __algorithm/lower_bound.h - __algorithm/upper_bound.h - __algorithm/comp.h - __algorithm/half_positive.h - __algorithm/iterator_operations.h - __config - __functional/identity.h - __functional/invoke.h - __iterator/advance.h - __iterator/distance.h - __iterator/iterator_traits.h - __type_traits/is_copy_constructible.h - __utility/move.h - __config - __functional/identity.h - __functional/invoke.h - __iterator/advance.h - __iterator/distance.h - __iterator/iterator_traits.h - __iterator/next.h - __type_traits/is_callable.h - __type_traits/is_copy_constructible.h - __utility/move.h - __utility/pair.h - __algorithm/fill.h - __algorithm/fill_n.h - __config - __iterator/iterator_traits.h - __algorithm/fill_n.h - __algorithm/find.h - __algorithm/find_end.h - __algorithm/find_first_of.h - __algorithm/find_if.h - __algorithm/find_if_not.h - __config - __algorithm/for_each.h - __algorithm/for_each_segment.h - __config - __iterator/segmented_iterator.h - __type_traits/enable_if.h - __utility/move.h - __algorithm/for_each_n.h - __config - __utility/convert_to_integral.h - __algorithm/generate.h - __config - __algorithm/generate_n.h - __config - __utility/convert_to_integral.h - __algorithm/half_positive.h - __algorithm/in_found_result.h - __concepts/convertible_to.h - __config - __utility/move.h - __algorithm/in_fun_result.h - __concepts/convertible_to.h - __config - __utility/move.h - __algorithm/in_in_out_result.h - __concepts/convertible_to.h - __config - __utility/move.h - __algorithm/in_in_result.h - __concepts/convertible_to.h - __config - __utility/move.h - __algorithm/in_out_out_result.h - __concepts/convertible_to.h - __config - __utility/move.h - __algorithm/in_out_result.h - __concepts/convertible_to.h - __config - __utility/move.h - __algorithm/includes.h - __algorithm/comp.h - __algorithm/comp_ref_type.h - __config - __functional/identity.h - __functional/invoke.h - __iterator/iterator_traits.h - __type_traits/is_callable.h - __utility/move.h - __algorithm/inplace_merge.h - __algorithm/comp.h - __algorithm/comp_ref_type.h - __algorithm/iterator_operations.h - __algorithm/lower_bound.h - __algorithm/min.h - __algorithm/move.h - __algorithm/copy_move_common.h - __algorithm/for_each_segment.h - __algorithm/iterator_operations.h - __algorithm/min.h - __config - __iterator/segmented_iterator.h - __type_traits/common_type.h - __type_traits/is_copy_constructible.h - __utility/move.h - __utility/pair.h - __undef_macros - __algorithm/rotate.h - __algorithm/iterator_operations.h - __algorithm/move.h - __algorithm/move_backward.h - __algorithm/copy_move_common.h - __algorithm/iterator_operations.h - __algorithm/min.h - __config - __iterator/segmented_iterator.h - __type_traits/common_type.h - __type_traits/is_copy_constructible.h - __utility/move.h - __utility/pair.h - __undef_macros - __algorithm/swap_ranges.h - __algorithm/iterator_operations.h - __config - __utility/move.h - __utility/pair.h - __config - __iterator/iterator_traits.h - __type_traits/is_trivially_move_assignable.h - __utility/move.h - __utility/pair.h - __algorithm/upper_bound.h - __config - __functional/identity.h - __iterator/advance.h - __iterator/distance.h - __iterator/iterator_traits.h - __iterator/reverse_iterator.h - __memory/destruct_n.h - __config - __type_traits/integral_constant.h - __type_traits/is_trivially_destructible.h - cstddef - __memory/temporary_buffer.h - __config - __type_traits/alignment_of.h - __utility/pair.h - cstddef - new - __memory/unique_ptr.h - __compare/compare_three_way.h - __compare/compare_three_way_result.h - __compare/three_way_comparable.h - __config - __functional/hash.h - __functional/operations.h - __config - __functional/binary_function.h - __config - __functional/unary_function.h - __type_traits/integral_constant.h - __type_traits/predicate_traits.h - __utility/forward.h - __memory/allocator_traits.h - __memory/auto_ptr.h - __config - __memory/compressed_pair.h - __type_traits/add_lvalue_reference.h - __type_traits/common_type.h - __type_traits/dependent_type.h - __type_traits/integral_constant.h - __type_traits/is_array.h - __type_traits/is_assignable.h - __type_traits/is_constructible.h - __type_traits/is_convertible.h - __type_traits/is_default_constructible.h - __type_traits/is_function.h - __type_traits/is_pointer.h - __type_traits/is_reference.h - __type_traits/is_same.h - __type_traits/is_swappable.h - __type_traits/is_void.h - __type_traits/remove_extent.h - __type_traits/type_identity.h - __utility/forward.h - __utility/move.h - cstddef - __utility/pair.h - new - __undef_macros - __algorithm/is_heap.h - __algorithm/comp.h - __algorithm/comp_ref_type.h - __algorithm/is_heap_until.h - __algorithm/comp.h - __algorithm/comp_ref_type.h - __config - __iterator/iterator_traits.h - __config - __iterator/iterator_traits.h - __algorithm/is_heap_until.h - __algorithm/is_partitioned.h - __config - __algorithm/is_permutation.h - __algorithm/comp.h - __algorithm/iterator_operations.h - __config - __functional/identity.h - __functional/invoke.h - __iterator/concepts.h - __iterator/distance.h - __iterator/iterator_traits.h - __iterator/next.h - __type_traits/is_callable.h - __utility/move.h - __algorithm/is_sorted.h - __algorithm/comp.h - __algorithm/comp_ref_type.h - __algorithm/is_sorted_until.h - __algorithm/comp.h - __algorithm/comp_ref_type.h - __config - __iterator/iterator_traits.h - __config - __iterator/iterator_traits.h - __algorithm/is_sorted_until.h - __algorithm/iter_swap.h - __algorithm/lexicographical_compare.h - __algorithm/comp.h - __algorithm/comp_ref_type.h - __config - __iterator/iterator_traits.h - __algorithm/lexicographical_compare_three_way.h - __algorithm/min.h - __algorithm/three_way_comp_ref_type.h - __compare/ordering.h - __config - __debug - __utility/declval.h - __compare/compare_three_way.h - __compare/ordering.h - __concepts/arithmetic.h - __config - __iterator/iterator_traits.h - __type_traits/common_type.h - __type_traits/is_copy_constructible.h - __utility/move.h - __undef_macros - __algorithm/lower_bound.h - __algorithm/make_heap.h - __algorithm/comp.h - __algorithm/comp_ref_type.h - __algorithm/iterator_operations.h - __algorithm/sift_down.h - __algorithm/iterator_operations.h - __assert - __config - __iterator/iterator_traits.h - __utility/move.h - __config - __iterator/iterator_traits.h - __utility/move.h - __algorithm/max.h - __algorithm/max_element.h - __algorithm/merge.h - __algorithm/comp.h - __algorithm/comp_ref_type.h - __algorithm/copy.h - __config - __iterator/iterator_traits.h - __algorithm/min.h - __algorithm/min_element.h - __algorithm/min_max_result.h - __concepts/convertible_to.h - __config - __utility/move.h - __undef_macros - __algorithm/minmax.h - __algorithm/comp.h - __algorithm/minmax_element.h - __algorithm/comp.h - __config - __functional/identity.h - __functional/invoke.h - __iterator/iterator_traits.h - __type_traits/is_callable.h - __utility/pair.h - __config - __functional/identity.h - __type_traits/is_callable.h - __utility/pair.h - initializer_list - __algorithm/minmax_element.h - __algorithm/mismatch.h - __algorithm/comp.h - __config - __iterator/iterator_traits.h - __utility/pair.h - __algorithm/move.h - __algorithm/move_backward.h - __algorithm/next_permutation.h - __algorithm/comp.h - __algorithm/comp_ref_type.h - __algorithm/iterator_operations.h - __algorithm/reverse.h - __algorithm/iter_swap.h - __algorithm/iterator_operations.h - __config - __iterator/iterator_traits.h - __utility/move.h - __config - __iterator/iterator_traits.h - __utility/move.h - __utility/pair.h - __algorithm/none_of.h - __config - __algorithm/nth_element.h - __algorithm/comp.h - __algorithm/comp_ref_type.h - __algorithm/iterator_operations.h - __algorithm/sort.h - __algorithm/comp.h - __algorithm/comp_ref_type.h - __algorithm/iter_swap.h - __algorithm/iterator_operations.h - __algorithm/min_element.h - __algorithm/partial_sort.h - __algorithm/comp.h - __algorithm/comp_ref_type.h - __algorithm/iterator_operations.h - __algorithm/make_heap.h - __algorithm/sift_down.h - __algorithm/sort_heap.h - __algorithm/comp.h - __algorithm/comp_ref_type.h - __algorithm/iterator_operations.h - __algorithm/pop_heap.h - __algorithm/comp.h - __algorithm/comp_ref_type.h - __algorithm/iterator_operations.h - __algorithm/push_heap.h - __algorithm/comp.h - __algorithm/comp_ref_type.h - __algorithm/iterator_operations.h - __config - __iterator/iterator_traits.h - __type_traits/is_copy_assignable.h - __type_traits/is_copy_constructible.h - __utility/move.h - __algorithm/sift_down.h - __assert - __config - __iterator/iterator_traits.h - __type_traits/is_copy_assignable.h - __type_traits/is_copy_constructible.h - __utility/move.h - __config - __iterator/iterator_traits.h - __type_traits/is_copy_assignable.h - __type_traits/is_copy_constructible.h - __utility/move.h - __config - __debug - __debug_utils/randomize_range.h - __config - __algorithm/shuffle.h - __algorithm/iterator_operations.h - __config - __debug - __iterator/iterator_traits.h - __random/uniform_int_distribution.h - __bit/countl.h - __bit/rotate.h - __concepts/arithmetic.h - __config - __type_traits/is_unsigned_integer.h - limits - __concepts/arithmetic.h - __config - __type_traits/is_unsigned_integer.h - limits - __undef_macros - __config - __random/is_valid.h - __config - __type_traits/enable_if.h - __type_traits/integral_constant.h - __type_traits/is_same.h - __type_traits/is_unsigned.h - __utility/declval.h - cstdint - __random/log2.h - __config - __type_traits/conditional.h - cstddef - __type_traits/conditional.h - __type_traits/make_unsigned.h - cstddef - cstdint - iosfwd - limits - __undef_macros - __utility/forward.h - __utility/move.h - __utility/swap.h - cstddef - cstdint - __undef_macros - __type_traits/is_constant_evaluated.h - __iterator/iterator_traits.h - __type_traits/is_copy_assignable.h - __type_traits/is_copy_constructible.h - __utility/move.h - __algorithm/unwrap_iter.h - __assert - __bit/blsr.h - __config - __bit/countl.h - __bit/countr.h - __bit/rotate.h - __concepts/arithmetic.h - __config - limits - __undef_macros - __config - __debug - __debug_utils/randomize_range.h - __functional/operations.h - __functional/ranges_operations.h - __concepts/equality_comparable.h - __concepts/totally_ordered.h - __config - __type_traits/integral_constant.h - __type_traits/predicate_traits.h - __utility/forward.h - __iterator/iterator_traits.h - __type_traits/conditional.h - __type_traits/disjunction.h - __type_traits/is_arithmetic.h - __utility/move.h - __utility/pair.h - climits - cstdint - __config - __debug - __debug_utils/randomize_range.h - __iterator/iterator_traits.h - __utility/move.h - __algorithm/partial_sort.h - __algorithm/partial_sort_copy.h - __algorithm/comp.h - __algorithm/comp_ref_type.h - __algorithm/iterator_operations.h - __algorithm/make_heap.h - __algorithm/make_projected.h - __concepts/same_as.h - __config - __functional/identity.h - __functional/invoke.h - __type_traits/decay.h - __type_traits/enable_if.h - __type_traits/integral_constant.h - __type_traits/is_member_pointer.h - __type_traits/is_same.h - __utility/declval.h - __utility/forward.h - __algorithm/sift_down.h - __algorithm/sort_heap.h - __config - __functional/identity.h - __functional/invoke.h - __iterator/iterator_traits.h - __type_traits/is_callable.h - __utility/move.h - __utility/pair.h - __algorithm/partition.h - __algorithm/iterator_operations.h - __config - __iterator/iterator_traits.h - __utility/move.h - __utility/pair.h - __algorithm/partition_copy.h - __config - __iterator/iterator_traits.h - __utility/pair.h - __algorithm/partition_point.h - __algorithm/half_positive.h - __config - __iterator/advance.h - __iterator/distance.h - __iterator/iterator_traits.h - __algorithm/pop_heap.h - __algorithm/prev_permutation.h - __algorithm/comp.h - __algorithm/comp_ref_type.h - __algorithm/iterator_operations.h - __algorithm/reverse.h - __config - __iterator/iterator_traits.h - __utility/move.h - __utility/pair.h - __algorithm/pstl_any_all_none_of.h - __algorithm/pstl_find.h - __algorithm/comp.h - __algorithm/find.h - __algorithm/pstl_backend.h - __algorithm/pstl_backends/cpu_backend.h - __config - __algorithm/pstl_backends/cpu_backends/any_of.h - __algorithm/any_of.h - __algorithm/find_if.h - __algorithm/pstl_backends/cpu_backends/backend.h - __config - __algorithm/pstl_backends/cpu_backends/serial.h - __config - __algorithm/pstl_backends/cpu_backends/thread.h - __assert - __config - __atomic/atomic.h - __atomic/atomic_base.h - __atomic/atomic_sync.h - __atomic/contention_t.h - __atomic/cxx_atomic_impl.h - __atomic/is_always_lock_free.h - __config - __atomic/memory_order.h - __config - __type_traits/is_same.h - __type_traits/underlying_type.h - __config - __memory/addressof.h - __type_traits/conditional.h - __type_traits/is_assignable.h - __type_traits/is_trivially_copyable.h - __type_traits/remove_const.h - cstddef - cstring - __config - cstdint - __atomic/cxx_atomic_impl.h - __atomic/memory_order.h - __availability - __chrono/duration.h - __compare/ordering.h - __compare/three_way_comparable.h - __config - __type_traits/common_type.h - __type_traits/enable_if.h - __type_traits/is_convertible.h - __type_traits/is_floating_point.h - limits - ratio - __assert - __config - __type_traits/integral_constant.h - climits - cstdint - version - __undef_macros - type_traits - __undef_macros - type_traits - __config - __memory/addressof.h - __thread/poll_with_backoff.h - __availability - __chrono/duration.h - __chrono/high_resolution_clock.h - __chrono/steady_clock.h - __chrono/duration.h - __chrono/time_point.h - __chrono/duration.h - __compare/ordering.h - __compare/three_way_comparable.h - __config - __type_traits/common_type.h - __type_traits/enable_if.h - __type_traits/is_convertible.h - limits - __undef_macros - __config - __chrono/system_clock.h - __chrono/duration.h - __chrono/time_point.h - __config - ctime - __assert - __config - time.h + third_party/libcxx/__verbose_abort + third_party/libcxx/__availability + third_party/libcxx/__config + third_party/libcxx/__config + third_party/libcxx/__compare/common_comparison_category.h + third_party/libcxx/__compare/ordering.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/enable_if.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/is_same.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__config + third_party/libcxx/__config + third_party/libcxx/__type_traits/is_same.h + third_party/libcxx/cstddef + third_party/libcxx/__assert + third_party/libcxx/__config + third_party/libcxx/__type_traits/enable_if.h + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_integral.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/remove_cv.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/remove_const.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/remove_volatile.h + third_party/libcxx/__config + third_party/libcxx/version + third_party/libcxx/__assert + third_party/libcxx/__config + third_party/libcxx/stddef.h + third_party/libcxx/__config + libc/isystem/stddef.h + libc/isystem/stddef.h + third_party/libcxx/__compare/compare_partial_order_fallback.h + third_party/libcxx/__compare/ordering.h + third_party/libcxx/__compare/partial_order.h + third_party/libcxx/__compare/compare_three_way.h + third_party/libcxx/__compare/three_way_comparable.h + third_party/libcxx/__compare/common_comparison_category.h + third_party/libcxx/__compare/ordering.h + third_party/libcxx/__concepts/common_reference_with.h + third_party/libcxx/__concepts/convertible_to.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/is_convertible.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_array.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/cstddef + third_party/libcxx/__type_traits/is_function.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_const.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_reference.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_void.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_same.h + third_party/libcxx/__type_traits/remove_cv.h + third_party/libcxx/__type_traits/remove_reference.h + third_party/libcxx/__config + third_party/libcxx/cstddef + third_party/libcxx/__utility/declval.h + third_party/libcxx/__config + third_party/libcxx/cstddef + third_party/libcxx/__utility/declval.h + third_party/libcxx/__concepts/same_as.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/is_same.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/common_reference.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/common_type.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/conditional.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/decay.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/add_pointer.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/is_referenceable.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_same.h + third_party/libcxx/__type_traits/is_same.h + third_party/libcxx/__type_traits/is_void.h + third_party/libcxx/__type_traits/remove_cv.h + third_party/libcxx/__type_traits/remove_reference.h + third_party/libcxx/__type_traits/conditional.h + third_party/libcxx/__type_traits/is_array.h + third_party/libcxx/__type_traits/is_function.h + third_party/libcxx/__type_traits/is_referenceable.h + third_party/libcxx/__type_traits/remove_cv.h + third_party/libcxx/__type_traits/remove_extent.h + third_party/libcxx/__config + third_party/libcxx/cstddef + third_party/libcxx/__type_traits/remove_reference.h + third_party/libcxx/__type_traits/is_same.h + third_party/libcxx/__type_traits/remove_cvref.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/is_same.h + third_party/libcxx/__type_traits/remove_cv.h + third_party/libcxx/__type_traits/remove_reference.h + third_party/libcxx/__type_traits/void_t.h + third_party/libcxx/__config + third_party/libcxx/__utility/declval.h + third_party/libcxx/__type_traits/copy_cv.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/add_const.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/add_cv.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/add_volatile.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/copy_cvref.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/add_lvalue_reference.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/is_referenceable.h + third_party/libcxx/__type_traits/add_rvalue_reference.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/is_referenceable.h + third_party/libcxx/__type_traits/copy_cv.h + third_party/libcxx/__type_traits/is_convertible.h + third_party/libcxx/__type_traits/is_reference.h + third_party/libcxx/__type_traits/remove_cv.h + third_party/libcxx/__type_traits/remove_cvref.h + third_party/libcxx/__type_traits/remove_reference.h + third_party/libcxx/__utility/declval.h + third_party/libcxx/__concepts/equality_comparable.h + third_party/libcxx/__concepts/boolean_testable.h + third_party/libcxx/__concepts/convertible_to.h + third_party/libcxx/__config + third_party/libcxx/__utility/forward.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/is_reference.h + third_party/libcxx/__type_traits/remove_reference.h + third_party/libcxx/__concepts/common_reference_with.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/common_reference.h + third_party/libcxx/__type_traits/make_const_lvalue_ref.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/remove_reference.h + third_party/libcxx/__concepts/same_as.h + third_party/libcxx/__concepts/totally_ordered.h + third_party/libcxx/__concepts/boolean_testable.h + third_party/libcxx/__concepts/equality_comparable.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/common_reference.h + third_party/libcxx/__type_traits/make_const_lvalue_ref.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/common_reference.h + third_party/libcxx/__type_traits/make_const_lvalue_ref.h + third_party/libcxx/__config + third_party/libcxx/__utility/forward.h + third_party/libcxx/__compare/ordering.h + third_party/libcxx/__compare/weak_order.h + third_party/libcxx/__compare/compare_three_way.h + third_party/libcxx/__compare/ordering.h + third_party/libcxx/__compare/strong_order.h + third_party/libcxx/__bit/bit_cast.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/is_trivially_copyable.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/cstdint + third_party/libcxx/__assert + third_party/libcxx/__config + third_party/libcxx/stdint.h + third_party/libcxx/__config + libc/isystem/stdint.h + libc/inttypes.h + libc/limits.h + libc/literal.h + third_party/libcxx/__compare/compare_three_way.h + third_party/libcxx/__compare/ordering.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/conditional.h + third_party/libcxx/__type_traits/decay.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__utility/priority_tag.h + third_party/libcxx/__config + third_party/libcxx/cstddef + third_party/libcxx/cmath + third_party/libcxx/__assert + third_party/libcxx/__config + third_party/libcxx/__type_traits/enable_if.h + third_party/libcxx/__type_traits/is_arithmetic.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_floating_point.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/remove_cv.h + third_party/libcxx/__type_traits/is_integral.h + third_party/libcxx/__type_traits/is_constant_evaluated.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/is_floating_point.h + third_party/libcxx/__type_traits/is_same.h + third_party/libcxx/__type_traits/promote.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_same.h + third_party/libcxx/__utility/declval.h + third_party/libcxx/__type_traits/remove_cv.h + third_party/libcxx/version + third_party/libcxx/math.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/enable_if.h + third_party/libcxx/__type_traits/is_floating_point.h + third_party/libcxx/__type_traits/is_integral.h + third_party/libcxx/__type_traits/is_same.h + third_party/libcxx/__type_traits/promote.h + third_party/libcxx/limits + third_party/libcxx/__assert + third_party/libcxx/__config + third_party/libcxx/__type_traits/is_arithmetic.h + third_party/libcxx/__type_traits/is_signed.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_arithmetic.h + third_party/libcxx/__type_traits/is_integral.h + third_party/libcxx/__type_traits/remove_cv.h + third_party/libcxx/__undef_macros + third_party/libcxx/version + third_party/libcxx/type_traits + third_party/libcxx/__assert + third_party/libcxx/__config + third_party/libcxx/__fwd/hash.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/add_const.h + third_party/libcxx/__type_traits/add_cv.h + third_party/libcxx/__type_traits/add_lvalue_reference.h + third_party/libcxx/__type_traits/add_pointer.h + third_party/libcxx/__type_traits/add_rvalue_reference.h + third_party/libcxx/__type_traits/add_volatile.h + third_party/libcxx/__type_traits/aligned_storage.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/conditional.h + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/nat.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/type_list.h + third_party/libcxx/__config + third_party/libcxx/cstddef + third_party/libcxx/cstddef + third_party/libcxx/__type_traits/aligned_union.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/aligned_storage.h + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/cstddef + third_party/libcxx/__type_traits/alignment_of.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/cstddef + third_party/libcxx/__type_traits/apply_cv.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/is_const.h + third_party/libcxx/__type_traits/is_volatile.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/remove_reference.h + third_party/libcxx/__type_traits/can_extract_key.h + third_party/libcxx/__config + third_party/libcxx/__fwd/pair.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/conditional.h + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_same.h + third_party/libcxx/__type_traits/remove_const.h + third_party/libcxx/__type_traits/remove_const_ref.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/remove_const.h + third_party/libcxx/__type_traits/remove_reference.h + third_party/libcxx/__type_traits/common_reference.h + third_party/libcxx/__type_traits/common_type.h + third_party/libcxx/__type_traits/conditional.h + third_party/libcxx/__type_traits/conjunction.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/conditional.h + third_party/libcxx/__type_traits/enable_if.h + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/decay.h + third_party/libcxx/__type_traits/dependent_type.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/disjunction.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/enable_if.h + third_party/libcxx/__type_traits/extent.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/cstddef + third_party/libcxx/__type_traits/has_unique_object_representation.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/remove_all_extents.h + third_party/libcxx/__config + third_party/libcxx/cstddef + third_party/libcxx/__type_traits/remove_cv.h + third_party/libcxx/__type_traits/has_virtual_destructor.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/invoke.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/add_lvalue_reference.h + third_party/libcxx/__type_traits/apply_cv.h + third_party/libcxx/__type_traits/conditional.h + third_party/libcxx/__type_traits/decay.h + third_party/libcxx/__type_traits/enable_if.h + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_base_of.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_core_convertible.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_member_function_pointer.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_function.h + third_party/libcxx/__type_traits/remove_cv.h + third_party/libcxx/cstddef + third_party/libcxx/__type_traits/is_member_object_pointer.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/remove_cv.h + third_party/libcxx/__type_traits/is_member_function_pointer.h + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_reference_wrapper.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/remove_cv.h + third_party/libcxx/__type_traits/is_same.h + third_party/libcxx/__type_traits/is_void.h + third_party/libcxx/__type_traits/nat.h + third_party/libcxx/__type_traits/remove_cv.h + third_party/libcxx/__utility/declval.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__type_traits/is_abstract.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_aggregate.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_arithmetic.h + third_party/libcxx/__type_traits/is_array.h + third_party/libcxx/__type_traits/is_assignable.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_base_of.h + third_party/libcxx/__type_traits/is_bounded_array.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/cstddef + third_party/libcxx/__type_traits/is_callable.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__utility/declval.h + third_party/libcxx/__type_traits/is_char_like_type.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/conjunction.h + third_party/libcxx/__type_traits/is_standard_layout.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_trivial.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_class.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_compound.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_fundamental.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_null_pointer.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/remove_cv.h + third_party/libcxx/cstddef + third_party/libcxx/__type_traits/is_void.h + third_party/libcxx/__type_traits/is_arithmetic.h + third_party/libcxx/__type_traits/is_const.h + third_party/libcxx/__type_traits/is_constant_evaluated.h + third_party/libcxx/__type_traits/is_constructible.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_convertible.h + third_party/libcxx/__type_traits/is_copy_assignable.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/add_const.h + third_party/libcxx/__type_traits/add_lvalue_reference.h + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_copy_constructible.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/add_const.h + third_party/libcxx/__type_traits/add_lvalue_reference.h + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_default_constructible.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_destructible.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_function.h + third_party/libcxx/__type_traits/is_reference.h + third_party/libcxx/__type_traits/remove_all_extents.h + third_party/libcxx/__utility/declval.h + third_party/libcxx/__type_traits/is_empty.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_enum.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_final.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_floating_point.h + third_party/libcxx/__type_traits/is_function.h + third_party/libcxx/__type_traits/is_fundamental.h + third_party/libcxx/__type_traits/is_implicitly_default_constructible.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_default_constructible.h + third_party/libcxx/__type_traits/is_integral.h + third_party/libcxx/__type_traits/is_literal_type.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_member_function_pointer.h + third_party/libcxx/__type_traits/is_member_object_pointer.h + third_party/libcxx/__type_traits/is_member_pointer.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_member_function_pointer.h + third_party/libcxx/__type_traits/is_move_assignable.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/add_lvalue_reference.h + third_party/libcxx/__type_traits/add_rvalue_reference.h + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_move_constructible.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/add_rvalue_reference.h + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_nothrow_assignable.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_nothrow_constructible.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_constructible.h + third_party/libcxx/__type_traits/is_reference.h + third_party/libcxx/__utility/declval.h + third_party/libcxx/cstddef + third_party/libcxx/__type_traits/is_nothrow_convertible.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/conjunction.h + third_party/libcxx/__type_traits/disjunction.h + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_convertible.h + third_party/libcxx/__type_traits/is_void.h + third_party/libcxx/__type_traits/lazy.h + third_party/libcxx/__config + third_party/libcxx/__utility/declval.h + third_party/libcxx/__type_traits/is_nothrow_copy_assignable.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/add_const.h + third_party/libcxx/__type_traits/add_lvalue_reference.h + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_nothrow_copy_constructible.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/add_const.h + third_party/libcxx/__type_traits/add_lvalue_reference.h + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_nothrow_constructible.h + third_party/libcxx/__type_traits/is_nothrow_default_constructible.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_nothrow_destructible.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_destructible.h + third_party/libcxx/__type_traits/is_reference.h + third_party/libcxx/__type_traits/is_scalar.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_arithmetic.h + third_party/libcxx/__type_traits/is_enum.h + third_party/libcxx/__type_traits/is_member_pointer.h + third_party/libcxx/__type_traits/is_null_pointer.h + third_party/libcxx/__type_traits/is_pointer.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/remove_cv.h + third_party/libcxx/__type_traits/remove_all_extents.h + third_party/libcxx/__utility/declval.h + third_party/libcxx/cstddef + third_party/libcxx/__type_traits/is_nothrow_move_assignable.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/add_lvalue_reference.h + third_party/libcxx/__type_traits/add_rvalue_reference.h + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_nothrow_move_constructible.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/add_rvalue_reference.h + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_nothrow_constructible.h + third_party/libcxx/__type_traits/is_null_pointer.h + third_party/libcxx/__type_traits/is_object.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_array.h + third_party/libcxx/__type_traits/is_class.h + third_party/libcxx/__type_traits/is_scalar.h + third_party/libcxx/__type_traits/is_union.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_pod.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_pointer.h + third_party/libcxx/__type_traits/is_polymorphic.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_reference.h + third_party/libcxx/__type_traits/is_reference_wrapper.h + third_party/libcxx/__type_traits/is_referenceable.h + third_party/libcxx/__type_traits/is_same.h + third_party/libcxx/__type_traits/is_scalar.h + third_party/libcxx/__type_traits/is_scoped_enum.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_convertible.h + third_party/libcxx/__type_traits/is_enum.h + third_party/libcxx/__type_traits/underlying_type.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/is_enum.h + third_party/libcxx/__type_traits/is_signed.h + third_party/libcxx/__type_traits/is_specialization.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/is_standard_layout.h + third_party/libcxx/__type_traits/is_swappable.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/add_lvalue_reference.h + third_party/libcxx/__type_traits/conditional.h + third_party/libcxx/__type_traits/enable_if.h + third_party/libcxx/__type_traits/is_move_assignable.h + third_party/libcxx/__type_traits/is_move_constructible.h + third_party/libcxx/__type_traits/is_nothrow_move_assignable.h + third_party/libcxx/__type_traits/is_nothrow_move_constructible.h + third_party/libcxx/__type_traits/is_referenceable.h + third_party/libcxx/__type_traits/is_same.h + third_party/libcxx/__type_traits/is_void.h + third_party/libcxx/__type_traits/nat.h + third_party/libcxx/__utility/declval.h + third_party/libcxx/cstddef + third_party/libcxx/__type_traits/is_trivial.h + third_party/libcxx/__type_traits/is_trivially_assignable.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_trivially_constructible.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_trivially_copy_assignable.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/add_const.h + third_party/libcxx/__type_traits/add_lvalue_reference.h + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_trivially_copy_constructible.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/add_lvalue_reference.h + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_trivially_copyable.h + third_party/libcxx/__type_traits/is_trivially_default_constructible.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_trivially_destructible.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_destructible.h + third_party/libcxx/__type_traits/is_trivially_move_assignable.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/add_lvalue_reference.h + third_party/libcxx/__type_traits/add_rvalue_reference.h + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_trivially_move_constructible.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/add_rvalue_reference.h + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_unbounded_array.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_union.h + third_party/libcxx/__type_traits/is_unsigned.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_arithmetic.h + third_party/libcxx/__type_traits/is_integral.h + third_party/libcxx/__type_traits/is_void.h + third_party/libcxx/__type_traits/is_volatile.h + third_party/libcxx/__type_traits/make_const_lvalue_ref.h + third_party/libcxx/__type_traits/make_signed.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/apply_cv.h + third_party/libcxx/__type_traits/is_enum.h + third_party/libcxx/__type_traits/is_integral.h + third_party/libcxx/__type_traits/nat.h + third_party/libcxx/__type_traits/remove_cv.h + third_party/libcxx/__type_traits/type_list.h + third_party/libcxx/__type_traits/make_unsigned.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/apply_cv.h + third_party/libcxx/__type_traits/conditional.h + third_party/libcxx/__type_traits/is_enum.h + third_party/libcxx/__type_traits/is_integral.h + third_party/libcxx/__type_traits/is_unsigned.h + third_party/libcxx/__type_traits/nat.h + third_party/libcxx/__type_traits/remove_cv.h + third_party/libcxx/__type_traits/type_list.h + third_party/libcxx/__type_traits/maybe_const.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/conditional.h + third_party/libcxx/__type_traits/negation.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/rank.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/cstddef + third_party/libcxx/__type_traits/remove_all_extents.h + third_party/libcxx/__type_traits/remove_const.h + third_party/libcxx/__type_traits/remove_const_ref.h + third_party/libcxx/__type_traits/remove_cv.h + third_party/libcxx/__type_traits/remove_extent.h + third_party/libcxx/__type_traits/remove_pointer.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/remove_reference.h + third_party/libcxx/__type_traits/remove_volatile.h + third_party/libcxx/__type_traits/result_of.h + third_party/libcxx/__config + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/invoke.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__type_traits/type_identity.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/underlying_type.h + third_party/libcxx/__type_traits/unwrap_ref.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/decay.h + third_party/libcxx/__type_traits/void_t.h + third_party/libcxx/__utility/declval.h + third_party/libcxx/cstddef + third_party/libcxx/cstdint + third_party/libcxx/version + third_party/libcxx/stdlib.h + third_party/libcxx/__config + libc/isystem/stdlib.h + libc/calls/calls.h + libc/calls/termios.h + libc/calls/struct/termios.h + libc/calls/struct/winsize.h + libc/fmt/conv.h + libc/limits.h + libc/mem/alg.h + libc/mem/alloca.h + libc/mem/mem.h + libc/runtime/runtime.h + libc/stdio/dprintf.h + libc/stdio/rand.h + libc/stdlib.h + libc/str/str.h + libc/sysv/consts/exit.h + libc/temp.h + third_party/musl/rand48.h + libc/isystem/stdlib.h + third_party/libcxx/math.h + libc/isystem/math.h + libc/math.h + libc/isystem/math.h + third_party/libcxx/__undef_macros + third_party/libcxx/type_traits + third_party/libcxx/cstdint + third_party/libcxx/limits + third_party/libcxx/__undef_macros + third_party/libcxx/__config + third_party/libcxx/__type_traits/decay.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__utility/priority_tag.h + third_party/libcxx/cmath + third_party/libcxx/__config + third_party/libcxx/__type_traits/decay.h + third_party/libcxx/__type_traits/is_same.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__utility/priority_tag.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/decay.h + third_party/libcxx/__type_traits/is_same.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__utility/priority_tag.h + third_party/libcxx/__compare/compare_strong_order_fallback.h + third_party/libcxx/__compare/ordering.h + third_party/libcxx/__compare/strong_order.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/decay.h + third_party/libcxx/__type_traits/is_same.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__utility/priority_tag.h + third_party/libcxx/__compare/compare_three_way.h + third_party/libcxx/__compare/compare_three_way_result.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/make_const_lvalue_ref.h + third_party/libcxx/__utility/declval.h + third_party/libcxx/__compare/compare_weak_order_fallback.h + third_party/libcxx/__compare/ordering.h + third_party/libcxx/__compare/weak_order.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/decay.h + third_party/libcxx/__type_traits/is_same.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__utility/priority_tag.h + third_party/libcxx/__compare/is_eq.h + third_party/libcxx/__compare/ordering.h + third_party/libcxx/__config + third_party/libcxx/__compare/ordering.h + third_party/libcxx/__compare/partial_order.h + third_party/libcxx/__compare/strong_order.h + third_party/libcxx/__compare/synth_three_way.h + third_party/libcxx/__compare/ordering.h + third_party/libcxx/__compare/three_way_comparable.h + third_party/libcxx/__concepts/boolean_testable.h + third_party/libcxx/__config + third_party/libcxx/__utility/declval.h + third_party/libcxx/__compare/three_way_comparable.h + third_party/libcxx/__compare/weak_order.h + third_party/libcxx/__config + third_party/libcxx/version + third_party/libcxx/type_traits + third_party/libcxx/initializer_list + third_party/libcxx/__assert + third_party/libcxx/__config + third_party/libcxx/cstddef + third_party/libcxx/__algorithm/max.h + third_party/libcxx/__algorithm/comp.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/predicate_traits.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__algorithm/comp_ref_type.h + third_party/libcxx/__config + third_party/libcxx/__debug + third_party/libcxx/__assert + third_party/libcxx/__config + third_party/libcxx/__type_traits/is_constant_evaluated.h + third_party/libcxx/cstddef + third_party/libcxx/__utility/declval.h + third_party/libcxx/__algorithm/max_element.h + third_party/libcxx/__algorithm/comp.h + third_party/libcxx/__algorithm/comp_ref_type.h + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__concepts/arithmetic.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/is_floating_point.h + third_party/libcxx/__type_traits/is_integral.h + third_party/libcxx/__type_traits/is_signed.h + third_party/libcxx/__type_traits/is_signed_integer.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_unsigned_integer.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__concepts/constructible.h + third_party/libcxx/__concepts/convertible_to.h + third_party/libcxx/__concepts/destructible.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/is_nothrow_destructible.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/is_constructible.h + third_party/libcxx/__concepts/convertible_to.h + third_party/libcxx/__concepts/copyable.h + third_party/libcxx/__concepts/assignable.h + third_party/libcxx/__concepts/common_reference_with.h + third_party/libcxx/__concepts/same_as.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/is_reference.h + third_party/libcxx/__type_traits/make_const_lvalue_ref.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__concepts/constructible.h + third_party/libcxx/__concepts/movable.h + third_party/libcxx/__concepts/assignable.h + third_party/libcxx/__concepts/constructible.h + third_party/libcxx/__concepts/swappable.h + third_party/libcxx/__concepts/assignable.h + third_party/libcxx/__concepts/class_or_enum.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/is_class.h + third_party/libcxx/__type_traits/is_enum.h + third_party/libcxx/__type_traits/is_union.h + third_party/libcxx/__type_traits/remove_cvref.h + third_party/libcxx/__concepts/common_reference_with.h + third_party/libcxx/__concepts/constructible.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/extent.h + third_party/libcxx/__type_traits/is_nothrow_move_assignable.h + third_party/libcxx/__type_traits/is_nothrow_move_constructible.h + third_party/libcxx/__type_traits/remove_cvref.h + third_party/libcxx/__utility/exchange.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/is_nothrow_assignable.h + third_party/libcxx/__type_traits/is_nothrow_move_constructible.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/conditional.h + third_party/libcxx/__type_traits/is_copy_constructible.h + third_party/libcxx/__type_traits/is_nothrow_move_constructible.h + third_party/libcxx/__type_traits/remove_reference.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__utility/swap.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/is_move_assignable.h + third_party/libcxx/__type_traits/is_move_constructible.h + third_party/libcxx/__type_traits/is_nothrow_move_assignable.h + third_party/libcxx/__type_traits/is_nothrow_move_constructible.h + third_party/libcxx/__type_traits/is_swappable.h + third_party/libcxx/__utility/declval.h + third_party/libcxx/__utility/move.h + third_party/libcxx/cstddef + third_party/libcxx/cstddef + third_party/libcxx/__config + third_party/libcxx/__type_traits/is_object.h + third_party/libcxx/__config + third_party/libcxx/__concepts/equality_comparable.h + third_party/libcxx/__concepts/same_as.h + third_party/libcxx/__concepts/totally_ordered.h + third_party/libcxx/__config + third_party/libcxx/__fwd/pair.h + third_party/libcxx/__iterator/incrementable_traits.h + third_party/libcxx/__concepts/arithmetic.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/conditional.h + third_party/libcxx/__type_traits/is_object.h + third_party/libcxx/__type_traits/is_primary_template.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/enable_if.h + third_party/libcxx/__type_traits/is_same.h + third_party/libcxx/__type_traits/is_valid_expansion.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/make_signed.h + third_party/libcxx/__type_traits/remove_cvref.h + third_party/libcxx/__utility/declval.h + third_party/libcxx/cstddef + third_party/libcxx/__iterator/readable_traits.h + third_party/libcxx/__concepts/same_as.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/conditional.h + third_party/libcxx/__type_traits/is_array.h + third_party/libcxx/__type_traits/is_object.h + third_party/libcxx/__type_traits/is_primary_template.h + third_party/libcxx/__type_traits/remove_cv.h + third_party/libcxx/__type_traits/remove_cvref.h + third_party/libcxx/__type_traits/remove_extent.h + third_party/libcxx/__type_traits/add_const.h + third_party/libcxx/__type_traits/common_reference.h + third_party/libcxx/__type_traits/conditional.h + third_party/libcxx/__type_traits/disjunction.h + third_party/libcxx/__type_traits/is_convertible.h + third_party/libcxx/__type_traits/is_object.h + third_party/libcxx/__type_traits/is_primary_template.h + third_party/libcxx/__type_traits/is_reference.h + third_party/libcxx/__type_traits/is_valid_expansion.h + third_party/libcxx/__type_traits/remove_const.h + third_party/libcxx/__type_traits/remove_cv.h + third_party/libcxx/__type_traits/remove_cvref.h + third_party/libcxx/__type_traits/void_t.h + third_party/libcxx/__utility/declval.h + third_party/libcxx/cstddef + third_party/libcxx/__config + third_party/libcxx/initializer_list + third_party/libcxx/__undef_macros + third_party/libcxx/__algorithm/min.h + third_party/libcxx/__algorithm/comp.h + third_party/libcxx/__algorithm/comp_ref_type.h + third_party/libcxx/__algorithm/min_element.h + third_party/libcxx/__algorithm/comp.h + third_party/libcxx/__algorithm/comp_ref_type.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__type_traits/is_callable.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__config + third_party/libcxx/initializer_list + third_party/libcxx/__undef_macros + third_party/libcxx/__algorithm/remove.h + third_party/libcxx/__algorithm/find.h + third_party/libcxx/__algorithm/unwrap_iter.h + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__memory/pointer_traits.h + third_party/libcxx/__config + third_party/libcxx/__memory/addressof.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/conditional.h + third_party/libcxx/__type_traits/conjunction.h + third_party/libcxx/__type_traits/decay.h + third_party/libcxx/__type_traits/is_class.h + third_party/libcxx/__type_traits/is_function.h + third_party/libcxx/__type_traits/is_void.h + third_party/libcxx/__type_traits/void_t.h + third_party/libcxx/__utility/declval.h + third_party/libcxx/cstddef + third_party/libcxx/__type_traits/enable_if.h + third_party/libcxx/__type_traits/is_copy_constructible.h + third_party/libcxx/__utility/declval.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__string/constexpr_c_functions.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/is_constant_evaluated.h + third_party/libcxx/__type_traits/is_equality_comparable.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_integral.h + third_party/libcxx/__type_traits/is_same.h + third_party/libcxx/__type_traits/is_void.h + third_party/libcxx/__type_traits/remove_cv.h + third_party/libcxx/__type_traits/remove_cvref.h + third_party/libcxx/__type_traits/void_t.h + third_party/libcxx/__utility/declval.h + third_party/libcxx/__type_traits/is_same.h + third_party/libcxx/__type_traits/is_trivially_lexicographically_comparable.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_same.h + third_party/libcxx/__type_traits/is_unsigned.h + third_party/libcxx/__type_traits/remove_cv.h + third_party/libcxx/__type_traits/void_t.h + third_party/libcxx/__utility/declval.h + third_party/libcxx/__type_traits/remove_cv.h + third_party/libcxx/cstddef + third_party/libcxx/__type_traits/is_same.h + third_party/libcxx/cwchar + third_party/libcxx/__assert + third_party/libcxx/__config + third_party/libcxx/__type_traits/apply_cv.h + third_party/libcxx/__type_traits/is_constant_evaluated.h + third_party/libcxx/__type_traits/is_equality_comparable.h + third_party/libcxx/__type_traits/is_same.h + third_party/libcxx/__type_traits/remove_cv.h + third_party/libcxx/cwctype + third_party/libcxx/__assert + third_party/libcxx/__config + third_party/libcxx/cctype + third_party/libcxx/__assert + third_party/libcxx/__config + third_party/libcxx/ctype.h + third_party/libcxx/__config + libc/isystem/ctype.h + libc/str/str.h + third_party/libcxx/wctype.h + third_party/libcxx/__config + libc/isystem/wctype.h + libc/calls/calls.h + libc/fmt/conv.h + libc/str/str.h + third_party/libcxx/wchar.h + third_party/libcxx/__config + third_party/libcxx/stddef.h + third_party/libcxx/__mbstate_t.h + third_party/libcxx/__config + third_party/libcxx/wchar.h + third_party/libcxx/uchar.h + third_party/libcxx/__config + third_party/libcxx/__mbstate_t.h + third_party/libcxx/stddef.h + libc/isystem/uchar.h + libc/str/str.h + libc/isystem/wchar.h + libc/fmt/conv.h + libc/mem/mem.h + libc/stdio/stdio.h + libc/str/str.h + libc/str/unicode.h + libc/time.h + libc/isystem/wchar.h + third_party/libcxx/__algorithm/find_if.h + third_party/libcxx/__config + third_party/libcxx/__config + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/remove_if.h + third_party/libcxx/__algorithm/find_if.h + third_party/libcxx/__config + third_party/libcxx/__utility/move.h + third_party/libcxx/__assert + third_party/libcxx/__config + third_party/libcxx/__debug + third_party/libcxx/__format/enable_insertable.h + third_party/libcxx/__config + third_party/libcxx/__functional/hash.h + third_party/libcxx/__config + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__functional/unary_function.h + third_party/libcxx/__config + third_party/libcxx/__fwd/hash.h + third_party/libcxx/__tuple/sfinae_helpers.h + third_party/libcxx/__config + third_party/libcxx/__fwd/tuple.h + third_party/libcxx/__config + third_party/libcxx/__tuple/make_tuple_types.h + third_party/libcxx/__config + third_party/libcxx/__fwd/array.h + third_party/libcxx/__config + third_party/libcxx/cstddef + third_party/libcxx/__fwd/tuple.h + third_party/libcxx/__tuple/tuple_element.h + third_party/libcxx/__config + third_party/libcxx/__tuple/tuple_indices.h + third_party/libcxx/__config + third_party/libcxx/__utility/integer_sequence.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/is_integral.h + third_party/libcxx/cstddef + third_party/libcxx/cstddef + third_party/libcxx/__tuple/tuple_types.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/add_const.h + third_party/libcxx/__type_traits/add_cv.h + third_party/libcxx/__type_traits/add_volatile.h + third_party/libcxx/cstddef + third_party/libcxx/__tuple/tuple_indices.h + third_party/libcxx/__tuple/tuple_size.h + third_party/libcxx/__config + third_party/libcxx/__fwd/tuple.h + third_party/libcxx/__tuple/tuple_types.h + third_party/libcxx/__type_traits/is_const.h + third_party/libcxx/__type_traits/is_volatile.h + third_party/libcxx/cstddef + third_party/libcxx/__tuple/tuple_types.h + third_party/libcxx/__type_traits/apply_cv.h + third_party/libcxx/__type_traits/remove_cv.h + third_party/libcxx/__type_traits/remove_reference.h + third_party/libcxx/cstddef + third_party/libcxx/__tuple/tuple_element.h + third_party/libcxx/__tuple/tuple_like_ext.h + third_party/libcxx/__config + third_party/libcxx/__fwd/array.h + third_party/libcxx/__fwd/pair.h + third_party/libcxx/__fwd/tuple.h + third_party/libcxx/__tuple/tuple_types.h + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/cstddef + third_party/libcxx/__tuple/tuple_size.h + third_party/libcxx/__tuple/tuple_types.h + third_party/libcxx/__type_traits/enable_if.h + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_assignable.h + third_party/libcxx/__type_traits/is_constructible.h + third_party/libcxx/__type_traits/is_convertible.h + third_party/libcxx/__type_traits/is_same.h + third_party/libcxx/__type_traits/remove_cvref.h + third_party/libcxx/__type_traits/remove_reference.h + third_party/libcxx/cstddef + third_party/libcxx/__type_traits/is_copy_constructible.h + third_party/libcxx/__type_traits/is_default_constructible.h + third_party/libcxx/__type_traits/is_enum.h + third_party/libcxx/__type_traits/is_move_constructible.h + third_party/libcxx/__type_traits/underlying_type.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__utility/pair.h + third_party/libcxx/__compare/common_comparison_category.h + third_party/libcxx/__compare/synth_three_way.h + third_party/libcxx/__concepts/different_from.h + third_party/libcxx/__concepts/same_as.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/remove_cvref.h + third_party/libcxx/__config + third_party/libcxx/__fwd/array.h + third_party/libcxx/__fwd/get.h + third_party/libcxx/__concepts/copyable.h + third_party/libcxx/__config + third_party/libcxx/__fwd/array.h + third_party/libcxx/__fwd/pair.h + third_party/libcxx/__fwd/subrange.h + third_party/libcxx/__config + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__concepts/arithmetic.h + third_party/libcxx/__concepts/assignable.h + third_party/libcxx/__concepts/common_reference_with.h + third_party/libcxx/__concepts/constructible.h + third_party/libcxx/__concepts/copyable.h + third_party/libcxx/__concepts/derived_from.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/is_base_of.h + third_party/libcxx/__type_traits/is_convertible.h + third_party/libcxx/__concepts/equality_comparable.h + third_party/libcxx/__concepts/invocable.h + third_party/libcxx/__config + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__concepts/movable.h + third_party/libcxx/__concepts/predicate.h + third_party/libcxx/__concepts/boolean_testable.h + third_party/libcxx/__concepts/invocable.h + third_party/libcxx/__config + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__concepts/regular.h + third_party/libcxx/__concepts/equality_comparable.h + third_party/libcxx/__concepts/semiregular.h + third_party/libcxx/__concepts/constructible.h + third_party/libcxx/__concepts/copyable.h + third_party/libcxx/__config + third_party/libcxx/__config + third_party/libcxx/__concepts/relation.h + third_party/libcxx/__concepts/predicate.h + third_party/libcxx/__config + third_party/libcxx/__concepts/same_as.h + third_party/libcxx/__concepts/semiregular.h + third_party/libcxx/__concepts/totally_ordered.h + third_party/libcxx/__config + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__iterator/incrementable_traits.h + third_party/libcxx/__iterator/iter_move.h + third_party/libcxx/__concepts/class_or_enum.h + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__type_traits/is_reference.h + third_party/libcxx/__type_traits/remove_cvref.h + third_party/libcxx/__utility/declval.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__iterator/readable_traits.h + third_party/libcxx/__memory/pointer_traits.h + third_party/libcxx/__type_traits/add_pointer.h + third_party/libcxx/__type_traits/common_reference.h + third_party/libcxx/__type_traits/is_pointer.h + third_party/libcxx/__type_traits/is_reference.h + third_party/libcxx/__type_traits/remove_cv.h + third_party/libcxx/__type_traits/remove_cvref.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__fwd/tuple.h + third_party/libcxx/__tuple/tuple_element.h + third_party/libcxx/cstddef + third_party/libcxx/__fwd/subrange.h + third_party/libcxx/__fwd/tuple.h + third_party/libcxx/__tuple/pair_like.h + third_party/libcxx/__config + third_party/libcxx/__tuple/tuple_like.h + third_party/libcxx/__config + third_party/libcxx/__fwd/array.h + third_party/libcxx/__fwd/pair.h + third_party/libcxx/__fwd/subrange.h + third_party/libcxx/__fwd/tuple.h + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/remove_cvref.h + third_party/libcxx/cstddef + third_party/libcxx/__tuple/tuple_size.h + third_party/libcxx/__type_traits/remove_cvref.h + third_party/libcxx/__tuple/sfinae_helpers.h + third_party/libcxx/__tuple/tuple_element.h + third_party/libcxx/__tuple/tuple_indices.h + third_party/libcxx/__tuple/tuple_size.h + third_party/libcxx/__type_traits/common_reference.h + third_party/libcxx/__type_traits/common_type.h + third_party/libcxx/__type_traits/conditional.h + third_party/libcxx/__type_traits/decay.h + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_assignable.h + third_party/libcxx/__type_traits/is_constructible.h + third_party/libcxx/__type_traits/is_convertible.h + third_party/libcxx/__type_traits/is_copy_assignable.h + third_party/libcxx/__type_traits/is_default_constructible.h + third_party/libcxx/__type_traits/is_implicitly_default_constructible.h + third_party/libcxx/__type_traits/is_move_assignable.h + third_party/libcxx/__type_traits/is_nothrow_assignable.h + third_party/libcxx/__type_traits/is_nothrow_constructible.h + third_party/libcxx/__type_traits/is_nothrow_copy_assignable.h + third_party/libcxx/__type_traits/is_nothrow_copy_constructible.h + third_party/libcxx/__type_traits/is_nothrow_default_constructible.h + third_party/libcxx/__type_traits/is_nothrow_move_assignable.h + third_party/libcxx/__type_traits/is_same.h + third_party/libcxx/__type_traits/is_swappable.h + third_party/libcxx/__type_traits/nat.h + third_party/libcxx/__type_traits/remove_cvref.h + third_party/libcxx/__type_traits/unwrap_ref.h + third_party/libcxx/__utility/declval.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__utility/piecewise_construct.h + third_party/libcxx/__config + third_party/libcxx/cstddef + third_party/libcxx/__utility/swap.h + third_party/libcxx/cstddef + third_party/libcxx/cstdint + third_party/libcxx/cstring + third_party/libcxx/__assert + third_party/libcxx/__config + third_party/libcxx/__type_traits/is_constant_evaluated.h + third_party/libcxx/string.h + third_party/libcxx/__config + libc/isystem/string.h + libc/mem/alg.h + libc/mem/mem.h + libc/str/str.h + third_party/libcxx/limits + third_party/libcxx/__functional/unary_function.h + third_party/libcxx/__fwd/string.h + third_party/libcxx/__config + third_party/libcxx/__fwd/memory_resource.h + third_party/libcxx/__config + third_party/libcxx/__ios/fpos.h + third_party/libcxx/__config + third_party/libcxx/iosfwd + third_party/libcxx/__assert + third_party/libcxx/__config + third_party/libcxx/__fwd/fstream.h + third_party/libcxx/__config + third_party/libcxx/__fwd/string.h + third_party/libcxx/__fwd/ios.h + third_party/libcxx/__config + third_party/libcxx/__fwd/string.h + third_party/libcxx/__fwd/istream.h + third_party/libcxx/__config + third_party/libcxx/__fwd/string.h + third_party/libcxx/__fwd/ostream.h + third_party/libcxx/__config + third_party/libcxx/__fwd/string.h + third_party/libcxx/__fwd/sstream.h + third_party/libcxx/__config + third_party/libcxx/__fwd/string.h + third_party/libcxx/__fwd/streambuf.h + third_party/libcxx/__config + third_party/libcxx/__fwd/string.h + third_party/libcxx/__fwd/string.h + third_party/libcxx/__std_mbstate_t.h + third_party/libcxx/__config + third_party/libcxx/__mbstate_t.h + third_party/libcxx/version + third_party/libcxx/__iterator/distance.h + third_party/libcxx/__config + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/incrementable_traits.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__concepts/class_or_enum.h + third_party/libcxx/__config + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/readable_traits.h + third_party/libcxx/__ranges/enable_borrowed_range.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/decay.h + third_party/libcxx/__type_traits/is_reference.h + third_party/libcxx/__type_traits/remove_cvref.h + third_party/libcxx/__type_traits/remove_reference.h + third_party/libcxx/__utility/auto_cast.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/decay.h + third_party/libcxx/__utility/declval.h + third_party/libcxx/cstddef + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__concepts/constructible.h + third_party/libcxx/__concepts/movable.h + third_party/libcxx/__concepts/same_as.h + third_party/libcxx/__config + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/incrementable_traits.h + third_party/libcxx/__iterator/iter_move.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__iterator/readable_traits.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/data.h + third_party/libcxx/__concepts/class_or_enum.h + third_party/libcxx/__config + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__memory/pointer_traits.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__type_traits/decay.h + third_party/libcxx/__type_traits/is_object.h + third_party/libcxx/__type_traits/is_pointer.h + third_party/libcxx/__type_traits/is_reference.h + third_party/libcxx/__type_traits/remove_pointer.h + third_party/libcxx/__type_traits/remove_reference.h + third_party/libcxx/__utility/auto_cast.h + third_party/libcxx/__ranges/enable_borrowed_range.h + third_party/libcxx/__ranges/enable_view.h + third_party/libcxx/__concepts/derived_from.h + third_party/libcxx/__concepts/same_as.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/is_class.h + third_party/libcxx/__type_traits/is_convertible.h + third_party/libcxx/__type_traits/remove_cv.h + third_party/libcxx/__ranges/size.h + third_party/libcxx/__concepts/arithmetic.h + third_party/libcxx/__concepts/class_or_enum.h + third_party/libcxx/__config + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__type_traits/decay.h + third_party/libcxx/__type_traits/make_signed.h + third_party/libcxx/__type_traits/make_unsigned.h + third_party/libcxx/__type_traits/remove_cvref.h + third_party/libcxx/__utility/auto_cast.h + third_party/libcxx/__utility/declval.h + third_party/libcxx/cstddef + third_party/libcxx/__type_traits/add_pointer.h + third_party/libcxx/__type_traits/is_reference.h + third_party/libcxx/__type_traits/remove_cvref.h + third_party/libcxx/__type_traits/remove_reference.h + third_party/libcxx/__utility/declval.h + third_party/libcxx/initializer_list + third_party/libcxx/__ranges/size.h + third_party/libcxx/__type_traits/decay.h + third_party/libcxx/__type_traits/remove_cvref.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__iterator/reverse_iterator.h + third_party/libcxx/__algorithm/unwrap_iter.h + third_party/libcxx/__compare/compare_three_way_result.h + third_party/libcxx/__compare/three_way_comparable.h + third_party/libcxx/__concepts/convertible_to.h + third_party/libcxx/__config + third_party/libcxx/__iterator/advance.h + third_party/libcxx/__assert + third_party/libcxx/__concepts/assignable.h + third_party/libcxx/__concepts/same_as.h + third_party/libcxx/__config + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/incrementable_traits.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__type_traits/enable_if.h + third_party/libcxx/__type_traits/is_integral.h + third_party/libcxx/__utility/convert_to_integral.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/enable_if.h + third_party/libcxx/__type_traits/is_enum.h + third_party/libcxx/__type_traits/is_floating_point.h + third_party/libcxx/__type_traits/underlying_type.h + third_party/libcxx/__utility/declval.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__utility/unreachable.h + third_party/libcxx/__assert + third_party/libcxx/__config + third_party/libcxx/limits + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/incrementable_traits.h + third_party/libcxx/__iterator/iter_move.h + third_party/libcxx/__iterator/iter_swap.h + third_party/libcxx/__concepts/class_or_enum.h + third_party/libcxx/__concepts/swappable.h + third_party/libcxx/__config + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/iter_move.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__iterator/readable_traits.h + third_party/libcxx/__type_traits/remove_cvref.h + third_party/libcxx/__utility/declval.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__iterator/iterator.h + third_party/libcxx/__config + third_party/libcxx/cstddef + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__iterator/next.h + third_party/libcxx/__assert + third_party/libcxx/__config + third_party/libcxx/__iterator/advance.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/incrementable_traits.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__type_traits/enable_if.h + third_party/libcxx/__iterator/prev.h + third_party/libcxx/__assert + third_party/libcxx/__config + third_party/libcxx/__iterator/advance.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/incrementable_traits.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__type_traits/enable_if.h + third_party/libcxx/__iterator/readable_traits.h + third_party/libcxx/__iterator/segmented_iterator.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/cstddef + third_party/libcxx/__memory/addressof.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/subrange.h + third_party/libcxx/__assert + third_party/libcxx/__concepts/constructible.h + third_party/libcxx/__concepts/convertible_to.h + third_party/libcxx/__concepts/copyable.h + third_party/libcxx/__concepts/derived_from.h + third_party/libcxx/__concepts/different_from.h + third_party/libcxx/__config + third_party/libcxx/__fwd/get.h + third_party/libcxx/__fwd/subrange.h + third_party/libcxx/__iterator/advance.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/incrementable_traits.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__config + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__type_traits/conditional.h + third_party/libcxx/__ranges/enable_borrowed_range.h + third_party/libcxx/__ranges/size.h + third_party/libcxx/__ranges/view_interface.h + third_party/libcxx/__assert + third_party/libcxx/__concepts/derived_from.h + third_party/libcxx/__concepts/same_as.h + third_party/libcxx/__config + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__iterator/prev.h + third_party/libcxx/__memory/pointer_traits.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/empty.h + third_party/libcxx/__concepts/class_or_enum.h + third_party/libcxx/__config + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/size.h + third_party/libcxx/__type_traits/is_class.h + third_party/libcxx/__type_traits/make_unsigned.h + third_party/libcxx/__type_traits/remove_cv.h + third_party/libcxx/__tuple/pair_like.h + third_party/libcxx/__tuple/tuple_element.h + third_party/libcxx/__tuple/tuple_size.h + third_party/libcxx/__type_traits/conditional.h + third_party/libcxx/__type_traits/decay.h + third_party/libcxx/__type_traits/is_pointer.h + third_party/libcxx/__type_traits/is_reference.h + third_party/libcxx/__type_traits/make_unsigned.h + third_party/libcxx/__type_traits/remove_const.h + third_party/libcxx/__type_traits/remove_pointer.h + third_party/libcxx/__utility/move.h + third_party/libcxx/cstddef + third_party/libcxx/__type_traits/conditional.h + third_party/libcxx/__type_traits/enable_if.h + third_party/libcxx/__type_traits/is_assignable.h + third_party/libcxx/__type_traits/is_convertible.h + third_party/libcxx/__type_traits/is_nothrow_copy_constructible.h + third_party/libcxx/__type_traits/is_pointer.h + third_party/libcxx/__type_traits/is_same.h + third_party/libcxx/__utility/declval.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__iterator/wrap_iter.h + third_party/libcxx/__config + third_party/libcxx/__debug + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__memory/addressof.h + third_party/libcxx/__memory/pointer_traits.h + third_party/libcxx/__type_traits/enable_if.h + third_party/libcxx/__type_traits/is_convertible.h + third_party/libcxx/__memory/addressof.h + third_party/libcxx/__memory/allocate_at_least.h + third_party/libcxx/__config + third_party/libcxx/__memory/allocator_traits.h + third_party/libcxx/__config + third_party/libcxx/__memory/construct_at.h + third_party/libcxx/__assert + third_party/libcxx/__config + third_party/libcxx/__iterator/access.h + third_party/libcxx/__config + third_party/libcxx/cstddef + third_party/libcxx/__memory/addressof.h + third_party/libcxx/__memory/voidify.h + third_party/libcxx/__config + third_party/libcxx/__memory/addressof.h + third_party/libcxx/__type_traits/enable_if.h + third_party/libcxx/__type_traits/is_array.h + third_party/libcxx/__utility/declval.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__utility/move.h + third_party/libcxx/new + third_party/libcxx/__assert + third_party/libcxx/__availability + third_party/libcxx/__config + third_party/libcxx/__exception/exception.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/alignment_of.h + third_party/libcxx/__type_traits/is_function.h + third_party/libcxx/__type_traits/is_same.h + third_party/libcxx/__type_traits/remove_cv.h + third_party/libcxx/__verbose_abort + third_party/libcxx/cstddef + third_party/libcxx/cstdlib + third_party/libcxx/__assert + third_party/libcxx/__config + third_party/libcxx/stdlib.h + third_party/libcxx/version + third_party/libcxx/exception + third_party/libcxx/__assert + third_party/libcxx/__config + third_party/libcxx/__exception/exception.h + third_party/libcxx/__exception/exception_ptr.h + third_party/libcxx/__config + third_party/libcxx/__exception/operations.h + third_party/libcxx/__availability + third_party/libcxx/__config + third_party/libcxx/cstddef + third_party/libcxx/__memory/addressof.h + third_party/libcxx/cstddef + third_party/libcxx/cstdlib + third_party/libcxx/__exception/nested_exception.h + third_party/libcxx/__config + third_party/libcxx/__exception/exception_ptr.h + third_party/libcxx/__memory/addressof.h + third_party/libcxx/__type_traits/decay.h + third_party/libcxx/__type_traits/is_base_of.h + third_party/libcxx/__type_traits/is_class.h + third_party/libcxx/__type_traits/is_convertible.h + third_party/libcxx/__type_traits/is_copy_constructible.h + third_party/libcxx/__type_traits/is_final.h + third_party/libcxx/__type_traits/is_polymorphic.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/cstddef + third_party/libcxx/__exception/operations.h + third_party/libcxx/__exception/terminate.h + third_party/libcxx/__config + third_party/libcxx/version + third_party/libcxx/cstdlib + third_party/libcxx/type_traits + third_party/libcxx/type_traits + third_party/libcxx/__memory/pointer_traits.h + third_party/libcxx/__type_traits/enable_if.h + third_party/libcxx/__type_traits/is_copy_constructible.h + third_party/libcxx/__type_traits/is_empty.h + third_party/libcxx/__type_traits/is_move_constructible.h + third_party/libcxx/__type_traits/make_unsigned.h + third_party/libcxx/__type_traits/remove_reference.h + third_party/libcxx/__type_traits/void_t.h + third_party/libcxx/__utility/declval.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/limits + third_party/libcxx/__undef_macros + third_party/libcxx/cstddef + third_party/libcxx/__memory/allocator.h + third_party/libcxx/__config + third_party/libcxx/__memory/addressof.h + third_party/libcxx/__memory/allocate_at_least.h + third_party/libcxx/__memory/allocator_traits.h + third_party/libcxx/__type_traits/is_constant_evaluated.h + third_party/libcxx/__type_traits/is_same.h + third_party/libcxx/__type_traits/is_void.h + third_party/libcxx/__type_traits/is_volatile.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/cstddef + third_party/libcxx/new + third_party/libcxx/__memory/allocator_traits.h + third_party/libcxx/__memory/compressed_pair.h + third_party/libcxx/__config + third_party/libcxx/__fwd/get.h + third_party/libcxx/__fwd/tuple.h + third_party/libcxx/__tuple/tuple_indices.h + third_party/libcxx/__type_traits/decay.h + third_party/libcxx/__type_traits/dependent_type.h + third_party/libcxx/__type_traits/enable_if.h + third_party/libcxx/__type_traits/is_default_constructible.h + third_party/libcxx/__type_traits/is_empty.h + third_party/libcxx/__type_traits/is_final.h + third_party/libcxx/__type_traits/is_same.h + third_party/libcxx/__type_traits/is_swappable.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__utility/piecewise_construct.h + third_party/libcxx/cstddef + third_party/libcxx/__memory/construct_at.h + third_party/libcxx/__memory/pointer_traits.h + third_party/libcxx/__memory/swap_allocator.h + third_party/libcxx/__config + third_party/libcxx/__memory/allocator_traits.h + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_swappable.h + third_party/libcxx/__utility/swap.h + third_party/libcxx/__memory_resource/polymorphic_allocator.h + third_party/libcxx/__assert + third_party/libcxx/__config + third_party/libcxx/__memory_resource/memory_resource.h + third_party/libcxx/__config + third_party/libcxx/cstddef + third_party/libcxx/__utility/exception_guard.h + third_party/libcxx/__assert + third_party/libcxx/__config + third_party/libcxx/__type_traits/is_nothrow_move_constructible.h + third_party/libcxx/__utility/exchange.h + third_party/libcxx/__utility/move.h + third_party/libcxx/cstddef + third_party/libcxx/limits + third_party/libcxx/new + third_party/libcxx/stdexcept + third_party/libcxx/__assert + third_party/libcxx/__config + third_party/libcxx/__exception/exception.h + third_party/libcxx/__verbose_abort + third_party/libcxx/iosfwd + third_party/libcxx/cstdlib + third_party/libcxx/exception + third_party/libcxx/tuple + third_party/libcxx/__assert + third_party/libcxx/__compare/common_comparison_category.h + third_party/libcxx/__compare/synth_three_way.h + third_party/libcxx/__config + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__fwd/array.h + third_party/libcxx/__fwd/tuple.h + third_party/libcxx/__memory/allocator_arg_t.h + third_party/libcxx/__config + third_party/libcxx/__memory/uses_allocator.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/is_convertible.h + third_party/libcxx/cstddef + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_constructible.h + third_party/libcxx/__type_traits/remove_cvref.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__memory/uses_allocator.h + third_party/libcxx/__tuple/make_tuple_types.h + third_party/libcxx/__tuple/sfinae_helpers.h + third_party/libcxx/__tuple/tuple_element.h + third_party/libcxx/__tuple/tuple_indices.h + third_party/libcxx/__tuple/tuple_like_ext.h + third_party/libcxx/__tuple/tuple_size.h + third_party/libcxx/__tuple/tuple_types.h + third_party/libcxx/__type_traits/apply_cv.h + third_party/libcxx/__type_traits/common_reference.h + third_party/libcxx/__type_traits/common_type.h + third_party/libcxx/__type_traits/conditional.h + third_party/libcxx/__type_traits/conjunction.h + third_party/libcxx/__type_traits/copy_cvref.h + third_party/libcxx/__type_traits/disjunction.h + third_party/libcxx/__type_traits/is_arithmetic.h + third_party/libcxx/__type_traits/is_assignable.h + third_party/libcxx/__type_traits/is_constructible.h + third_party/libcxx/__type_traits/is_convertible.h + third_party/libcxx/__type_traits/is_copy_assignable.h + third_party/libcxx/__type_traits/is_copy_constructible.h + third_party/libcxx/__type_traits/is_default_constructible.h + third_party/libcxx/__type_traits/is_empty.h + third_party/libcxx/__type_traits/is_final.h + third_party/libcxx/__type_traits/is_implicitly_default_constructible.h + third_party/libcxx/__type_traits/is_move_assignable.h + third_party/libcxx/__type_traits/is_move_constructible.h + third_party/libcxx/__type_traits/is_nothrow_assignable.h + third_party/libcxx/__type_traits/is_nothrow_constructible.h + third_party/libcxx/__type_traits/is_nothrow_copy_assignable.h + third_party/libcxx/__type_traits/is_nothrow_copy_constructible.h + third_party/libcxx/__type_traits/is_nothrow_default_constructible.h + third_party/libcxx/__type_traits/is_nothrow_move_assignable.h + third_party/libcxx/__type_traits/is_reference.h + third_party/libcxx/__type_traits/is_same.h + third_party/libcxx/__type_traits/is_swappable.h + third_party/libcxx/__type_traits/lazy.h + third_party/libcxx/__type_traits/maybe_const.h + third_party/libcxx/__type_traits/nat.h + third_party/libcxx/__type_traits/negation.h + third_party/libcxx/__type_traits/remove_cvref.h + third_party/libcxx/__type_traits/remove_reference.h + third_party/libcxx/__type_traits/unwrap_ref.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__utility/integer_sequence.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__utility/pair.h + third_party/libcxx/__utility/piecewise_construct.h + third_party/libcxx/__utility/swap.h + third_party/libcxx/cstddef + third_party/libcxx/version + third_party/libcxx/compare + third_party/libcxx/exception + third_party/libcxx/iosfwd + third_party/libcxx/new + third_party/libcxx/type_traits + third_party/libcxx/typeinfo + third_party/libcxx/__assert + third_party/libcxx/__availability + third_party/libcxx/__config + third_party/libcxx/__exception/exception.h + third_party/libcxx/__type_traits/is_constant_evaluated.h + third_party/libcxx/__verbose_abort + third_party/libcxx/cstddef + third_party/libcxx/cstdint + third_party/libcxx/cstdlib + third_party/libcxx/exception + third_party/libcxx/type_traits + third_party/libcxx/utility + third_party/libcxx/initializer_list + third_party/libcxx/__assert + third_party/libcxx/__config + third_party/libcxx/__utility/as_const.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/add_const.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__utility/auto_cast.h + third_party/libcxx/__utility/cmp.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/disjunction.h + third_party/libcxx/__type_traits/is_integral.h + third_party/libcxx/__type_traits/is_same.h + third_party/libcxx/__type_traits/is_signed.h + third_party/libcxx/__type_traits/make_unsigned.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__utility/move.h + third_party/libcxx/limits + third_party/libcxx/__undef_macros + third_party/libcxx/__utility/declval.h + third_party/libcxx/__utility/exception_guard.h + third_party/libcxx/__utility/exchange.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__utility/forward_like.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/conditional.h + third_party/libcxx/__type_traits/is_const.h + third_party/libcxx/__type_traits/is_reference.h + third_party/libcxx/__type_traits/remove_reference.h + third_party/libcxx/__utility/in_place.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/remove_cvref.h + third_party/libcxx/cstddef + third_party/libcxx/__utility/integer_sequence.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__utility/pair.h + third_party/libcxx/__utility/piecewise_construct.h + third_party/libcxx/__utility/priority_tag.h + third_party/libcxx/__utility/rel_ops.h + third_party/libcxx/__config + third_party/libcxx/__utility/swap.h + third_party/libcxx/__utility/to_underlying.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/underlying_type.h + third_party/libcxx/__utility/unreachable.h + third_party/libcxx/version + third_party/libcxx/compare + third_party/libcxx/initializer_list + third_party/libcxx/__tuple/tuple_element.h + third_party/libcxx/__tuple/tuple_size.h + third_party/libcxx/cstdlib + third_party/libcxx/iosfwd + third_party/libcxx/type_traits + third_party/libcxx/__undef_macros + third_party/libcxx/__string/char_traits.h + third_party/libcxx/__algorithm/copy_n.h + third_party/libcxx/__algorithm/copy.h + third_party/libcxx/__algorithm/copy_move_common.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/iter_swap.h + third_party/libcxx/__config + third_party/libcxx/__utility/declval.h + third_party/libcxx/__utility/swap.h + third_party/libcxx/__algorithm/ranges_iterator_concept.h + third_party/libcxx/__config + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__type_traits/remove_cvref.h + third_party/libcxx/__config + third_party/libcxx/__iterator/advance.h + third_party/libcxx/__iterator/distance.h + third_party/libcxx/__iterator/incrementable_traits.h + third_party/libcxx/__iterator/iter_move.h + third_party/libcxx/__iterator/iter_swap.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__iterator/next.h + third_party/libcxx/__iterator/prev.h + third_party/libcxx/__iterator/readable_traits.h + third_party/libcxx/__type_traits/enable_if.h + third_party/libcxx/__type_traits/is_reference.h + third_party/libcxx/__type_traits/is_same.h + third_party/libcxx/__type_traits/remove_cvref.h + third_party/libcxx/__utility/declval.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/unwrap_iter.h + third_party/libcxx/__algorithm/unwrap_range.h + third_party/libcxx/__algorithm/unwrap_iter.h + third_party/libcxx/__concepts/constructible.h + third_party/libcxx/__config + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/next.h + third_party/libcxx/__utility/declval.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__utility/pair.h + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__memory/pointer_traits.h + third_party/libcxx/__type_traits/enable_if.h + third_party/libcxx/__type_traits/is_always_bitcastable.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_integral.h + third_party/libcxx/__type_traits/is_object.h + third_party/libcxx/__type_traits/is_same.h + third_party/libcxx/__type_traits/is_trivially_copyable.h + third_party/libcxx/__type_traits/remove_cv.h + third_party/libcxx/__type_traits/is_constant_evaluated.h + third_party/libcxx/__type_traits/is_copy_constructible.h + third_party/libcxx/__type_traits/is_trivially_assignable.h + third_party/libcxx/__type_traits/is_trivially_copyable.h + third_party/libcxx/__type_traits/is_volatile.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__utility/pair.h + third_party/libcxx/cstddef + third_party/libcxx/__algorithm/for_each_segment.h + third_party/libcxx/__config + third_party/libcxx/__iterator/segmented_iterator.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/min.h + third_party/libcxx/__config + third_party/libcxx/__iterator/segmented_iterator.h + third_party/libcxx/__type_traits/common_type.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__utility/pair.h + third_party/libcxx/__undef_macros + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__type_traits/enable_if.h + third_party/libcxx/__utility/convert_to_integral.h + third_party/libcxx/__algorithm/fill_n.h + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__utility/convert_to_integral.h + third_party/libcxx/__algorithm/find_end.h + third_party/libcxx/__algorithm/comp.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/search.h + third_party/libcxx/__algorithm/comp.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__iterator/advance.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__type_traits/enable_if.h + third_party/libcxx/__type_traits/is_callable.h + third_party/libcxx/__utility/pair.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__iterator/advance.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__iterator/next.h + third_party/libcxx/__iterator/reverse_iterator.h + third_party/libcxx/__utility/pair.h + third_party/libcxx/__algorithm/find_first_of.h + third_party/libcxx/__algorithm/comp.h + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__algorithm/min.h + third_party/libcxx/__compare/ordering.h + third_party/libcxx/__config + third_party/libcxx/__functional/hash.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__string/constexpr_c_functions.h + third_party/libcxx/__type_traits/is_constant_evaluated.h + third_party/libcxx/cstddef + third_party/libcxx/cstdint + third_party/libcxx/cstdio + third_party/libcxx/__assert + third_party/libcxx/__config + third_party/libcxx/stdio.h + third_party/libcxx/__config + libc/isystem/stdio.h + libc/calls/calls.h + libc/calls/weirdtypes.h + libc/stdio/dprintf.h + libc/stdio/stdio.h + libc/temp.h + third_party/musl/tempnam.h + libc/isystem/stdio.h + third_party/libcxx/iosfwd + third_party/libcxx/cwchar + third_party/libcxx/__undef_macros + third_party/libcxx/__string/extern_template_lists.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/is_allocator.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/void_t.h + third_party/libcxx/__utility/declval.h + third_party/libcxx/cstddef + third_party/libcxx/__type_traits/is_array.h + third_party/libcxx/__type_traits/is_convertible.h + third_party/libcxx/__type_traits/is_nothrow_default_constructible.h + third_party/libcxx/__type_traits/is_nothrow_move_assignable.h + third_party/libcxx/__type_traits/is_same.h + third_party/libcxx/__type_traits/is_standard_layout.h + third_party/libcxx/__type_traits/is_trivial.h + third_party/libcxx/__type_traits/noexcept_move_assign_container.h + third_party/libcxx/__config + third_party/libcxx/__memory/allocator_traits.h + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_nothrow_move_assignable.h + third_party/libcxx/__type_traits/remove_cvref.h + third_party/libcxx/__utility/auto_cast.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__utility/swap.h + third_party/libcxx/__utility/unreachable.h + third_party/libcxx/climits + third_party/libcxx/__assert + third_party/libcxx/__config + third_party/libcxx/limits.h + third_party/libcxx/__config + libc/isystem/limits.h + libc/limits.h + libc/sysv/consts/_posix.h + libc/sysv/consts/iov.h + libc/sysv/consts/limits.h + libc/sysv/consts/xopen.h + libc/thread/thread.h + libc/isystem/limits.h + libc/isystem/limits.h + third_party/libcxx/cstdint + third_party/libcxx/cstdio + third_party/libcxx/cstring + third_party/libcxx/limits + third_party/libcxx/stdexcept + third_party/libcxx/string_view + third_party/libcxx/compare + third_party/libcxx/__algorithm/min.h + third_party/libcxx/__assert + third_party/libcxx/__config + third_party/libcxx/__functional/hash.h + third_party/libcxx/__functional/unary_function.h + third_party/libcxx/__fwd/string_view.h + third_party/libcxx/__config + third_party/libcxx/iosfwd + third_party/libcxx/__iterator/bounded_iter.h + third_party/libcxx/__assert + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__memory/pointer_traits.h + third_party/libcxx/__type_traits/enable_if.h + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_convertible.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/readable_traits.h + third_party/libcxx/__iterator/reverse_iterator.h + third_party/libcxx/__memory/pointer_traits.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/data.h + third_party/libcxx/__ranges/enable_borrowed_range.h + third_party/libcxx/__ranges/enable_view.h + third_party/libcxx/__ranges/size.h + third_party/libcxx/__string/char_traits.h + third_party/libcxx/__type_traits/is_array.h + third_party/libcxx/__type_traits/is_convertible.h + third_party/libcxx/__type_traits/is_same.h + third_party/libcxx/__type_traits/is_standard_layout.h + third_party/libcxx/__type_traits/is_trivial.h + third_party/libcxx/__type_traits/remove_cvref.h + third_party/libcxx/__type_traits/remove_reference.h + third_party/libcxx/__type_traits/type_identity.h + third_party/libcxx/cstddef + third_party/libcxx/iosfwd + third_party/libcxx/limits + third_party/libcxx/stdexcept + third_party/libcxx/version + third_party/libcxx/__iterator/access.h + third_party/libcxx/__iterator/data.h + third_party/libcxx/__config + third_party/libcxx/cstddef + third_party/libcxx/initializer_list + third_party/libcxx/__iterator/empty.h + third_party/libcxx/__config + third_party/libcxx/cstddef + third_party/libcxx/initializer_list + third_party/libcxx/__iterator/reverse_access.h + third_party/libcxx/__config + third_party/libcxx/__iterator/reverse_iterator.h + third_party/libcxx/cstddef + third_party/libcxx/initializer_list + third_party/libcxx/__iterator/size.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/common_type.h + third_party/libcxx/__type_traits/make_signed.h + third_party/libcxx/cstddef + third_party/libcxx/compare + third_party/libcxx/__undef_macros + third_party/libcxx/algorithm + third_party/libcxx/initializer_list + third_party/libcxx/__assert + third_party/libcxx/__config + third_party/libcxx/__debug + third_party/libcxx/cstddef + third_party/libcxx/version + third_party/libcxx/__algorithm/adjacent_find.h + third_party/libcxx/__algorithm/comp.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/all_of.h + third_party/libcxx/__config + third_party/libcxx/__algorithm/any_of.h + third_party/libcxx/__config + third_party/libcxx/__algorithm/binary_search.h + third_party/libcxx/__algorithm/comp.h + third_party/libcxx/__algorithm/comp_ref_type.h + third_party/libcxx/__algorithm/lower_bound.h + third_party/libcxx/__algorithm/comp.h + third_party/libcxx/__algorithm/half_positive.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/enable_if.h + third_party/libcxx/__type_traits/is_integral.h + third_party/libcxx/__type_traits/make_unsigned.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__iterator/advance.h + third_party/libcxx/__iterator/distance.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__type_traits/is_callable.h + third_party/libcxx/__type_traits/remove_reference.h + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__algorithm/clamp.h + third_party/libcxx/__algorithm/comp.h + third_party/libcxx/__assert + third_party/libcxx/__config + third_party/libcxx/__algorithm/comp.h + third_party/libcxx/__algorithm/comp_ref_type.h + third_party/libcxx/__algorithm/copy.h + third_party/libcxx/__algorithm/copy_backward.h + third_party/libcxx/__algorithm/copy_move_common.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/min.h + third_party/libcxx/__config + third_party/libcxx/__iterator/segmented_iterator.h + third_party/libcxx/__type_traits/common_type.h + third_party/libcxx/__type_traits/is_copy_constructible.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__utility/pair.h + third_party/libcxx/__undef_macros + third_party/libcxx/__algorithm/copy_if.h + third_party/libcxx/__config + third_party/libcxx/__algorithm/copy_n.h + third_party/libcxx/__algorithm/count.h + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__algorithm/count_if.h + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__algorithm/equal.h + third_party/libcxx/__algorithm/comp.h + third_party/libcxx/__algorithm/unwrap_iter.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__iterator/distance.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__string/constexpr_c_functions.h + third_party/libcxx/__type_traits/enable_if.h + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_constant_evaluated.h + third_party/libcxx/__type_traits/is_equality_comparable.h + third_party/libcxx/__type_traits/is_volatile.h + third_party/libcxx/__type_traits/predicate_traits.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/equal_range.h + third_party/libcxx/__algorithm/comp.h + third_party/libcxx/__algorithm/comp_ref_type.h + third_party/libcxx/__algorithm/half_positive.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/lower_bound.h + third_party/libcxx/__algorithm/upper_bound.h + third_party/libcxx/__algorithm/comp.h + third_party/libcxx/__algorithm/half_positive.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__iterator/advance.h + third_party/libcxx/__iterator/distance.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__type_traits/is_copy_constructible.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__iterator/advance.h + third_party/libcxx/__iterator/distance.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__iterator/next.h + third_party/libcxx/__type_traits/is_callable.h + third_party/libcxx/__type_traits/is_copy_constructible.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__utility/pair.h + third_party/libcxx/__algorithm/fill.h + third_party/libcxx/__algorithm/fill_n.h + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__algorithm/fill_n.h + third_party/libcxx/__algorithm/find.h + third_party/libcxx/__algorithm/find_end.h + third_party/libcxx/__algorithm/find_first_of.h + third_party/libcxx/__algorithm/find_if.h + third_party/libcxx/__algorithm/find_if_not.h + third_party/libcxx/__config + third_party/libcxx/__algorithm/for_each.h + third_party/libcxx/__algorithm/for_each_segment.h + third_party/libcxx/__config + third_party/libcxx/__iterator/segmented_iterator.h + third_party/libcxx/__type_traits/enable_if.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/for_each_n.h + third_party/libcxx/__config + third_party/libcxx/__utility/convert_to_integral.h + third_party/libcxx/__algorithm/generate.h + third_party/libcxx/__config + third_party/libcxx/__algorithm/generate_n.h + third_party/libcxx/__config + third_party/libcxx/__utility/convert_to_integral.h + third_party/libcxx/__algorithm/half_positive.h + third_party/libcxx/__algorithm/in_found_result.h + third_party/libcxx/__concepts/convertible_to.h + third_party/libcxx/__config + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/in_fun_result.h + third_party/libcxx/__concepts/convertible_to.h + third_party/libcxx/__config + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/in_in_out_result.h + third_party/libcxx/__concepts/convertible_to.h + third_party/libcxx/__config + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/in_in_result.h + third_party/libcxx/__concepts/convertible_to.h + third_party/libcxx/__config + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/in_out_out_result.h + third_party/libcxx/__concepts/convertible_to.h + third_party/libcxx/__config + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/in_out_result.h + third_party/libcxx/__concepts/convertible_to.h + third_party/libcxx/__config + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/includes.h + third_party/libcxx/__algorithm/comp.h + third_party/libcxx/__algorithm/comp_ref_type.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__type_traits/is_callable.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/inplace_merge.h + third_party/libcxx/__algorithm/comp.h + third_party/libcxx/__algorithm/comp_ref_type.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/lower_bound.h + third_party/libcxx/__algorithm/min.h + third_party/libcxx/__algorithm/move.h + third_party/libcxx/__algorithm/copy_move_common.h + third_party/libcxx/__algorithm/for_each_segment.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/min.h + third_party/libcxx/__config + third_party/libcxx/__iterator/segmented_iterator.h + third_party/libcxx/__type_traits/common_type.h + third_party/libcxx/__type_traits/is_copy_constructible.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__utility/pair.h + third_party/libcxx/__undef_macros + third_party/libcxx/__algorithm/rotate.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/move.h + third_party/libcxx/__algorithm/move_backward.h + third_party/libcxx/__algorithm/copy_move_common.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/min.h + third_party/libcxx/__config + third_party/libcxx/__iterator/segmented_iterator.h + third_party/libcxx/__type_traits/common_type.h + third_party/libcxx/__type_traits/is_copy_constructible.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__utility/pair.h + third_party/libcxx/__undef_macros + third_party/libcxx/__algorithm/swap_ranges.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__config + third_party/libcxx/__utility/move.h + third_party/libcxx/__utility/pair.h + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__type_traits/is_trivially_move_assignable.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__utility/pair.h + third_party/libcxx/__algorithm/upper_bound.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__iterator/advance.h + third_party/libcxx/__iterator/distance.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__iterator/reverse_iterator.h + third_party/libcxx/__memory/destruct_n.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_trivially_destructible.h + third_party/libcxx/cstddef + third_party/libcxx/__memory/temporary_buffer.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/alignment_of.h + third_party/libcxx/__utility/pair.h + third_party/libcxx/cstddef + third_party/libcxx/new + third_party/libcxx/__memory/unique_ptr.h + third_party/libcxx/__compare/compare_three_way.h + third_party/libcxx/__compare/compare_three_way_result.h + third_party/libcxx/__compare/three_way_comparable.h + third_party/libcxx/__config + third_party/libcxx/__functional/hash.h + third_party/libcxx/__functional/operations.h + third_party/libcxx/__config + third_party/libcxx/__functional/binary_function.h + third_party/libcxx/__config + third_party/libcxx/__functional/unary_function.h + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/predicate_traits.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__memory/allocator_traits.h + third_party/libcxx/__memory/auto_ptr.h + third_party/libcxx/__config + third_party/libcxx/__memory/compressed_pair.h + third_party/libcxx/__type_traits/add_lvalue_reference.h + third_party/libcxx/__type_traits/common_type.h + third_party/libcxx/__type_traits/dependent_type.h + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_array.h + third_party/libcxx/__type_traits/is_assignable.h + third_party/libcxx/__type_traits/is_constructible.h + third_party/libcxx/__type_traits/is_convertible.h + third_party/libcxx/__type_traits/is_default_constructible.h + third_party/libcxx/__type_traits/is_function.h + third_party/libcxx/__type_traits/is_pointer.h + third_party/libcxx/__type_traits/is_reference.h + third_party/libcxx/__type_traits/is_same.h + third_party/libcxx/__type_traits/is_swappable.h + third_party/libcxx/__type_traits/is_void.h + third_party/libcxx/__type_traits/remove_extent.h + third_party/libcxx/__type_traits/type_identity.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__utility/move.h + third_party/libcxx/cstddef + third_party/libcxx/__utility/pair.h + third_party/libcxx/new + third_party/libcxx/__undef_macros + third_party/libcxx/__algorithm/is_heap.h + third_party/libcxx/__algorithm/comp.h + third_party/libcxx/__algorithm/comp_ref_type.h + third_party/libcxx/__algorithm/is_heap_until.h + third_party/libcxx/__algorithm/comp.h + third_party/libcxx/__algorithm/comp_ref_type.h + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__algorithm/is_heap_until.h + third_party/libcxx/__algorithm/is_partitioned.h + third_party/libcxx/__config + third_party/libcxx/__algorithm/is_permutation.h + third_party/libcxx/__algorithm/comp.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/distance.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__iterator/next.h + third_party/libcxx/__type_traits/is_callable.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/is_sorted.h + third_party/libcxx/__algorithm/comp.h + third_party/libcxx/__algorithm/comp_ref_type.h + third_party/libcxx/__algorithm/is_sorted_until.h + third_party/libcxx/__algorithm/comp.h + third_party/libcxx/__algorithm/comp_ref_type.h + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__algorithm/is_sorted_until.h + third_party/libcxx/__algorithm/iter_swap.h + third_party/libcxx/__algorithm/lexicographical_compare.h + third_party/libcxx/__algorithm/comp.h + third_party/libcxx/__algorithm/comp_ref_type.h + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__algorithm/lexicographical_compare_three_way.h + third_party/libcxx/__algorithm/min.h + third_party/libcxx/__algorithm/three_way_comp_ref_type.h + third_party/libcxx/__compare/ordering.h + third_party/libcxx/__config + third_party/libcxx/__debug + third_party/libcxx/__utility/declval.h + third_party/libcxx/__compare/compare_three_way.h + third_party/libcxx/__compare/ordering.h + third_party/libcxx/__concepts/arithmetic.h + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__type_traits/common_type.h + third_party/libcxx/__type_traits/is_copy_constructible.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__undef_macros + third_party/libcxx/__algorithm/lower_bound.h + third_party/libcxx/__algorithm/make_heap.h + third_party/libcxx/__algorithm/comp.h + third_party/libcxx/__algorithm/comp_ref_type.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/sift_down.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__assert + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/max.h + third_party/libcxx/__algorithm/max_element.h + third_party/libcxx/__algorithm/merge.h + third_party/libcxx/__algorithm/comp.h + third_party/libcxx/__algorithm/comp_ref_type.h + third_party/libcxx/__algorithm/copy.h + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__algorithm/min.h + third_party/libcxx/__algorithm/min_element.h + third_party/libcxx/__algorithm/min_max_result.h + third_party/libcxx/__concepts/convertible_to.h + third_party/libcxx/__config + third_party/libcxx/__utility/move.h + third_party/libcxx/__undef_macros + third_party/libcxx/__algorithm/minmax.h + third_party/libcxx/__algorithm/comp.h + third_party/libcxx/__algorithm/minmax_element.h + third_party/libcxx/__algorithm/comp.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__type_traits/is_callable.h + third_party/libcxx/__utility/pair.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__type_traits/is_callable.h + third_party/libcxx/__utility/pair.h + third_party/libcxx/initializer_list + third_party/libcxx/__algorithm/minmax_element.h + third_party/libcxx/__algorithm/mismatch.h + third_party/libcxx/__algorithm/comp.h + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__utility/pair.h + third_party/libcxx/__algorithm/move.h + third_party/libcxx/__algorithm/move_backward.h + third_party/libcxx/__algorithm/next_permutation.h + third_party/libcxx/__algorithm/comp.h + third_party/libcxx/__algorithm/comp_ref_type.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/reverse.h + third_party/libcxx/__algorithm/iter_swap.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__utility/pair.h + third_party/libcxx/__algorithm/none_of.h + third_party/libcxx/__config + third_party/libcxx/__algorithm/nth_element.h + third_party/libcxx/__algorithm/comp.h + third_party/libcxx/__algorithm/comp_ref_type.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/sort.h + third_party/libcxx/__algorithm/comp.h + third_party/libcxx/__algorithm/comp_ref_type.h + third_party/libcxx/__algorithm/iter_swap.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/min_element.h + third_party/libcxx/__algorithm/partial_sort.h + third_party/libcxx/__algorithm/comp.h + third_party/libcxx/__algorithm/comp_ref_type.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/make_heap.h + third_party/libcxx/__algorithm/sift_down.h + third_party/libcxx/__algorithm/sort_heap.h + third_party/libcxx/__algorithm/comp.h + third_party/libcxx/__algorithm/comp_ref_type.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/pop_heap.h + third_party/libcxx/__algorithm/comp.h + third_party/libcxx/__algorithm/comp_ref_type.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/push_heap.h + third_party/libcxx/__algorithm/comp.h + third_party/libcxx/__algorithm/comp_ref_type.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__type_traits/is_copy_assignable.h + third_party/libcxx/__type_traits/is_copy_constructible.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/sift_down.h + third_party/libcxx/__assert + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__type_traits/is_copy_assignable.h + third_party/libcxx/__type_traits/is_copy_constructible.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__type_traits/is_copy_assignable.h + third_party/libcxx/__type_traits/is_copy_constructible.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__config + third_party/libcxx/__debug + third_party/libcxx/__debug_utils/randomize_range.h + third_party/libcxx/__config + third_party/libcxx/__algorithm/shuffle.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__config + third_party/libcxx/__debug + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__random/uniform_int_distribution.h + third_party/libcxx/__bit/countl.h + third_party/libcxx/__bit/rotate.h + third_party/libcxx/__concepts/arithmetic.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/is_unsigned_integer.h + third_party/libcxx/limits + third_party/libcxx/__concepts/arithmetic.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/is_unsigned_integer.h + third_party/libcxx/limits + third_party/libcxx/__undef_macros + third_party/libcxx/__config + third_party/libcxx/__random/is_valid.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/enable_if.h + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_same.h + third_party/libcxx/__type_traits/is_unsigned.h + third_party/libcxx/__utility/declval.h + third_party/libcxx/cstdint + third_party/libcxx/__random/log2.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/conditional.h + third_party/libcxx/cstddef + third_party/libcxx/__type_traits/conditional.h + third_party/libcxx/__type_traits/make_unsigned.h + third_party/libcxx/cstddef + third_party/libcxx/cstdint + third_party/libcxx/iosfwd + third_party/libcxx/limits + third_party/libcxx/__undef_macros + third_party/libcxx/__utility/forward.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__utility/swap.h + third_party/libcxx/cstddef + third_party/libcxx/cstdint + third_party/libcxx/__undef_macros + third_party/libcxx/__type_traits/is_constant_evaluated.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__type_traits/is_copy_assignable.h + third_party/libcxx/__type_traits/is_copy_constructible.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/unwrap_iter.h + third_party/libcxx/__assert + third_party/libcxx/__bit/blsr.h + third_party/libcxx/__config + third_party/libcxx/__bit/countl.h + third_party/libcxx/__bit/countr.h + third_party/libcxx/__bit/rotate.h + third_party/libcxx/__concepts/arithmetic.h + third_party/libcxx/__config + third_party/libcxx/limits + third_party/libcxx/__undef_macros + third_party/libcxx/__config + third_party/libcxx/__debug + third_party/libcxx/__debug_utils/randomize_range.h + third_party/libcxx/__functional/operations.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__concepts/equality_comparable.h + third_party/libcxx/__concepts/totally_ordered.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/predicate_traits.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__type_traits/conditional.h + third_party/libcxx/__type_traits/disjunction.h + third_party/libcxx/__type_traits/is_arithmetic.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__utility/pair.h + third_party/libcxx/climits + third_party/libcxx/cstdint + third_party/libcxx/__config + third_party/libcxx/__debug + third_party/libcxx/__debug_utils/randomize_range.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/partial_sort.h + third_party/libcxx/__algorithm/partial_sort_copy.h + third_party/libcxx/__algorithm/comp.h + third_party/libcxx/__algorithm/comp_ref_type.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/make_heap.h + third_party/libcxx/__algorithm/make_projected.h + third_party/libcxx/__concepts/same_as.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__type_traits/decay.h + third_party/libcxx/__type_traits/enable_if.h + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_member_pointer.h + third_party/libcxx/__type_traits/is_same.h + third_party/libcxx/__utility/declval.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__algorithm/sift_down.h + third_party/libcxx/__algorithm/sort_heap.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__type_traits/is_callable.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__utility/pair.h + third_party/libcxx/__algorithm/partition.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__utility/pair.h + third_party/libcxx/__algorithm/partition_copy.h + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__utility/pair.h + third_party/libcxx/__algorithm/partition_point.h + third_party/libcxx/__algorithm/half_positive.h + third_party/libcxx/__config + third_party/libcxx/__iterator/advance.h + third_party/libcxx/__iterator/distance.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__algorithm/pop_heap.h + third_party/libcxx/__algorithm/prev_permutation.h + third_party/libcxx/__algorithm/comp.h + third_party/libcxx/__algorithm/comp_ref_type.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/reverse.h + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__utility/pair.h + third_party/libcxx/__algorithm/pstl_any_all_none_of.h + third_party/libcxx/__algorithm/pstl_find.h + third_party/libcxx/__algorithm/comp.h + third_party/libcxx/__algorithm/find.h + third_party/libcxx/__algorithm/pstl_backend.h + third_party/libcxx/__algorithm/pstl_backends/cpu_backend.h + third_party/libcxx/__config + third_party/libcxx/__algorithm/pstl_backends/cpu_backends/any_of.h + third_party/libcxx/__algorithm/any_of.h + third_party/libcxx/__algorithm/find_if.h + third_party/libcxx/__algorithm/pstl_backends/cpu_backends/backend.h + third_party/libcxx/__config + third_party/libcxx/__algorithm/pstl_backends/cpu_backends/serial.h + third_party/libcxx/__config + third_party/libcxx/__algorithm/pstl_backends/cpu_backends/thread.h + third_party/libcxx/__assert + third_party/libcxx/__config + third_party/libcxx/__atomic/atomic.h + third_party/libcxx/__atomic/atomic_base.h + third_party/libcxx/__atomic/atomic_sync.h + third_party/libcxx/__atomic/contention_t.h + third_party/libcxx/__atomic/cxx_atomic_impl.h + third_party/libcxx/__atomic/is_always_lock_free.h + third_party/libcxx/__config + third_party/libcxx/__atomic/memory_order.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/is_same.h + third_party/libcxx/__type_traits/underlying_type.h + third_party/libcxx/__config + third_party/libcxx/__memory/addressof.h + third_party/libcxx/__type_traits/conditional.h + third_party/libcxx/__type_traits/is_assignable.h + third_party/libcxx/__type_traits/is_trivially_copyable.h + third_party/libcxx/__type_traits/remove_const.h + third_party/libcxx/cstddef + third_party/libcxx/cstring + third_party/libcxx/__config + third_party/libcxx/cstdint + third_party/libcxx/__atomic/cxx_atomic_impl.h + third_party/libcxx/__atomic/memory_order.h + third_party/libcxx/__availability + third_party/libcxx/__chrono/duration.h + third_party/libcxx/__compare/ordering.h + third_party/libcxx/__compare/three_way_comparable.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/common_type.h + third_party/libcxx/__type_traits/enable_if.h + third_party/libcxx/__type_traits/is_convertible.h + third_party/libcxx/__type_traits/is_floating_point.h + third_party/libcxx/limits + third_party/libcxx/ratio + third_party/libcxx/__assert + third_party/libcxx/__config + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/climits + third_party/libcxx/cstdint + third_party/libcxx/version + third_party/libcxx/__undef_macros + third_party/libcxx/type_traits + third_party/libcxx/__undef_macros + third_party/libcxx/type_traits + third_party/libcxx/__config + third_party/libcxx/__memory/addressof.h + third_party/libcxx/__thread/poll_with_backoff.h + third_party/libcxx/__availability + third_party/libcxx/__chrono/duration.h + third_party/libcxx/__chrono/high_resolution_clock.h + third_party/libcxx/__chrono/steady_clock.h + third_party/libcxx/__chrono/duration.h + third_party/libcxx/__chrono/time_point.h + third_party/libcxx/__chrono/duration.h + third_party/libcxx/__compare/ordering.h + third_party/libcxx/__compare/three_way_comparable.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/common_type.h + third_party/libcxx/__type_traits/enable_if.h + third_party/libcxx/__type_traits/is_convertible.h + third_party/libcxx/limits + third_party/libcxx/__undef_macros + third_party/libcxx/__config + third_party/libcxx/__chrono/system_clock.h + third_party/libcxx/__chrono/duration.h + third_party/libcxx/__chrono/time_point.h + third_party/libcxx/__config + third_party/libcxx/ctime + third_party/libcxx/__assert + third_party/libcxx/__config + libc/isystem/time.h libc/calls/calls.h libc/calls/struct/timespec.h libc/calls/struct/timeval.h @@ -2846,27 +2894,28 @@ string libc/sysv/consts/sched.h libc/sysv/consts/timer.h libc/time.h - __config - __config - __threading_support - __availability - __chrono/convert_to_timespec.h - __chrono/duration.h - __config - limits - __undef_macros - __chrono/duration.h - __compare/ordering.h - __config - __fwd/hash.h - __thread/poll_with_backoff.h - errno.h - __config - errno.h - iosfwd - limits - __support/ibm/nanosleep.h - unistd.h + third_party/libcxx/__config + third_party/libcxx/__config + third_party/libcxx/__threading_support + third_party/libcxx/__availability + third_party/libcxx/__chrono/convert_to_timespec.h + third_party/libcxx/__chrono/duration.h + third_party/libcxx/__config + third_party/libcxx/limits + third_party/libcxx/__undef_macros + third_party/libcxx/__chrono/duration.h + third_party/libcxx/__compare/ordering.h + third_party/libcxx/__config + third_party/libcxx/__fwd/hash.h + third_party/libcxx/__thread/poll_with_backoff.h + third_party/libcxx/errno.h + third_party/libcxx/__config + libc/isystem/errno.h + libc/errno.h + third_party/libcxx/iosfwd + third_party/libcxx/limits + third_party/libcxx/__support/ibm/nanosleep.h + libc/isystem/unistd.h libc/calls/calls.h libc/calls/weirdtypes.h libc/runtime/pathconf.h @@ -2881,8 +2930,7 @@ string third_party/getopt/long1.h third_party/musl/crypt.h third_party/musl/lockf.h - __external_threading - pthread.h + libc/isystem/pthread.h libc/calls/weirdtypes.h libc/sysv/consts/clock.h libc/thread/thread.h @@ -2894,2074 +2942,2074 @@ string libc/calls/struct/timespec.h libc/runtime/stack.h libc/thread/thread.h - sched.h + libc/isystem/sched.h libc/calls/calls.h libc/calls/struct/cpuset.h libc/calls/struct/sched_param.h libc/calls/weirdtypes.h libc/sysv/consts/sched.h - threads.h + libc/isystem/threads.h libc/thread/threads.h - __type_traits/decay.h - cstring - __atomic/check_memory_order.h - __config - __atomic/cxx_atomic_impl.h - __atomic/is_always_lock_free.h - __atomic/memory_order.h - __availability - __config - __memory/addressof.h - __type_traits/is_integral.h - __type_traits/is_nothrow_default_constructible.h - __type_traits/is_same.h - version - __atomic/check_memory_order.h - __atomic/cxx_atomic_impl.h - __atomic/memory_order.h - __config - __memory/addressof.h - __type_traits/is_function.h - __type_traits/is_same.h - __type_traits/remove_pointer.h - cstddef - __atomic/memory_order.h - __config - __functional/operations.h - __iterator/iterator_traits.h - __type_traits/is_execution_policy.h - __config - __type_traits/remove_cvref.h - __utility/pair.h - __utility/terminate_on_exception.h - __config - __exception/terminate.h - cstdint - __algorithm/pstl_backends/cpu_backends/fill.h - __algorithm/fill.h - __algorithm/pstl_backends/cpu_backends/backend.h - __config - __iterator/iterator_traits.h - __type_traits/is_execution_policy.h - __utility/terminate_on_exception.h - __algorithm/pstl_backends/cpu_backends/find_if.h - __algorithm/find_if.h - __algorithm/pstl_backends/cpu_backends/backend.h - __atomic/atomic.h - __config - __functional/operations.h - __iterator/iterator_traits.h - __type_traits/is_execution_policy.h - __utility/pair.h - __utility/terminate_on_exception.h - cstddef - __algorithm/pstl_backends/cpu_backends/for_each.h - __algorithm/for_each.h - __algorithm/pstl_backends/cpu_backends/backend.h - __config - __iterator/iterator_traits.h - __type_traits/is_execution_policy.h - __utility/terminate_on_exception.h - __algorithm/pstl_backends/cpu_backends/merge.h - __algorithm/merge.h - __algorithm/pstl_backends/cpu_backends/backend.h - __config - __iterator/iterator_traits.h - __type_traits/is_execution_policy.h - __utility/move.h - __utility/terminate_on_exception.h - __algorithm/pstl_backends/cpu_backends/transform.h - __algorithm/pstl_backends/cpu_backends/backend.h - __algorithm/transform.h - __config - __config - __iterator/iterator_traits.h - __type_traits/enable_if.h - __type_traits/is_execution_policy.h - __type_traits/remove_cvref.h - __utility/terminate_on_exception.h - __config - execution - __assert - __config - __type_traits/is_execution_policy.h - __type_traits/is_same.h - __type_traits/remove_cvref.h - version - __algorithm/pstl_frontend_dispatch.h - __config - __type_traits/is_callable.h - __utility/forward.h - __config - __iterator/iterator_traits.h - __type_traits/is_execution_policy.h - __type_traits/remove_cvref.h - __utility/terminate_on_exception.h - __algorithm/pstl_frontend_dispatch.h - __config - __iterator/iterator_traits.h - __type_traits/enable_if.h - __type_traits/is_execution_policy.h - __type_traits/remove_cvref.h - __utility/terminate_on_exception.h - __algorithm/pstl_copy.h - __algorithm/copy_n.h - __algorithm/pstl_transform.h - __algorithm/pstl_backend.h - __config - __iterator/iterator_traits.h - __type_traits/is_execution_policy.h - __utility/terminate_on_exception.h - __config - __functional/identity.h - __iterator/iterator_traits.h - __type_traits/is_constant_evaluated.h - __type_traits/is_execution_policy.h - __type_traits/is_trivially_copyable.h - __algorithm/pstl_fill.h - __algorithm/fill_n.h - __algorithm/pstl_for_each.h - __algorithm/for_each.h - __algorithm/for_each_n.h - __algorithm/pstl_backend.h - __algorithm/pstl_frontend_dispatch.h - __config - __iterator/iterator_traits.h - __type_traits/is_execution_policy.h - __type_traits/remove_cvref.h - __type_traits/void_t.h - __utility/terminate_on_exception.h - __algorithm/pstl_frontend_dispatch.h - __config - __iterator/iterator_traits.h - __type_traits/is_execution_policy.h - __type_traits/remove_cvref.h - __utility/terminate_on_exception.h - __algorithm/pstl_find.h - __algorithm/pstl_for_each.h - __algorithm/pstl_merge.h - __algorithm/pstl_backend.h - __config - __functional/operations.h - __type_traits/is_execution_policy.h - __type_traits/remove_cvref.h - __algorithm/pstl_transform.h - __algorithm/push_heap.h - __algorithm/ranges_adjacent_find.h - __config - __functional/identity.h - __functional/invoke.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/projected.h - __config - __iterator/concepts.h - __iterator/incrementable_traits.h - __type_traits/remove_cvref.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __utility/move.h - __algorithm/ranges_all_of.h - __config - __functional/identity.h - __functional/invoke.h - __iterator/concepts.h - __iterator/projected.h - __ranges/access.h - __ranges/concepts.h - __utility/move.h - __algorithm/ranges_any_of.h - __config - __functional/identity.h - __functional/invoke.h - __iterator/concepts.h - __iterator/projected.h - __ranges/access.h - __ranges/concepts.h - __utility/move.h - __algorithm/ranges_binary_search.h - __algorithm/iterator_operations.h - __algorithm/lower_bound.h - __config - __functional/identity.h - __functional/invoke.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/projected.h - __ranges/access.h - __ranges/concepts.h - __algorithm/ranges_clamp.h - __assert - __config - __functional/identity.h - __functional/invoke.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/projected.h - __utility/forward.h - __algorithm/ranges_copy.h - __algorithm/copy.h - __algorithm/in_out_result.h - __algorithm/iterator_operations.h - __config - __functional/identity.h - __iterator/concepts.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __utility/move.h - __utility/pair.h - __algorithm/ranges_copy_backward.h - __algorithm/copy_backward.h - __algorithm/in_out_result.h - __algorithm/iterator_operations.h - __config - __iterator/concepts.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __utility/move.h - __algorithm/ranges_copy_if.h - __algorithm/in_out_result.h - __config - __functional/identity.h - __functional/invoke.h - __iterator/concepts.h - __iterator/projected.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __utility/move.h - __algorithm/ranges_copy_n.h - __algorithm/copy.h - __algorithm/in_out_result.h - __algorithm/iterator_operations.h - __algorithm/ranges_copy.h - __config - __functional/identity.h - __iterator/concepts.h - __iterator/incrementable_traits.h - __iterator/unreachable_sentinel.h - __config - __iterator/concepts.h - __iterator/wrap_iter.h - __utility/move.h - __algorithm/ranges_count.h - __algorithm/ranges_count_if.h - __config - __functional/identity.h - __functional/invoke.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/incrementable_traits.h - __iterator/iterator_traits.h - __iterator/projected.h - __ranges/access.h - __ranges/concepts.h - __utility/move.h - __config - __functional/identity.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/incrementable_traits.h - __iterator/iterator_traits.h - __iterator/projected.h - __ranges/access.h - __ranges/concepts.h - __utility/move.h - __algorithm/ranges_count_if.h - __algorithm/ranges_equal.h - __algorithm/equal.h - __algorithm/unwrap_range.h - __config - __functional/identity.h - __functional/invoke.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/distance.h - __iterator/indirectly_comparable.h - __config - __functional/identity.h - __iterator/concepts.h - __iterator/projected.h - __ranges/access.h - __ranges/concepts.h - __utility/move.h - __algorithm/ranges_equal_range.h - __algorithm/equal_range.h - __algorithm/iterator_operations.h - __config - __functional/identity.h - __functional/invoke.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/iterator_traits.h - __iterator/projected.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __ranges/subrange.h - __utility/forward.h - __utility/move.h - __utility/pair.h - __algorithm/ranges_fill.h - __algorithm/ranges_fill_n.h - __config - __iterator/concepts.h - __iterator/incrementable_traits.h - __config - __iterator/concepts.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __algorithm/ranges_fill_n.h - __algorithm/ranges_find.h - __algorithm/find.h - __algorithm/ranges_find_if.h - __config - __functional/identity.h - __functional/invoke.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/projected.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __utility/move.h - __algorithm/unwrap_range.h - __config - __functional/identity.h - __functional/invoke.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/projected.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __utility/forward.h - __utility/move.h - __algorithm/ranges_find_end.h - __algorithm/find_end.h - __algorithm/iterator_operations.h - __algorithm/ranges_iterator_concept.h - __config - __functional/identity.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/indirectly_comparable.h - __iterator/iterator_traits.h - __ranges/access.h - __ranges/concepts.h - __ranges/subrange.h - __utility/pair.h - __algorithm/ranges_find_first_of.h - __config - __functional/identity.h - __functional/invoke.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/indirectly_comparable.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __utility/move.h - __algorithm/ranges_find_if.h - __algorithm/ranges_find_if_not.h - __algorithm/ranges_find_if.h - __config - __functional/identity.h - __functional/invoke.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/projected.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __utility/forward.h - __utility/move.h - __algorithm/ranges_for_each.h - __algorithm/in_fun_result.h - __config - __functional/identity.h - __functional/invoke.h - __iterator/concepts.h - __iterator/projected.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __utility/move.h - __algorithm/ranges_for_each_n.h - __algorithm/in_fun_result.h - __config - __functional/identity.h - __functional/invoke.h - __iterator/concepts.h - __iterator/incrementable_traits.h - __iterator/iterator_traits.h - __iterator/projected.h - __ranges/concepts.h - __utility/move.h - __algorithm/ranges_generate.h - __concepts/constructible.h - __concepts/invocable.h - __config - __functional/invoke.h - __iterator/concepts.h - __iterator/iterator_traits.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __utility/move.h - __algorithm/ranges_generate_n.h - __concepts/constructible.h - __concepts/invocable.h - __config - __functional/identity.h - __functional/invoke.h - __iterator/concepts.h - __iterator/incrementable_traits.h - __iterator/iterator_traits.h - __ranges/access.h - __ranges/concepts.h - __utility/move.h - __algorithm/ranges_includes.h - __algorithm/includes.h - __algorithm/make_projected.h - __config - __functional/identity.h - __functional/invoke.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/iterator_traits.h - __iterator/projected.h - __ranges/access.h - __ranges/concepts.h - __utility/forward.h - __utility/move.h - __algorithm/ranges_inplace_merge.h - __algorithm/inplace_merge.h - __algorithm/iterator_operations.h - __algorithm/make_projected.h - __config - __functional/identity.h - __functional/invoke.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/iterator_traits.h - __iterator/next.h - __iterator/projected.h - __iterator/sortable.h - __config - __functional/identity.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/permutable.h - __config - __iterator/concepts.h - __iterator/iter_swap.h - __iterator/projected.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __utility/forward.h - __utility/move.h - __algorithm/ranges_is_heap.h - __algorithm/is_heap_until.h - __algorithm/make_projected.h - __config - __functional/identity.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/iterator_traits.h - __iterator/next.h - __iterator/projected.h - __ranges/access.h - __ranges/concepts.h - __utility/move.h - __algorithm/ranges_is_heap_until.h - __algorithm/is_heap_until.h - __algorithm/make_projected.h - __config - __functional/identity.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/iterator_traits.h - __iterator/next.h - __iterator/projected.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __utility/move.h - __algorithm/ranges_is_partitioned.h - __config - __functional/identity.h - __functional/invoke.h - __iterator/concepts.h - __iterator/indirectly_comparable.h - __iterator/projected.h - __ranges/access.h - __ranges/concepts.h - __utility/move.h - __algorithm/ranges_is_permutation.h - __algorithm/is_permutation.h - __algorithm/iterator_operations.h - __config - __functional/identity.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/distance.h - __iterator/projected.h - __ranges/access.h - __ranges/concepts.h - __utility/move.h - __algorithm/ranges_is_sorted.h - __algorithm/ranges_is_sorted_until.h - __config - __functional/identity.h - __functional/invoke.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/projected.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __utility/move.h - __config - __functional/identity.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/projected.h - __ranges/access.h - __ranges/concepts.h - __utility/move.h - __algorithm/ranges_is_sorted_until.h - __algorithm/ranges_lexicographical_compare.h - __config - __functional/identity.h - __functional/invoke.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/projected.h - __ranges/access.h - __ranges/concepts.h - __utility/move.h - __algorithm/ranges_lower_bound.h - __algorithm/iterator_operations.h - __algorithm/lower_bound.h - __config - __functional/identity.h - __functional/invoke.h - __functional/ranges_operations.h - __iterator/advance.h - __iterator/concepts.h - __iterator/iterator_traits.h - __iterator/projected.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __algorithm/ranges_make_heap.h - __algorithm/iterator_operations.h - __algorithm/make_heap.h - __algorithm/make_projected.h - __concepts/same_as.h - __config - __functional/identity.h - __functional/invoke.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/iterator_traits.h - __iterator/next.h - __iterator/projected.h - __iterator/sortable.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __utility/forward.h - __utility/move.h - __algorithm/ranges_max.h - __algorithm/ranges_min_element.h - __config - __functional/identity.h - __functional/invoke.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/projected.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __utility/forward.h - __assert - __concepts/copyable.h - __config - __functional/identity.h - __functional/invoke.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/projected.h - __ranges/access.h - __ranges/concepts.h - __type_traits/is_trivially_copyable.h - __utility/move.h - initializer_list - __undef_macros - __algorithm/ranges_max_element.h - __algorithm/ranges_min_element.h - __config - __functional/identity.h - __functional/invoke.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/projected.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __algorithm/ranges_merge.h - __algorithm/in_in_out_result.h - __algorithm/ranges_copy.h - __config - __functional/identity.h - __functional/invoke.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/mergeable.h - __config - __functional/identity.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/projected.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __type_traits/remove_cvref.h - __utility/move.h - __algorithm/ranges_min.h - __algorithm/ranges_min_element.h - __assert - __concepts/copyable.h - __config - __functional/identity.h - __functional/invoke.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/projected.h - __ranges/access.h - __ranges/concepts.h - __type_traits/is_trivially_copyable.h - initializer_list - __undef_macros - __algorithm/ranges_min_element.h - __algorithm/ranges_minmax.h - __algorithm/min_max_result.h - __algorithm/minmax_element.h - __assert - __concepts/copyable.h - __concepts/same_as.h - __config - __functional/identity.h - __functional/invoke.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/next.h - __iterator/projected.h - __ranges/access.h - __ranges/concepts.h - __type_traits/is_reference.h - __type_traits/remove_cvref.h - __utility/forward.h - __utility/move.h - __utility/pair.h - initializer_list - __undef_macros - __algorithm/ranges_minmax_element.h - __algorithm/min_max_result.h - __algorithm/minmax_element.h - __config - __functional/identity.h - __functional/invoke.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/projected.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __utility/forward.h - __utility/move.h - __utility/pair.h - __algorithm/ranges_mismatch.h - __algorithm/in_in_result.h - __config - __functional/identity.h - __functional/invoke.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/indirectly_comparable.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __utility/move.h - __algorithm/ranges_move.h - __algorithm/in_out_result.h - __algorithm/iterator_operations.h - __algorithm/move.h - __config - __iterator/concepts.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __utility/move.h - __algorithm/ranges_move_backward.h - __algorithm/in_out_result.h - __algorithm/iterator_operations.h - __algorithm/move_backward.h - __config - __iterator/concepts.h - __iterator/iter_move.h - __iterator/next.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __utility/move.h - __algorithm/ranges_next_permutation.h - __algorithm/in_found_result.h - __algorithm/iterator_operations.h - __algorithm/make_projected.h - __algorithm/next_permutation.h - __config - __functional/identity.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/sortable.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __utility/move.h - __utility/pair.h - __algorithm/ranges_none_of.h - __config - __functional/identity.h - __functional/invoke.h - __iterator/concepts.h - __iterator/projected.h - __ranges/access.h - __ranges/concepts.h - __utility/move.h - __algorithm/ranges_nth_element.h - __algorithm/iterator_operations.h - __algorithm/make_projected.h - __algorithm/nth_element.h - __config - __functional/identity.h - __functional/invoke.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/iterator_traits.h - __iterator/next.h - __iterator/projected.h - __iterator/sortable.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __utility/forward.h - __utility/move.h - __algorithm/ranges_partial_sort.h - __algorithm/iterator_operations.h - __algorithm/make_projected.h - __algorithm/partial_sort.h - __concepts/same_as.h - __config - __functional/identity.h - __functional/invoke.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/iterator_traits.h - __iterator/next.h - __iterator/projected.h - __iterator/sortable.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __utility/forward.h - __utility/move.h - __utility/pair.h - __algorithm/ranges_partial_sort_copy.h - __algorithm/in_out_result.h - __algorithm/iterator_operations.h - __algorithm/make_projected.h - __algorithm/partial_sort_copy.h - __config - __functional/identity.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/iterator_traits.h - __iterator/projected.h - __iterator/sortable.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __utility/move.h - __utility/pair.h - __algorithm/ranges_partition.h - __algorithm/iterator_operations.h - __algorithm/make_projected.h - __algorithm/partition.h - __algorithm/ranges_iterator_concept.h - __config - __functional/identity.h - __functional/invoke.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/iterator_traits.h - __iterator/permutable.h - __iterator/projected.h - __ranges/access.h - __ranges/concepts.h - __ranges/subrange.h - __utility/forward.h - __utility/move.h - __utility/pair.h - __algorithm/ranges_partition_copy.h - __algorithm/in_out_out_result.h - __config - __functional/identity.h - __functional/invoke.h - __iterator/concepts.h - __iterator/iterator_traits.h - __iterator/projected.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __type_traits/remove_cvref.h - __utility/move.h - __algorithm/ranges_partition_point.h - __algorithm/half_positive.h - __config - __functional/identity.h - __functional/invoke.h - __iterator/concepts.h - __iterator/distance.h - __iterator/iterator_traits.h - __iterator/next.h - __iterator/projected.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __utility/move.h - __algorithm/ranges_pop_heap.h - __algorithm/iterator_operations.h - __algorithm/make_projected.h - __algorithm/pop_heap.h - __concepts/same_as.h - __config - __functional/identity.h - __functional/invoke.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/iterator_traits.h - __iterator/next.h - __iterator/projected.h - __iterator/sortable.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __utility/forward.h - __utility/move.h - __algorithm/ranges_prev_permutation.h - __algorithm/in_found_result.h - __algorithm/iterator_operations.h - __algorithm/make_projected.h - __algorithm/prev_permutation.h - __config - __functional/identity.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/sortable.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __utility/move.h - __utility/pair.h - __algorithm/ranges_push_heap.h - __algorithm/iterator_operations.h - __algorithm/make_projected.h - __algorithm/push_heap.h - __concepts/same_as.h - __config - __functional/identity.h - __functional/invoke.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/iterator_traits.h - __iterator/next.h - __iterator/projected.h - __iterator/sortable.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __utility/forward.h - __utility/move.h - __algorithm/ranges_remove.h - __config - __algorithm/ranges_remove_if.h - __config - __algorithm/ranges_find_if.h - __functional/identity.h - __functional/invoke.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/iter_move.h - __iterator/permutable.h - __iterator/projected.h - __ranges/access.h - __ranges/concepts.h - __ranges/subrange.h - __utility/move.h - __functional/identity.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/permutable.h - __iterator/projected.h - __ranges/access.h - __ranges/concepts.h - __ranges/subrange.h - __utility/move.h - __algorithm/ranges_remove_copy.h - __algorithm/in_out_result.h - __algorithm/ranges_remove_copy_if.h - __algorithm/in_out_result.h - __algorithm/make_projected.h - __algorithm/remove_copy_if.h - __config - __config - __functional/identity.h - __functional/invoke.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/iterator_traits.h - __iterator/projected.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __utility/forward.h - __utility/move.h - __config - __functional/identity.h - __functional/invoke.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/projected.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __utility/move.h - __algorithm/ranges_remove_copy_if.h - __algorithm/ranges_remove_if.h - __algorithm/ranges_replace.h - __algorithm/ranges_replace_if.h - __config - __functional/identity.h - __functional/invoke.h - __iterator/concepts.h - __iterator/projected.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __utility/move.h - __config - __functional/identity.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/projected.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __utility/move.h - __algorithm/ranges_replace_copy.h - __algorithm/in_out_result.h - __algorithm/ranges_replace_copy_if.h - __algorithm/in_out_result.h - __config - __functional/identity.h - __functional/invoke.h - __iterator/concepts.h - __iterator/projected.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __utility/move.h - __config - __functional/identity.h - __functional/invoke.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/projected.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __utility/move.h - __algorithm/ranges_replace_copy_if.h - __algorithm/ranges_replace_if.h - __algorithm/ranges_reverse.h - __config - __iterator/concepts.h - __iterator/iter_swap.h - __iterator/next.h - __iterator/permutable.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __algorithm/ranges_reverse_copy.h - __algorithm/in_out_result.h - __algorithm/ranges_copy.h - __config - __iterator/concepts.h - __iterator/next.h - __iterator/reverse_iterator.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __ranges/subrange.h - __utility/move.h - __algorithm/ranges_rotate.h - __algorithm/iterator_operations.h - __algorithm/ranges_iterator_concept.h - __algorithm/rotate.h - __config - __iterator/concepts.h - __iterator/iterator_traits.h - __iterator/permutable.h - __ranges/access.h - __ranges/concepts.h - __ranges/subrange.h - __utility/move.h - __algorithm/ranges_rotate_copy.h - __algorithm/in_out_result.h - __algorithm/ranges_copy.h - __config - __iterator/concepts.h - __iterator/reverse_iterator.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __utility/move.h - __algorithm/ranges_sample.h - __algorithm/iterator_operations.h - __algorithm/sample.h - __algorithm/iterator_operations.h - __algorithm/min.h - __assert - __config - __iterator/distance.h - __iterator/iterator_traits.h - __random/uniform_int_distribution.h - __type_traits/common_type.h - __utility/move.h - __undef_macros - __algorithm/uniform_random_bit_generator_adaptor.h - __config - __functional/invoke.h - __type_traits/remove_cvref.h - __undef_macros - __config - __iterator/concepts.h - __iterator/incrementable_traits.h - __iterator/iterator_traits.h - __random/uniform_random_bit_generator.h - __concepts/arithmetic.h - __concepts/invocable.h - __concepts/same_as.h - __config - __functional/invoke.h - __type_traits/integral_constant.h - __undef_macros - __ranges/access.h - __ranges/concepts.h - __type_traits/remove_reference.h - __utility/forward.h - __utility/move.h - __algorithm/ranges_search.h - __algorithm/iterator_operations.h - __algorithm/search.h - __config - __functional/identity.h - __functional/ranges_operations.h - __iterator/advance.h - __iterator/concepts.h - __iterator/distance.h - __iterator/indirectly_comparable.h - __ranges/access.h - __ranges/concepts.h - __ranges/size.h - __ranges/subrange.h - __utility/pair.h - __algorithm/ranges_search_n.h - __algorithm/iterator_operations.h - __algorithm/search_n.h - __algorithm/comp.h - __algorithm/iterator_operations.h - __config - __functional/identity.h - __functional/invoke.h - __iterator/advance.h - __iterator/concepts.h - __iterator/distance.h - __iterator/iterator_traits.h - __ranges/concepts.h - __type_traits/is_callable.h - __utility/convert_to_integral.h - __utility/pair.h - __config - __functional/identity.h - __functional/ranges_operations.h - __iterator/advance.h - __iterator/concepts.h - __iterator/distance.h - __iterator/incrementable_traits.h - __iterator/indirectly_comparable.h - __iterator/iterator_traits.h - __ranges/access.h - __ranges/concepts.h - __ranges/size.h - __ranges/subrange.h - __utility/move.h - __utility/pair.h - __algorithm/ranges_set_difference.h - __algorithm/in_out_result.h - __algorithm/iterator_operations.h - __algorithm/make_projected.h - __algorithm/set_difference.h - __algorithm/comp.h - __algorithm/comp_ref_type.h - __algorithm/copy.h - __algorithm/iterator_operations.h - __config - __functional/identity.h - __functional/invoke.h - __iterator/iterator_traits.h - __type_traits/remove_cvref.h - __utility/move.h - __utility/pair.h - __config - __functional/identity.h - __functional/invoke.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/mergeable.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __type_traits/decay.h - __utility/move.h - __utility/pair.h - __algorithm/ranges_set_intersection.h - __algorithm/in_in_out_result.h - __algorithm/iterator_operations.h - __algorithm/make_projected.h - __algorithm/set_intersection.h - __algorithm/comp.h - __algorithm/comp_ref_type.h - __algorithm/iterator_operations.h - __config - __iterator/iterator_traits.h - __iterator/next.h - __utility/move.h - __config - __functional/identity.h - __functional/invoke.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/mergeable.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __utility/move.h - __algorithm/ranges_set_symmetric_difference.h - __algorithm/in_in_out_result.h - __algorithm/iterator_operations.h - __algorithm/make_projected.h - __algorithm/set_symmetric_difference.h - __algorithm/comp.h - __algorithm/comp_ref_type.h - __algorithm/copy.h - __algorithm/iterator_operations.h - __config - __iterator/iterator_traits.h - __utility/move.h - __utility/pair.h - __config - __functional/identity.h - __functional/invoke.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/mergeable.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __utility/move.h - __algorithm/ranges_set_union.h - __algorithm/in_in_out_result.h - __algorithm/iterator_operations.h - __algorithm/make_projected.h - __algorithm/set_union.h - __algorithm/comp.h - __algorithm/comp_ref_type.h - __algorithm/copy.h - __algorithm/iterator_operations.h - __config - __iterator/iterator_traits.h - __utility/move.h - __utility/pair.h - __config - __functional/identity.h - __functional/invoke.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/iterator_traits.h - __iterator/mergeable.h - __iterator/projected.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __utility/forward.h - __utility/move.h - __algorithm/ranges_shuffle.h - __algorithm/iterator_operations.h - __algorithm/shuffle.h - __algorithm/uniform_random_bit_generator_adaptor.h - __config - __functional/invoke.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/iterator_traits.h - __iterator/next.h - __iterator/permutable.h - __random/uniform_random_bit_generator.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __type_traits/remove_reference.h - __utility/forward.h - __utility/move.h - __algorithm/ranges_sort.h - __algorithm/iterator_operations.h - __algorithm/make_projected.h - __algorithm/sort.h - __config - __functional/identity.h - __functional/invoke.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/iterator_traits.h - __iterator/next.h - __iterator/projected.h - __iterator/sortable.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __utility/forward.h - __utility/move.h - __algorithm/ranges_sort_heap.h - __algorithm/iterator_operations.h - __algorithm/make_projected.h - __algorithm/sort_heap.h - __concepts/same_as.h - __config - __functional/identity.h - __functional/invoke.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/iterator_traits.h - __iterator/next.h - __iterator/projected.h - __iterator/sortable.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __utility/forward.h - __utility/move.h - __algorithm/ranges_stable_partition.h - __algorithm/iterator_operations.h - __algorithm/make_projected.h - __algorithm/ranges_iterator_concept.h - __algorithm/stable_partition.h - __algorithm/iterator_operations.h - __algorithm/rotate.h - __config - __iterator/advance.h - __iterator/distance.h - __iterator/iterator_traits.h - __memory/destruct_n.h - __memory/temporary_buffer.h - __memory/unique_ptr.h - __utility/move.h - __utility/pair.h - new - __config - __functional/identity.h - __functional/invoke.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/iterator_traits.h - __iterator/next.h - __iterator/permutable.h - __iterator/projected.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __ranges/subrange.h - __type_traits/remove_cvref.h - __utility/forward.h - __utility/move.h - __algorithm/ranges_stable_sort.h - __algorithm/iterator_operations.h - __algorithm/make_projected.h - __algorithm/stable_sort.h - __algorithm/comp.h - __algorithm/comp_ref_type.h - __algorithm/inplace_merge.h - __algorithm/iterator_operations.h - __algorithm/sort.h - __config - __iterator/iterator_traits.h - __memory/destruct_n.h - __memory/temporary_buffer.h - __memory/unique_ptr.h - __type_traits/is_trivially_copy_assignable.h - __utility/move.h - __utility/pair.h - new - __config - __functional/identity.h - __functional/invoke.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/iterator_traits.h - __iterator/next.h - __iterator/projected.h - __iterator/sortable.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __utility/forward.h - __utility/move.h - __algorithm/ranges_starts_with.h - __algorithm/in_in_result.h - __algorithm/ranges_mismatch.h - __config - __functional/identity.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/indirectly_comparable.h - __ranges/access.h - __ranges/concepts.h - __utility/move.h - __algorithm/ranges_swap_ranges.h - __algorithm/in_in_result.h - __algorithm/iterator_operations.h - __algorithm/swap_ranges.h - __config - __iterator/concepts.h - __iterator/iter_swap.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __utility/move.h - __algorithm/ranges_transform.h - __algorithm/in_in_out_result.h - __algorithm/in_out_result.h - __concepts/constructible.h - __config - __functional/identity.h - __functional/invoke.h - __iterator/concepts.h - __iterator/projected.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __utility/move.h - __algorithm/ranges_unique.h - __algorithm/iterator_operations.h - __algorithm/make_projected.h - __algorithm/unique.h - __algorithm/adjacent_find.h - __algorithm/comp.h - __algorithm/iterator_operations.h - __config - __iterator/iterator_traits.h - __utility/move.h - __utility/pair.h - __config - __functional/identity.h - __functional/invoke.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/iterator_traits.h - __iterator/permutable.h - __iterator/projected.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __ranges/subrange.h - __utility/forward.h - __utility/move.h - __utility/pair.h - __algorithm/ranges_unique_copy.h - __algorithm/in_out_result.h - __algorithm/iterator_operations.h - __algorithm/make_projected.h - __algorithm/unique_copy.h - __algorithm/comp.h - __algorithm/iterator_operations.h - __config - __iterator/iterator_traits.h - __type_traits/conditional.h - __type_traits/is_base_of.h - __type_traits/is_same.h - __utility/move.h - __utility/pair.h - __concepts/same_as.h - __config - __functional/identity.h - __functional/invoke.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/iterator_traits.h - __iterator/projected.h - __iterator/readable_traits.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __utility/forward.h - __utility/move.h - __utility/pair.h - __algorithm/ranges_upper_bound.h - __algorithm/iterator_operations.h - __algorithm/lower_bound.h - __config - __functional/identity.h - __functional/invoke.h - __functional/ranges_operations.h - __iterator/concepts.h - __iterator/projected.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __algorithm/remove.h - __algorithm/remove_copy.h - __config - __algorithm/remove_copy_if.h - __algorithm/remove_if.h - __algorithm/replace.h - __config - __algorithm/replace_copy.h - __config - __algorithm/replace_copy_if.h - __config - __algorithm/replace_if.h - __config - __algorithm/reverse.h - __algorithm/reverse_copy.h - __config - __algorithm/rotate.h - __algorithm/rotate_copy.h - __algorithm/copy.h - __config - __algorithm/sample.h - __algorithm/search.h - __algorithm/search_n.h - __algorithm/set_difference.h - __algorithm/set_intersection.h - __algorithm/set_symmetric_difference.h - __algorithm/set_union.h - __algorithm/shift_left.h - __algorithm/move.h - __config - __iterator/iterator_traits.h - __algorithm/shift_right.h - __algorithm/move.h - __algorithm/move_backward.h - __algorithm/swap_ranges.h - __config - __iterator/iterator_traits.h - __utility/swap.h - __algorithm/shuffle.h - __algorithm/sift_down.h - __algorithm/sort.h - __algorithm/sort_heap.h - __algorithm/stable_partition.h - __algorithm/stable_sort.h - __algorithm/swap_ranges.h - __algorithm/transform.h - __algorithm/unique.h - __algorithm/unique_copy.h - __algorithm/unwrap_iter.h - __algorithm/upper_bound.h - initializer_list - atomic - __assert - __atomic/aliases.h - __atomic/atomic.h - __atomic/atomic_lock_free.h - __config - __atomic/contention_t.h - __atomic/is_always_lock_free.h - __config - __type_traits/conditional.h - cstddef - cstdint - cstdlib - __atomic/atomic.h - __atomic/atomic_base.h - __atomic/atomic_flag.h - __atomic/atomic_sync.h - __atomic/contention_t.h - __atomic/cxx_atomic_impl.h - __atomic/memory_order.h - __chrono/duration.h - __config - __threading_support - cstdint - __atomic/atomic_init.h - __config - __atomic/atomic_lock_free.h - __atomic/atomic_sync.h - __atomic/check_memory_order.h - __atomic/contention_t.h - __atomic/cxx_atomic_impl.h - __atomic/fence.h - __atomic/cxx_atomic_impl.h - __atomic/memory_order.h - __config - __atomic/is_always_lock_free.h - __atomic/kill_dependency.h - __config - __atomic/memory_order.h - __config - version - cmath - compare - cstring - type_traits - bit - __assert - __bit/bit_cast.h - __bit/bit_ceil.h - __assert - __bit/countl.h - __concepts/arithmetic.h - __config - limits - __bit/bit_floor.h - __bit/bit_log2.h - __bit/countl.h - __concepts/arithmetic.h - __config - limits - __concepts/arithmetic.h - __config - limits - __bit/bit_log2.h - __bit/bit_width.h - __bit/bit_log2.h - __concepts/arithmetic.h - __config - __bit/blsr.h - __bit/byteswap.h - __concepts/arithmetic.h - __config - cstdint - __bit/countl.h - __bit/countr.h - __bit/endian.h - __config - __bit/has_single_bit.h - __concepts/arithmetic.h - __config - __undef_macros - __bit/popcount.h - __bit/rotate.h - __concepts/arithmetic.h - __config - limits - __undef_macros - __bit/rotate.h - __config - version - cstdlib - iosfwd - limits - type_traits - concepts - __assert - __concepts/arithmetic.h - __concepts/assignable.h - __concepts/boolean_testable.h - __concepts/class_or_enum.h - __concepts/common_reference_with.h - __concepts/common_with.h - __concepts/common_reference_with.h - __concepts/same_as.h - __config - __type_traits/add_lvalue_reference.h - __type_traits/common_reference.h - __type_traits/common_type.h - __utility/declval.h - __concepts/constructible.h - __concepts/convertible_to.h - __concepts/copyable.h - __concepts/derived_from.h - __concepts/destructible.h - __concepts/different_from.h - __concepts/equality_comparable.h - __concepts/invocable.h - __concepts/movable.h - __concepts/predicate.h - __concepts/regular.h - __concepts/relation.h - __concepts/same_as.h - __concepts/semiregular.h - __concepts/swappable.h - __concepts/totally_ordered.h - __config - version - type_traits - cstdlib - cstring - iterator - concepts - __assert - __config - __debug - __iterator/access.h - __iterator/advance.h - __iterator/back_insert_iterator.h - __config - __iterator/iterator.h - __iterator/iterator_traits.h - __memory/addressof.h - __utility/move.h - cstddef - __iterator/bounded_iter.h - __iterator/common_iterator.h - __assert - __concepts/assignable.h - __concepts/constructible.h - __concepts/convertible_to.h - __concepts/copyable.h - __concepts/derived_from.h - __concepts/equality_comparable.h - __concepts/same_as.h - __config - __iterator/concepts.h - __iterator/incrementable_traits.h - __iterator/iter_move.h - __iterator/iter_swap.h - __iterator/iterator_traits.h - __iterator/readable_traits.h - __memory/addressof.h - __type_traits/is_pointer.h - __utility/declval.h - variant - __assert - __availability - __compare/common_comparison_category.h - __compare/compare_three_way_result.h - __compare/three_way_comparable.h - __config - __exception/exception.h - __functional/hash.h - __functional/invoke.h - __functional/operations.h - __functional/unary_function.h - __memory/addressof.h - __type_traits/add_const.h - __type_traits/add_cv.h - __type_traits/add_pointer.h - __type_traits/add_volatile.h - __type_traits/dependent_type.h - __type_traits/is_array.h - __type_traits/is_destructible.h - __type_traits/is_nothrow_move_constructible.h - __type_traits/is_trivially_copy_assignable.h - __type_traits/is_trivially_copy_constructible.h - __type_traits/is_trivially_destructible.h - __type_traits/is_trivially_move_assignable.h - __type_traits/is_trivially_move_constructible.h - __type_traits/is_void.h - __type_traits/remove_const.h - __type_traits/type_identity.h - __type_traits/void_t.h - __utility/declval.h - __utility/forward.h - __utility/in_place.h - __utility/move.h - __utility/swap.h - __variant/monostate.h - __compare/ordering.h - __config - __functional/hash.h - cstddef - __verbose_abort - initializer_list - limits - new - tuple - version - compare - __undef_macros - exception - type_traits - typeinfo - utility - __iterator/concepts.h - __iterator/counted_iterator.h - __assert - __concepts/assignable.h - __concepts/common_with.h - __concepts/constructible.h - __concepts/convertible_to.h - __concepts/same_as.h - __config - __iterator/concepts.h - __iterator/default_sentinel.h - __config - __iterator/incrementable_traits.h - __iterator/iter_move.h - __iterator/iter_swap.h - __iterator/iterator_traits.h - __iterator/readable_traits.h - __memory/pointer_traits.h - __type_traits/add_pointer.h - __type_traits/conditional.h - __utility/move.h - compare - __iterator/data.h - __iterator/default_sentinel.h - __iterator/distance.h - __iterator/empty.h - __iterator/erase_if_container.h - __config - __iterator/front_insert_iterator.h - __config - __iterator/iterator.h - __iterator/iterator_traits.h - __memory/addressof.h - __utility/move.h - cstddef - __iterator/incrementable_traits.h - __iterator/indirectly_comparable.h - __iterator/insert_iterator.h - __config - __iterator/iterator.h - __iterator/iterator_traits.h - __memory/addressof.h - __ranges/access.h - __utility/move.h - cstddef - __iterator/istream_iterator.h - __config - __iterator/default_sentinel.h - __iterator/iterator.h - __iterator/iterator_traits.h - __memory/addressof.h - cstddef - iosfwd - __iterator/istreambuf_iterator.h - __config - __iterator/default_sentinel.h - __iterator/iterator.h - __iterator/iterator_traits.h - iosfwd - __iterator/iter_move.h - __iterator/iter_swap.h - __iterator/iterator.h - __iterator/iterator_traits.h - __iterator/mergeable.h - __iterator/move_iterator.h - __compare/compare_three_way_result.h - __compare/three_way_comparable.h - __concepts/assignable.h - __concepts/convertible_to.h - __concepts/derived_from.h - __concepts/same_as.h - __config - __iterator/concepts.h - __iterator/incrementable_traits.h - __iterator/iter_move.h - __iterator/iter_swap.h - __iterator/iterator_traits.h - __iterator/move_sentinel.h - __concepts/assignable.h - __concepts/convertible_to.h - __concepts/semiregular.h - __config - __utility/move.h - __iterator/readable_traits.h - __type_traits/conditional.h - __type_traits/enable_if.h - __type_traits/is_assignable.h - __type_traits/is_constructible.h - __type_traits/is_convertible.h - __type_traits/is_reference.h - __type_traits/is_same.h - __type_traits/remove_reference.h - __utility/declval.h - __utility/move.h - __iterator/move_sentinel.h - __iterator/next.h - __iterator/ostream_iterator.h - __config - __iterator/iterator.h - __iterator/iterator_traits.h - __memory/addressof.h - cstddef - iosfwd - __iterator/ostreambuf_iterator.h - __config - __iterator/iterator.h - __iterator/iterator_traits.h - cstddef - iosfwd - __iterator/permutable.h - __iterator/prev.h - __iterator/projected.h - __iterator/readable_traits.h - __iterator/reverse_access.h - __iterator/reverse_iterator.h - __iterator/size.h - __iterator/sortable.h - __iterator/unreachable_sentinel.h - __iterator/wrap_iter.h - __memory/addressof.h - __memory/pointer_traits.h - cstddef - initializer_list - version - compare - concepts - cstdlib - exception - new - type_traits - typeinfo - utility - memory - __assert - __config - __memory/addressof.h - __memory/align.h - __config - cstddef - __memory/allocate_at_least.h - __memory/allocation_guard.h - __config - __memory/allocator_traits.h - __utility/move.h - cstddef - __memory/allocator.h - __memory/allocator_arg_t.h - __memory/allocator_traits.h - __memory/assume_aligned.h - __assert - __config - __type_traits/is_constant_evaluated.h - cstddef - cstdint - __memory/auto_ptr.h - __memory/compressed_pair.h - __memory/concepts.h - __concepts/same_as.h - __config - __iterator/concepts.h - __iterator/iterator_traits.h - __iterator/readable_traits.h - __ranges/access.h - __ranges/concepts.h - __type_traits/is_reference.h - __type_traits/remove_cvref.h - __memory/construct_at.h - __memory/pointer_traits.h - __memory/ranges_construct_at.h - __concepts/destructible.h - __config - __iterator/incrementable_traits.h - __iterator/readable_traits.h - __memory/concepts.h - __memory/construct_at.h - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __utility/declval.h - __utility/forward.h - __utility/move.h - new - __memory/ranges_uninitialized_algorithms.h - __algorithm/in_out_result.h - __concepts/constructible.h - __config - __iterator/concepts.h - __iterator/incrementable_traits.h - __iterator/iter_move.h - __iterator/iterator_traits.h - __iterator/readable_traits.h - __memory/concepts.h - __memory/uninitialized_algorithms.h - __algorithm/copy.h - __algorithm/move.h - __algorithm/unwrap_iter.h - __algorithm/unwrap_range.h - __config - __iterator/iterator_traits.h - __iterator/reverse_iterator.h - __memory/addressof.h - __memory/allocator_traits.h - __memory/construct_at.h - __memory/pointer_traits.h - __memory/voidify.h - __type_traits/extent.h - __type_traits/is_array.h - __type_traits/is_constant_evaluated.h - __type_traits/is_trivially_copy_assignable.h - __type_traits/is_trivially_copy_constructible.h - __type_traits/is_trivially_move_assignable.h - __type_traits/is_trivially_move_constructible.h - __type_traits/is_unbounded_array.h - __type_traits/negation.h - __type_traits/remove_const.h - __type_traits/remove_extent.h - __utility/exception_guard.h - __utility/move.h - __utility/pair.h - new - __ranges/access.h - __ranges/concepts.h - __ranges/dangling.h - __type_traits/remove_reference.h - __utility/move.h - new - __memory/raw_storage_iterator.h - __config - __iterator/iterator.h - __iterator/iterator_traits.h - __memory/addressof.h - __utility/move.h - cstddef - new - __memory/shared_ptr.h - __availability - __compare/compare_three_way.h - __compare/ordering.h - __config - __functional/binary_function.h - __functional/operations.h - __functional/reference_wrapper.h - __config - __functional/invoke.h - __functional/weak_result_type.h - __config - __functional/binary_function.h - __functional/invoke.h - __functional/unary_function.h - __type_traits/integral_constant.h - __type_traits/is_same.h - __utility/declval.h - __memory/addressof.h - __type_traits/enable_if.h - __type_traits/remove_cvref.h - __utility/declval.h - __utility/forward.h - __iterator/access.h - __memory/addressof.h - __memory/allocation_guard.h - __memory/allocator.h - __memory/allocator_destructor.h - __config - __memory/allocator_traits.h - __memory/allocator_traits.h - __memory/auto_ptr.h - __memory/compressed_pair.h - __memory/construct_at.h - __memory/pointer_traits.h - __memory/uninitialized_algorithms.h - __memory/unique_ptr.h - __type_traits/add_lvalue_reference.h - __type_traits/conditional.h - __type_traits/conjunction.h - __type_traits/disjunction.h - __type_traits/is_array.h - __type_traits/is_bounded_array.h - __type_traits/is_convertible.h - __type_traits/is_move_constructible.h - __type_traits/is_reference.h - __type_traits/is_unbounded_array.h - __type_traits/nat.h - __type_traits/negation.h - __type_traits/remove_extent.h - __type_traits/remove_reference.h - __utility/declval.h - __utility/forward.h - __utility/move.h - __utility/swap.h - __verbose_abort - cstddef - iosfwd - new - stdexcept - typeinfo - __atomic/memory_order.h - __memory/temporary_buffer.h - __memory/uninitialized_algorithms.h - __memory/unique_ptr.h - __memory/uses_allocator.h - __memory/uses_allocator_construction.h - __config - __memory/construct_at.h - __memory/uses_allocator.h - __type_traits/enable_if.h - __type_traits/is_same.h - __type_traits/remove_cv.h - __utility/declval.h - __utility/pair.h - tuple - version - compare - atomic - concepts - cstddef - cstdint - cstdlib - cstring - iosfwd - iterator - new - stdexcept - tuple - type_traits - typeinfo - utility - stdexcept - type_traits - utility - concepts - cstdlib - iterator - type_traits - version - cwchar - __iterator/access.h - __iterator/data.h - __iterator/empty.h - __iterator/reverse_access.h - __iterator/size.h - compare - initializer_list - __undef_macros - algorithm - concepts - cstdlib - iterator - new - type_traits - typeinfo - utility + third_party/libcxx/__type_traits/decay.h + third_party/libcxx/cstring + third_party/libcxx/__atomic/check_memory_order.h + third_party/libcxx/__config + third_party/libcxx/__atomic/cxx_atomic_impl.h + third_party/libcxx/__atomic/is_always_lock_free.h + third_party/libcxx/__atomic/memory_order.h + third_party/libcxx/__availability + third_party/libcxx/__config + third_party/libcxx/__memory/addressof.h + third_party/libcxx/__type_traits/is_integral.h + third_party/libcxx/__type_traits/is_nothrow_default_constructible.h + third_party/libcxx/__type_traits/is_same.h + third_party/libcxx/version + third_party/libcxx/__atomic/check_memory_order.h + third_party/libcxx/__atomic/cxx_atomic_impl.h + third_party/libcxx/__atomic/memory_order.h + third_party/libcxx/__config + third_party/libcxx/__memory/addressof.h + third_party/libcxx/__type_traits/is_function.h + third_party/libcxx/__type_traits/is_same.h + third_party/libcxx/__type_traits/remove_pointer.h + third_party/libcxx/cstddef + third_party/libcxx/__atomic/memory_order.h + third_party/libcxx/__config + third_party/libcxx/__functional/operations.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__type_traits/is_execution_policy.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/remove_cvref.h + third_party/libcxx/__utility/pair.h + third_party/libcxx/__utility/terminate_on_exception.h + third_party/libcxx/__config + third_party/libcxx/__exception/terminate.h + third_party/libcxx/cstdint + third_party/libcxx/__algorithm/pstl_backends/cpu_backends/fill.h + third_party/libcxx/__algorithm/fill.h + third_party/libcxx/__algorithm/pstl_backends/cpu_backends/backend.h + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__type_traits/is_execution_policy.h + third_party/libcxx/__utility/terminate_on_exception.h + third_party/libcxx/__algorithm/pstl_backends/cpu_backends/find_if.h + third_party/libcxx/__algorithm/find_if.h + third_party/libcxx/__algorithm/pstl_backends/cpu_backends/backend.h + third_party/libcxx/__atomic/atomic.h + third_party/libcxx/__config + third_party/libcxx/__functional/operations.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__type_traits/is_execution_policy.h + third_party/libcxx/__utility/pair.h + third_party/libcxx/__utility/terminate_on_exception.h + third_party/libcxx/cstddef + third_party/libcxx/__algorithm/pstl_backends/cpu_backends/for_each.h + third_party/libcxx/__algorithm/for_each.h + third_party/libcxx/__algorithm/pstl_backends/cpu_backends/backend.h + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__type_traits/is_execution_policy.h + third_party/libcxx/__utility/terminate_on_exception.h + third_party/libcxx/__algorithm/pstl_backends/cpu_backends/merge.h + third_party/libcxx/__algorithm/merge.h + third_party/libcxx/__algorithm/pstl_backends/cpu_backends/backend.h + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__type_traits/is_execution_policy.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__utility/terminate_on_exception.h + third_party/libcxx/__algorithm/pstl_backends/cpu_backends/transform.h + third_party/libcxx/__algorithm/pstl_backends/cpu_backends/backend.h + third_party/libcxx/__algorithm/transform.h + third_party/libcxx/__config + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__type_traits/enable_if.h + third_party/libcxx/__type_traits/is_execution_policy.h + third_party/libcxx/__type_traits/remove_cvref.h + third_party/libcxx/__utility/terminate_on_exception.h + third_party/libcxx/__config + third_party/libcxx/execution + third_party/libcxx/__assert + third_party/libcxx/__config + third_party/libcxx/__type_traits/is_execution_policy.h + third_party/libcxx/__type_traits/is_same.h + third_party/libcxx/__type_traits/remove_cvref.h + third_party/libcxx/version + third_party/libcxx/__algorithm/pstl_frontend_dispatch.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/is_callable.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__type_traits/is_execution_policy.h + third_party/libcxx/__type_traits/remove_cvref.h + third_party/libcxx/__utility/terminate_on_exception.h + third_party/libcxx/__algorithm/pstl_frontend_dispatch.h + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__type_traits/enable_if.h + third_party/libcxx/__type_traits/is_execution_policy.h + third_party/libcxx/__type_traits/remove_cvref.h + third_party/libcxx/__utility/terminate_on_exception.h + third_party/libcxx/__algorithm/pstl_copy.h + third_party/libcxx/__algorithm/copy_n.h + third_party/libcxx/__algorithm/pstl_transform.h + third_party/libcxx/__algorithm/pstl_backend.h + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__type_traits/is_execution_policy.h + third_party/libcxx/__utility/terminate_on_exception.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__type_traits/is_constant_evaluated.h + third_party/libcxx/__type_traits/is_execution_policy.h + third_party/libcxx/__type_traits/is_trivially_copyable.h + third_party/libcxx/__algorithm/pstl_fill.h + third_party/libcxx/__algorithm/fill_n.h + third_party/libcxx/__algorithm/pstl_for_each.h + third_party/libcxx/__algorithm/for_each.h + third_party/libcxx/__algorithm/for_each_n.h + third_party/libcxx/__algorithm/pstl_backend.h + third_party/libcxx/__algorithm/pstl_frontend_dispatch.h + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__type_traits/is_execution_policy.h + third_party/libcxx/__type_traits/remove_cvref.h + third_party/libcxx/__type_traits/void_t.h + third_party/libcxx/__utility/terminate_on_exception.h + third_party/libcxx/__algorithm/pstl_frontend_dispatch.h + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__type_traits/is_execution_policy.h + third_party/libcxx/__type_traits/remove_cvref.h + third_party/libcxx/__utility/terminate_on_exception.h + third_party/libcxx/__algorithm/pstl_find.h + third_party/libcxx/__algorithm/pstl_for_each.h + third_party/libcxx/__algorithm/pstl_merge.h + third_party/libcxx/__algorithm/pstl_backend.h + third_party/libcxx/__config + third_party/libcxx/__functional/operations.h + third_party/libcxx/__type_traits/is_execution_policy.h + third_party/libcxx/__type_traits/remove_cvref.h + third_party/libcxx/__algorithm/pstl_transform.h + third_party/libcxx/__algorithm/push_heap.h + third_party/libcxx/__algorithm/ranges_adjacent_find.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__config + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/incrementable_traits.h + third_party/libcxx/__type_traits/remove_cvref.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/ranges_all_of.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/ranges_any_of.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/ranges_binary_search.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/lower_bound.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__algorithm/ranges_clamp.h + third_party/libcxx/__assert + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__algorithm/ranges_copy.h + third_party/libcxx/__algorithm/copy.h + third_party/libcxx/__algorithm/in_out_result.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__utility/pair.h + third_party/libcxx/__algorithm/ranges_copy_backward.h + third_party/libcxx/__algorithm/copy_backward.h + third_party/libcxx/__algorithm/in_out_result.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__config + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/ranges_copy_if.h + third_party/libcxx/__algorithm/in_out_result.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/ranges_copy_n.h + third_party/libcxx/__algorithm/copy.h + third_party/libcxx/__algorithm/in_out_result.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/ranges_copy.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/incrementable_traits.h + third_party/libcxx/__iterator/unreachable_sentinel.h + third_party/libcxx/__config + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/wrap_iter.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/ranges_count.h + third_party/libcxx/__algorithm/ranges_count_if.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/incrementable_traits.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/incrementable_traits.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/ranges_count_if.h + third_party/libcxx/__algorithm/ranges_equal.h + third_party/libcxx/__algorithm/equal.h + third_party/libcxx/__algorithm/unwrap_range.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/distance.h + third_party/libcxx/__iterator/indirectly_comparable.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/ranges_equal_range.h + third_party/libcxx/__algorithm/equal_range.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__ranges/subrange.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__utility/pair.h + third_party/libcxx/__algorithm/ranges_fill.h + third_party/libcxx/__algorithm/ranges_fill_n.h + third_party/libcxx/__config + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/incrementable_traits.h + third_party/libcxx/__config + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__algorithm/ranges_fill_n.h + third_party/libcxx/__algorithm/ranges_find.h + third_party/libcxx/__algorithm/find.h + third_party/libcxx/__algorithm/ranges_find_if.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/unwrap_range.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/ranges_find_end.h + third_party/libcxx/__algorithm/find_end.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/ranges_iterator_concept.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/indirectly_comparable.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/subrange.h + third_party/libcxx/__utility/pair.h + third_party/libcxx/__algorithm/ranges_find_first_of.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/indirectly_comparable.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/ranges_find_if.h + third_party/libcxx/__algorithm/ranges_find_if_not.h + third_party/libcxx/__algorithm/ranges_find_if.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/ranges_for_each.h + third_party/libcxx/__algorithm/in_fun_result.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/ranges_for_each_n.h + third_party/libcxx/__algorithm/in_fun_result.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/incrementable_traits.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/ranges_generate.h + third_party/libcxx/__concepts/constructible.h + third_party/libcxx/__concepts/invocable.h + third_party/libcxx/__config + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/ranges_generate_n.h + third_party/libcxx/__concepts/constructible.h + third_party/libcxx/__concepts/invocable.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/incrementable_traits.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/ranges_includes.h + third_party/libcxx/__algorithm/includes.h + third_party/libcxx/__algorithm/make_projected.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/ranges_inplace_merge.h + third_party/libcxx/__algorithm/inplace_merge.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/make_projected.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__iterator/next.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__iterator/sortable.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/permutable.h + third_party/libcxx/__config + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/iter_swap.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/ranges_is_heap.h + third_party/libcxx/__algorithm/is_heap_until.h + third_party/libcxx/__algorithm/make_projected.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__iterator/next.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/ranges_is_heap_until.h + third_party/libcxx/__algorithm/is_heap_until.h + third_party/libcxx/__algorithm/make_projected.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__iterator/next.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/ranges_is_partitioned.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/indirectly_comparable.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/ranges_is_permutation.h + third_party/libcxx/__algorithm/is_permutation.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/distance.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/ranges_is_sorted.h + third_party/libcxx/__algorithm/ranges_is_sorted_until.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/ranges_is_sorted_until.h + third_party/libcxx/__algorithm/ranges_lexicographical_compare.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/ranges_lower_bound.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/lower_bound.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/advance.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__algorithm/ranges_make_heap.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/make_heap.h + third_party/libcxx/__algorithm/make_projected.h + third_party/libcxx/__concepts/same_as.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__iterator/next.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__iterator/sortable.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/ranges_max.h + third_party/libcxx/__algorithm/ranges_min_element.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__assert + third_party/libcxx/__concepts/copyable.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__type_traits/is_trivially_copyable.h + third_party/libcxx/__utility/move.h + third_party/libcxx/initializer_list + third_party/libcxx/__undef_macros + third_party/libcxx/__algorithm/ranges_max_element.h + third_party/libcxx/__algorithm/ranges_min_element.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__algorithm/ranges_merge.h + third_party/libcxx/__algorithm/in_in_out_result.h + third_party/libcxx/__algorithm/ranges_copy.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/mergeable.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__type_traits/remove_cvref.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/ranges_min.h + third_party/libcxx/__algorithm/ranges_min_element.h + third_party/libcxx/__assert + third_party/libcxx/__concepts/copyable.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__type_traits/is_trivially_copyable.h + third_party/libcxx/initializer_list + third_party/libcxx/__undef_macros + third_party/libcxx/__algorithm/ranges_min_element.h + third_party/libcxx/__algorithm/ranges_minmax.h + third_party/libcxx/__algorithm/min_max_result.h + third_party/libcxx/__algorithm/minmax_element.h + third_party/libcxx/__assert + third_party/libcxx/__concepts/copyable.h + third_party/libcxx/__concepts/same_as.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/next.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__type_traits/is_reference.h + third_party/libcxx/__type_traits/remove_cvref.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__utility/pair.h + third_party/libcxx/initializer_list + third_party/libcxx/__undef_macros + third_party/libcxx/__algorithm/ranges_minmax_element.h + third_party/libcxx/__algorithm/min_max_result.h + third_party/libcxx/__algorithm/minmax_element.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__utility/pair.h + third_party/libcxx/__algorithm/ranges_mismatch.h + third_party/libcxx/__algorithm/in_in_result.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/indirectly_comparable.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/ranges_move.h + third_party/libcxx/__algorithm/in_out_result.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/move.h + third_party/libcxx/__config + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/ranges_move_backward.h + third_party/libcxx/__algorithm/in_out_result.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/move_backward.h + third_party/libcxx/__config + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/iter_move.h + third_party/libcxx/__iterator/next.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/ranges_next_permutation.h + third_party/libcxx/__algorithm/in_found_result.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/make_projected.h + third_party/libcxx/__algorithm/next_permutation.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/sortable.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__utility/pair.h + third_party/libcxx/__algorithm/ranges_none_of.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/ranges_nth_element.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/make_projected.h + third_party/libcxx/__algorithm/nth_element.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__iterator/next.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__iterator/sortable.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/ranges_partial_sort.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/make_projected.h + third_party/libcxx/__algorithm/partial_sort.h + third_party/libcxx/__concepts/same_as.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__iterator/next.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__iterator/sortable.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__utility/pair.h + third_party/libcxx/__algorithm/ranges_partial_sort_copy.h + third_party/libcxx/__algorithm/in_out_result.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/make_projected.h + third_party/libcxx/__algorithm/partial_sort_copy.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__iterator/sortable.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__utility/pair.h + third_party/libcxx/__algorithm/ranges_partition.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/make_projected.h + third_party/libcxx/__algorithm/partition.h + third_party/libcxx/__algorithm/ranges_iterator_concept.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__iterator/permutable.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/subrange.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__utility/pair.h + third_party/libcxx/__algorithm/ranges_partition_copy.h + third_party/libcxx/__algorithm/in_out_out_result.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__type_traits/remove_cvref.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/ranges_partition_point.h + third_party/libcxx/__algorithm/half_positive.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/distance.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__iterator/next.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/ranges_pop_heap.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/make_projected.h + third_party/libcxx/__algorithm/pop_heap.h + third_party/libcxx/__concepts/same_as.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__iterator/next.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__iterator/sortable.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/ranges_prev_permutation.h + third_party/libcxx/__algorithm/in_found_result.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/make_projected.h + third_party/libcxx/__algorithm/prev_permutation.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/sortable.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__utility/pair.h + third_party/libcxx/__algorithm/ranges_push_heap.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/make_projected.h + third_party/libcxx/__algorithm/push_heap.h + third_party/libcxx/__concepts/same_as.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__iterator/next.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__iterator/sortable.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/ranges_remove.h + third_party/libcxx/__config + third_party/libcxx/__algorithm/ranges_remove_if.h + third_party/libcxx/__config + third_party/libcxx/__algorithm/ranges_find_if.h + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/iter_move.h + third_party/libcxx/__iterator/permutable.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/subrange.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/permutable.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/subrange.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/ranges_remove_copy.h + third_party/libcxx/__algorithm/in_out_result.h + third_party/libcxx/__algorithm/ranges_remove_copy_if.h + third_party/libcxx/__algorithm/in_out_result.h + third_party/libcxx/__algorithm/make_projected.h + third_party/libcxx/__algorithm/remove_copy_if.h + third_party/libcxx/__config + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/ranges_remove_copy_if.h + third_party/libcxx/__algorithm/ranges_remove_if.h + third_party/libcxx/__algorithm/ranges_replace.h + third_party/libcxx/__algorithm/ranges_replace_if.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/ranges_replace_copy.h + third_party/libcxx/__algorithm/in_out_result.h + third_party/libcxx/__algorithm/ranges_replace_copy_if.h + third_party/libcxx/__algorithm/in_out_result.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/ranges_replace_copy_if.h + third_party/libcxx/__algorithm/ranges_replace_if.h + third_party/libcxx/__algorithm/ranges_reverse.h + third_party/libcxx/__config + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/iter_swap.h + third_party/libcxx/__iterator/next.h + third_party/libcxx/__iterator/permutable.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__algorithm/ranges_reverse_copy.h + third_party/libcxx/__algorithm/in_out_result.h + third_party/libcxx/__algorithm/ranges_copy.h + third_party/libcxx/__config + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/next.h + third_party/libcxx/__iterator/reverse_iterator.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__ranges/subrange.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/ranges_rotate.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/ranges_iterator_concept.h + third_party/libcxx/__algorithm/rotate.h + third_party/libcxx/__config + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__iterator/permutable.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/subrange.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/ranges_rotate_copy.h + third_party/libcxx/__algorithm/in_out_result.h + third_party/libcxx/__algorithm/ranges_copy.h + third_party/libcxx/__config + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/reverse_iterator.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/ranges_sample.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/sample.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/min.h + third_party/libcxx/__assert + third_party/libcxx/__config + third_party/libcxx/__iterator/distance.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__random/uniform_int_distribution.h + third_party/libcxx/__type_traits/common_type.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__undef_macros + third_party/libcxx/__algorithm/uniform_random_bit_generator_adaptor.h + third_party/libcxx/__config + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__type_traits/remove_cvref.h + third_party/libcxx/__undef_macros + third_party/libcxx/__config + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/incrementable_traits.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__random/uniform_random_bit_generator.h + third_party/libcxx/__concepts/arithmetic.h + third_party/libcxx/__concepts/invocable.h + third_party/libcxx/__concepts/same_as.h + third_party/libcxx/__config + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__undef_macros + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__type_traits/remove_reference.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/ranges_search.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/search.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/advance.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/distance.h + third_party/libcxx/__iterator/indirectly_comparable.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/size.h + third_party/libcxx/__ranges/subrange.h + third_party/libcxx/__utility/pair.h + third_party/libcxx/__algorithm/ranges_search_n.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/search_n.h + third_party/libcxx/__algorithm/comp.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__iterator/advance.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/distance.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__type_traits/is_callable.h + third_party/libcxx/__utility/convert_to_integral.h + third_party/libcxx/__utility/pair.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/advance.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/distance.h + third_party/libcxx/__iterator/incrementable_traits.h + third_party/libcxx/__iterator/indirectly_comparable.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/size.h + third_party/libcxx/__ranges/subrange.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__utility/pair.h + third_party/libcxx/__algorithm/ranges_set_difference.h + third_party/libcxx/__algorithm/in_out_result.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/make_projected.h + third_party/libcxx/__algorithm/set_difference.h + third_party/libcxx/__algorithm/comp.h + third_party/libcxx/__algorithm/comp_ref_type.h + third_party/libcxx/__algorithm/copy.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__type_traits/remove_cvref.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__utility/pair.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/mergeable.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__type_traits/decay.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__utility/pair.h + third_party/libcxx/__algorithm/ranges_set_intersection.h + third_party/libcxx/__algorithm/in_in_out_result.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/make_projected.h + third_party/libcxx/__algorithm/set_intersection.h + third_party/libcxx/__algorithm/comp.h + third_party/libcxx/__algorithm/comp_ref_type.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__iterator/next.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/mergeable.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/ranges_set_symmetric_difference.h + third_party/libcxx/__algorithm/in_in_out_result.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/make_projected.h + third_party/libcxx/__algorithm/set_symmetric_difference.h + third_party/libcxx/__algorithm/comp.h + third_party/libcxx/__algorithm/comp_ref_type.h + third_party/libcxx/__algorithm/copy.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__utility/pair.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/mergeable.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/ranges_set_union.h + third_party/libcxx/__algorithm/in_in_out_result.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/make_projected.h + third_party/libcxx/__algorithm/set_union.h + third_party/libcxx/__algorithm/comp.h + third_party/libcxx/__algorithm/comp_ref_type.h + third_party/libcxx/__algorithm/copy.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__utility/pair.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__iterator/mergeable.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/ranges_shuffle.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/shuffle.h + third_party/libcxx/__algorithm/uniform_random_bit_generator_adaptor.h + third_party/libcxx/__config + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__iterator/next.h + third_party/libcxx/__iterator/permutable.h + third_party/libcxx/__random/uniform_random_bit_generator.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__type_traits/remove_reference.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/ranges_sort.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/make_projected.h + third_party/libcxx/__algorithm/sort.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__iterator/next.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__iterator/sortable.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/ranges_sort_heap.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/make_projected.h + third_party/libcxx/__algorithm/sort_heap.h + third_party/libcxx/__concepts/same_as.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__iterator/next.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__iterator/sortable.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/ranges_stable_partition.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/make_projected.h + third_party/libcxx/__algorithm/ranges_iterator_concept.h + third_party/libcxx/__algorithm/stable_partition.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/rotate.h + third_party/libcxx/__config + third_party/libcxx/__iterator/advance.h + third_party/libcxx/__iterator/distance.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__memory/destruct_n.h + third_party/libcxx/__memory/temporary_buffer.h + third_party/libcxx/__memory/unique_ptr.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__utility/pair.h + third_party/libcxx/new + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__iterator/next.h + third_party/libcxx/__iterator/permutable.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__ranges/subrange.h + third_party/libcxx/__type_traits/remove_cvref.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/ranges_stable_sort.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/make_projected.h + third_party/libcxx/__algorithm/stable_sort.h + third_party/libcxx/__algorithm/comp.h + third_party/libcxx/__algorithm/comp_ref_type.h + third_party/libcxx/__algorithm/inplace_merge.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/sort.h + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__memory/destruct_n.h + third_party/libcxx/__memory/temporary_buffer.h + third_party/libcxx/__memory/unique_ptr.h + third_party/libcxx/__type_traits/is_trivially_copy_assignable.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__utility/pair.h + third_party/libcxx/new + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__iterator/next.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__iterator/sortable.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/ranges_starts_with.h + third_party/libcxx/__algorithm/in_in_result.h + third_party/libcxx/__algorithm/ranges_mismatch.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/indirectly_comparable.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/ranges_swap_ranges.h + third_party/libcxx/__algorithm/in_in_result.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/swap_ranges.h + third_party/libcxx/__config + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/iter_swap.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/ranges_transform.h + third_party/libcxx/__algorithm/in_in_out_result.h + third_party/libcxx/__algorithm/in_out_result.h + third_party/libcxx/__concepts/constructible.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__algorithm/ranges_unique.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/make_projected.h + third_party/libcxx/__algorithm/unique.h + third_party/libcxx/__algorithm/adjacent_find.h + third_party/libcxx/__algorithm/comp.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__utility/pair.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__iterator/permutable.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__ranges/subrange.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__utility/pair.h + third_party/libcxx/__algorithm/ranges_unique_copy.h + third_party/libcxx/__algorithm/in_out_result.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/make_projected.h + third_party/libcxx/__algorithm/unique_copy.h + third_party/libcxx/__algorithm/comp.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__type_traits/conditional.h + third_party/libcxx/__type_traits/is_base_of.h + third_party/libcxx/__type_traits/is_same.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__utility/pair.h + third_party/libcxx/__concepts/same_as.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__iterator/readable_traits.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__utility/pair.h + third_party/libcxx/__algorithm/ranges_upper_bound.h + third_party/libcxx/__algorithm/iterator_operations.h + third_party/libcxx/__algorithm/lower_bound.h + third_party/libcxx/__config + third_party/libcxx/__functional/identity.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__functional/ranges_operations.h + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__algorithm/remove.h + third_party/libcxx/__algorithm/remove_copy.h + third_party/libcxx/__config + third_party/libcxx/__algorithm/remove_copy_if.h + third_party/libcxx/__algorithm/remove_if.h + third_party/libcxx/__algorithm/replace.h + third_party/libcxx/__config + third_party/libcxx/__algorithm/replace_copy.h + third_party/libcxx/__config + third_party/libcxx/__algorithm/replace_copy_if.h + third_party/libcxx/__config + third_party/libcxx/__algorithm/replace_if.h + third_party/libcxx/__config + third_party/libcxx/__algorithm/reverse.h + third_party/libcxx/__algorithm/reverse_copy.h + third_party/libcxx/__config + third_party/libcxx/__algorithm/rotate.h + third_party/libcxx/__algorithm/rotate_copy.h + third_party/libcxx/__algorithm/copy.h + third_party/libcxx/__config + third_party/libcxx/__algorithm/sample.h + third_party/libcxx/__algorithm/search.h + third_party/libcxx/__algorithm/search_n.h + third_party/libcxx/__algorithm/set_difference.h + third_party/libcxx/__algorithm/set_intersection.h + third_party/libcxx/__algorithm/set_symmetric_difference.h + third_party/libcxx/__algorithm/set_union.h + third_party/libcxx/__algorithm/shift_left.h + third_party/libcxx/__algorithm/move.h + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__algorithm/shift_right.h + third_party/libcxx/__algorithm/move.h + third_party/libcxx/__algorithm/move_backward.h + third_party/libcxx/__algorithm/swap_ranges.h + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__utility/swap.h + third_party/libcxx/__algorithm/shuffle.h + third_party/libcxx/__algorithm/sift_down.h + third_party/libcxx/__algorithm/sort.h + third_party/libcxx/__algorithm/sort_heap.h + third_party/libcxx/__algorithm/stable_partition.h + third_party/libcxx/__algorithm/stable_sort.h + third_party/libcxx/__algorithm/swap_ranges.h + third_party/libcxx/__algorithm/transform.h + third_party/libcxx/__algorithm/unique.h + third_party/libcxx/__algorithm/unique_copy.h + third_party/libcxx/__algorithm/unwrap_iter.h + third_party/libcxx/__algorithm/upper_bound.h + third_party/libcxx/initializer_list + third_party/libcxx/atomic + third_party/libcxx/__assert + third_party/libcxx/__atomic/aliases.h + third_party/libcxx/__atomic/atomic.h + third_party/libcxx/__atomic/atomic_lock_free.h + third_party/libcxx/__config + third_party/libcxx/__atomic/contention_t.h + third_party/libcxx/__atomic/is_always_lock_free.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/conditional.h + third_party/libcxx/cstddef + third_party/libcxx/cstdint + third_party/libcxx/cstdlib + third_party/libcxx/__atomic/atomic.h + third_party/libcxx/__atomic/atomic_base.h + third_party/libcxx/__atomic/atomic_flag.h + third_party/libcxx/__atomic/atomic_sync.h + third_party/libcxx/__atomic/contention_t.h + third_party/libcxx/__atomic/cxx_atomic_impl.h + third_party/libcxx/__atomic/memory_order.h + third_party/libcxx/__chrono/duration.h + third_party/libcxx/__config + third_party/libcxx/__threading_support + third_party/libcxx/cstdint + third_party/libcxx/__atomic/atomic_init.h + third_party/libcxx/__config + third_party/libcxx/__atomic/atomic_lock_free.h + third_party/libcxx/__atomic/atomic_sync.h + third_party/libcxx/__atomic/check_memory_order.h + third_party/libcxx/__atomic/contention_t.h + third_party/libcxx/__atomic/cxx_atomic_impl.h + third_party/libcxx/__atomic/fence.h + third_party/libcxx/__atomic/cxx_atomic_impl.h + third_party/libcxx/__atomic/memory_order.h + third_party/libcxx/__config + third_party/libcxx/__atomic/is_always_lock_free.h + third_party/libcxx/__atomic/kill_dependency.h + third_party/libcxx/__config + third_party/libcxx/__atomic/memory_order.h + third_party/libcxx/__config + third_party/libcxx/version + third_party/libcxx/cmath + third_party/libcxx/compare + third_party/libcxx/cstring + third_party/libcxx/type_traits + third_party/libcxx/bit + third_party/libcxx/__assert + third_party/libcxx/__bit/bit_cast.h + third_party/libcxx/__bit/bit_ceil.h + third_party/libcxx/__assert + third_party/libcxx/__bit/countl.h + third_party/libcxx/__concepts/arithmetic.h + third_party/libcxx/__config + third_party/libcxx/limits + third_party/libcxx/__bit/bit_floor.h + third_party/libcxx/__bit/bit_log2.h + third_party/libcxx/__bit/countl.h + third_party/libcxx/__concepts/arithmetic.h + third_party/libcxx/__config + third_party/libcxx/limits + third_party/libcxx/__concepts/arithmetic.h + third_party/libcxx/__config + third_party/libcxx/limits + third_party/libcxx/__bit/bit_log2.h + third_party/libcxx/__bit/bit_width.h + third_party/libcxx/__bit/bit_log2.h + third_party/libcxx/__concepts/arithmetic.h + third_party/libcxx/__config + third_party/libcxx/__bit/blsr.h + third_party/libcxx/__bit/byteswap.h + third_party/libcxx/__concepts/arithmetic.h + third_party/libcxx/__config + third_party/libcxx/cstdint + third_party/libcxx/__bit/countl.h + third_party/libcxx/__bit/countr.h + third_party/libcxx/__bit/endian.h + third_party/libcxx/__config + third_party/libcxx/__bit/has_single_bit.h + third_party/libcxx/__concepts/arithmetic.h + third_party/libcxx/__config + third_party/libcxx/__undef_macros + third_party/libcxx/__bit/popcount.h + third_party/libcxx/__bit/rotate.h + third_party/libcxx/__concepts/arithmetic.h + third_party/libcxx/__config + third_party/libcxx/limits + third_party/libcxx/__undef_macros + third_party/libcxx/__bit/rotate.h + third_party/libcxx/__config + third_party/libcxx/version + third_party/libcxx/cstdlib + third_party/libcxx/iosfwd + third_party/libcxx/limits + third_party/libcxx/type_traits + third_party/libcxx/concepts + third_party/libcxx/__assert + third_party/libcxx/__concepts/arithmetic.h + third_party/libcxx/__concepts/assignable.h + third_party/libcxx/__concepts/boolean_testable.h + third_party/libcxx/__concepts/class_or_enum.h + third_party/libcxx/__concepts/common_reference_with.h + third_party/libcxx/__concepts/common_with.h + third_party/libcxx/__concepts/common_reference_with.h + third_party/libcxx/__concepts/same_as.h + third_party/libcxx/__config + third_party/libcxx/__type_traits/add_lvalue_reference.h + third_party/libcxx/__type_traits/common_reference.h + third_party/libcxx/__type_traits/common_type.h + third_party/libcxx/__utility/declval.h + third_party/libcxx/__concepts/constructible.h + third_party/libcxx/__concepts/convertible_to.h + third_party/libcxx/__concepts/copyable.h + third_party/libcxx/__concepts/derived_from.h + third_party/libcxx/__concepts/destructible.h + third_party/libcxx/__concepts/different_from.h + third_party/libcxx/__concepts/equality_comparable.h + third_party/libcxx/__concepts/invocable.h + third_party/libcxx/__concepts/movable.h + third_party/libcxx/__concepts/predicate.h + third_party/libcxx/__concepts/regular.h + third_party/libcxx/__concepts/relation.h + third_party/libcxx/__concepts/same_as.h + third_party/libcxx/__concepts/semiregular.h + third_party/libcxx/__concepts/swappable.h + third_party/libcxx/__concepts/totally_ordered.h + third_party/libcxx/__config + third_party/libcxx/version + third_party/libcxx/type_traits + third_party/libcxx/cstdlib + third_party/libcxx/cstring + third_party/libcxx/iterator + third_party/libcxx/concepts + third_party/libcxx/__assert + third_party/libcxx/__config + third_party/libcxx/__debug + third_party/libcxx/__iterator/access.h + third_party/libcxx/__iterator/advance.h + third_party/libcxx/__iterator/back_insert_iterator.h + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__memory/addressof.h + third_party/libcxx/__utility/move.h + third_party/libcxx/cstddef + third_party/libcxx/__iterator/bounded_iter.h + third_party/libcxx/__iterator/common_iterator.h + third_party/libcxx/__assert + third_party/libcxx/__concepts/assignable.h + third_party/libcxx/__concepts/constructible.h + third_party/libcxx/__concepts/convertible_to.h + third_party/libcxx/__concepts/copyable.h + third_party/libcxx/__concepts/derived_from.h + third_party/libcxx/__concepts/equality_comparable.h + third_party/libcxx/__concepts/same_as.h + third_party/libcxx/__config + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/incrementable_traits.h + third_party/libcxx/__iterator/iter_move.h + third_party/libcxx/__iterator/iter_swap.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__iterator/readable_traits.h + third_party/libcxx/__memory/addressof.h + third_party/libcxx/__type_traits/is_pointer.h + third_party/libcxx/__utility/declval.h + third_party/libcxx/variant + third_party/libcxx/__assert + third_party/libcxx/__availability + third_party/libcxx/__compare/common_comparison_category.h + third_party/libcxx/__compare/compare_three_way_result.h + third_party/libcxx/__compare/three_way_comparable.h + third_party/libcxx/__config + third_party/libcxx/__exception/exception.h + third_party/libcxx/__functional/hash.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__functional/operations.h + third_party/libcxx/__functional/unary_function.h + third_party/libcxx/__memory/addressof.h + third_party/libcxx/__type_traits/add_const.h + third_party/libcxx/__type_traits/add_cv.h + third_party/libcxx/__type_traits/add_pointer.h + third_party/libcxx/__type_traits/add_volatile.h + third_party/libcxx/__type_traits/dependent_type.h + third_party/libcxx/__type_traits/is_array.h + third_party/libcxx/__type_traits/is_destructible.h + third_party/libcxx/__type_traits/is_nothrow_move_constructible.h + third_party/libcxx/__type_traits/is_trivially_copy_assignable.h + third_party/libcxx/__type_traits/is_trivially_copy_constructible.h + third_party/libcxx/__type_traits/is_trivially_destructible.h + third_party/libcxx/__type_traits/is_trivially_move_assignable.h + third_party/libcxx/__type_traits/is_trivially_move_constructible.h + third_party/libcxx/__type_traits/is_void.h + third_party/libcxx/__type_traits/remove_const.h + third_party/libcxx/__type_traits/type_identity.h + third_party/libcxx/__type_traits/void_t.h + third_party/libcxx/__utility/declval.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__utility/in_place.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__utility/swap.h + third_party/libcxx/__variant/monostate.h + third_party/libcxx/__compare/ordering.h + third_party/libcxx/__config + third_party/libcxx/__functional/hash.h + third_party/libcxx/cstddef + third_party/libcxx/__verbose_abort + third_party/libcxx/initializer_list + third_party/libcxx/limits + third_party/libcxx/new + third_party/libcxx/tuple + third_party/libcxx/version + third_party/libcxx/compare + third_party/libcxx/__undef_macros + third_party/libcxx/exception + third_party/libcxx/type_traits + third_party/libcxx/typeinfo + third_party/libcxx/utility + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/counted_iterator.h + third_party/libcxx/__assert + third_party/libcxx/__concepts/assignable.h + third_party/libcxx/__concepts/common_with.h + third_party/libcxx/__concepts/constructible.h + third_party/libcxx/__concepts/convertible_to.h + third_party/libcxx/__concepts/same_as.h + third_party/libcxx/__config + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/default_sentinel.h + third_party/libcxx/__config + third_party/libcxx/__iterator/incrementable_traits.h + third_party/libcxx/__iterator/iter_move.h + third_party/libcxx/__iterator/iter_swap.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__iterator/readable_traits.h + third_party/libcxx/__memory/pointer_traits.h + third_party/libcxx/__type_traits/add_pointer.h + third_party/libcxx/__type_traits/conditional.h + third_party/libcxx/__utility/move.h + third_party/libcxx/compare + third_party/libcxx/__iterator/data.h + third_party/libcxx/__iterator/default_sentinel.h + third_party/libcxx/__iterator/distance.h + third_party/libcxx/__iterator/empty.h + third_party/libcxx/__iterator/erase_if_container.h + third_party/libcxx/__config + third_party/libcxx/__iterator/front_insert_iterator.h + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__memory/addressof.h + third_party/libcxx/__utility/move.h + third_party/libcxx/cstddef + third_party/libcxx/__iterator/incrementable_traits.h + third_party/libcxx/__iterator/indirectly_comparable.h + third_party/libcxx/__iterator/insert_iterator.h + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__memory/addressof.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__utility/move.h + third_party/libcxx/cstddef + third_party/libcxx/__iterator/istream_iterator.h + third_party/libcxx/__config + third_party/libcxx/__iterator/default_sentinel.h + third_party/libcxx/__iterator/iterator.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__memory/addressof.h + third_party/libcxx/cstddef + third_party/libcxx/iosfwd + third_party/libcxx/__iterator/istreambuf_iterator.h + third_party/libcxx/__config + third_party/libcxx/__iterator/default_sentinel.h + third_party/libcxx/__iterator/iterator.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/iosfwd + third_party/libcxx/__iterator/iter_move.h + third_party/libcxx/__iterator/iter_swap.h + third_party/libcxx/__iterator/iterator.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__iterator/mergeable.h + third_party/libcxx/__iterator/move_iterator.h + third_party/libcxx/__compare/compare_three_way_result.h + third_party/libcxx/__compare/three_way_comparable.h + third_party/libcxx/__concepts/assignable.h + third_party/libcxx/__concepts/convertible_to.h + third_party/libcxx/__concepts/derived_from.h + third_party/libcxx/__concepts/same_as.h + third_party/libcxx/__config + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/incrementable_traits.h + third_party/libcxx/__iterator/iter_move.h + third_party/libcxx/__iterator/iter_swap.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__iterator/move_sentinel.h + third_party/libcxx/__concepts/assignable.h + third_party/libcxx/__concepts/convertible_to.h + third_party/libcxx/__concepts/semiregular.h + third_party/libcxx/__config + third_party/libcxx/__utility/move.h + third_party/libcxx/__iterator/readable_traits.h + third_party/libcxx/__type_traits/conditional.h + third_party/libcxx/__type_traits/enable_if.h + third_party/libcxx/__type_traits/is_assignable.h + third_party/libcxx/__type_traits/is_constructible.h + third_party/libcxx/__type_traits/is_convertible.h + third_party/libcxx/__type_traits/is_reference.h + third_party/libcxx/__type_traits/is_same.h + third_party/libcxx/__type_traits/remove_reference.h + third_party/libcxx/__utility/declval.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__iterator/move_sentinel.h + third_party/libcxx/__iterator/next.h + third_party/libcxx/__iterator/ostream_iterator.h + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__memory/addressof.h + third_party/libcxx/cstddef + third_party/libcxx/iosfwd + third_party/libcxx/__iterator/ostreambuf_iterator.h + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/cstddef + third_party/libcxx/iosfwd + third_party/libcxx/__iterator/permutable.h + third_party/libcxx/__iterator/prev.h + third_party/libcxx/__iterator/projected.h + third_party/libcxx/__iterator/readable_traits.h + third_party/libcxx/__iterator/reverse_access.h + third_party/libcxx/__iterator/reverse_iterator.h + third_party/libcxx/__iterator/size.h + third_party/libcxx/__iterator/sortable.h + third_party/libcxx/__iterator/unreachable_sentinel.h + third_party/libcxx/__iterator/wrap_iter.h + third_party/libcxx/__memory/addressof.h + third_party/libcxx/__memory/pointer_traits.h + third_party/libcxx/cstddef + third_party/libcxx/initializer_list + third_party/libcxx/version + third_party/libcxx/compare + third_party/libcxx/concepts + third_party/libcxx/cstdlib + third_party/libcxx/exception + third_party/libcxx/new + third_party/libcxx/type_traits + third_party/libcxx/typeinfo + third_party/libcxx/utility + third_party/libcxx/memory + third_party/libcxx/__assert + third_party/libcxx/__config + third_party/libcxx/__memory/addressof.h + third_party/libcxx/__memory/align.h + third_party/libcxx/__config + third_party/libcxx/cstddef + third_party/libcxx/__memory/allocate_at_least.h + third_party/libcxx/__memory/allocation_guard.h + third_party/libcxx/__config + third_party/libcxx/__memory/allocator_traits.h + third_party/libcxx/__utility/move.h + third_party/libcxx/cstddef + third_party/libcxx/__memory/allocator.h + third_party/libcxx/__memory/allocator_arg_t.h + third_party/libcxx/__memory/allocator_traits.h + third_party/libcxx/__memory/assume_aligned.h + third_party/libcxx/__assert + third_party/libcxx/__config + third_party/libcxx/__type_traits/is_constant_evaluated.h + third_party/libcxx/cstddef + third_party/libcxx/cstdint + third_party/libcxx/__memory/auto_ptr.h + third_party/libcxx/__memory/compressed_pair.h + third_party/libcxx/__memory/concepts.h + third_party/libcxx/__concepts/same_as.h + third_party/libcxx/__config + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__iterator/readable_traits.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__type_traits/is_reference.h + third_party/libcxx/__type_traits/remove_cvref.h + third_party/libcxx/__memory/construct_at.h + third_party/libcxx/__memory/pointer_traits.h + third_party/libcxx/__memory/ranges_construct_at.h + third_party/libcxx/__concepts/destructible.h + third_party/libcxx/__config + third_party/libcxx/__iterator/incrementable_traits.h + third_party/libcxx/__iterator/readable_traits.h + third_party/libcxx/__memory/concepts.h + third_party/libcxx/__memory/construct_at.h + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__utility/declval.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__utility/move.h + third_party/libcxx/new + third_party/libcxx/__memory/ranges_uninitialized_algorithms.h + third_party/libcxx/__algorithm/in_out_result.h + third_party/libcxx/__concepts/constructible.h + third_party/libcxx/__config + third_party/libcxx/__iterator/concepts.h + third_party/libcxx/__iterator/incrementable_traits.h + third_party/libcxx/__iterator/iter_move.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__iterator/readable_traits.h + third_party/libcxx/__memory/concepts.h + third_party/libcxx/__memory/uninitialized_algorithms.h + third_party/libcxx/__algorithm/copy.h + third_party/libcxx/__algorithm/move.h + third_party/libcxx/__algorithm/unwrap_iter.h + third_party/libcxx/__algorithm/unwrap_range.h + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__iterator/reverse_iterator.h + third_party/libcxx/__memory/addressof.h + third_party/libcxx/__memory/allocator_traits.h + third_party/libcxx/__memory/construct_at.h + third_party/libcxx/__memory/pointer_traits.h + third_party/libcxx/__memory/voidify.h + third_party/libcxx/__type_traits/extent.h + third_party/libcxx/__type_traits/is_array.h + third_party/libcxx/__type_traits/is_constant_evaluated.h + third_party/libcxx/__type_traits/is_trivially_copy_assignable.h + third_party/libcxx/__type_traits/is_trivially_copy_constructible.h + third_party/libcxx/__type_traits/is_trivially_move_assignable.h + third_party/libcxx/__type_traits/is_trivially_move_constructible.h + third_party/libcxx/__type_traits/is_unbounded_array.h + third_party/libcxx/__type_traits/negation.h + third_party/libcxx/__type_traits/remove_const.h + third_party/libcxx/__type_traits/remove_extent.h + third_party/libcxx/__utility/exception_guard.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__utility/pair.h + third_party/libcxx/new + third_party/libcxx/__ranges/access.h + third_party/libcxx/__ranges/concepts.h + third_party/libcxx/__ranges/dangling.h + third_party/libcxx/__type_traits/remove_reference.h + third_party/libcxx/__utility/move.h + third_party/libcxx/new + third_party/libcxx/__memory/raw_storage_iterator.h + third_party/libcxx/__config + third_party/libcxx/__iterator/iterator.h + third_party/libcxx/__iterator/iterator_traits.h + third_party/libcxx/__memory/addressof.h + third_party/libcxx/__utility/move.h + third_party/libcxx/cstddef + third_party/libcxx/new + third_party/libcxx/__memory/shared_ptr.h + third_party/libcxx/__availability + third_party/libcxx/__compare/compare_three_way.h + third_party/libcxx/__compare/ordering.h + third_party/libcxx/__config + third_party/libcxx/__functional/binary_function.h + third_party/libcxx/__functional/operations.h + third_party/libcxx/__functional/reference_wrapper.h + third_party/libcxx/__config + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__functional/weak_result_type.h + third_party/libcxx/__config + third_party/libcxx/__functional/binary_function.h + third_party/libcxx/__functional/invoke.h + third_party/libcxx/__functional/unary_function.h + third_party/libcxx/__type_traits/integral_constant.h + third_party/libcxx/__type_traits/is_same.h + third_party/libcxx/__utility/declval.h + third_party/libcxx/__memory/addressof.h + third_party/libcxx/__type_traits/enable_if.h + third_party/libcxx/__type_traits/remove_cvref.h + third_party/libcxx/__utility/declval.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__iterator/access.h + third_party/libcxx/__memory/addressof.h + third_party/libcxx/__memory/allocation_guard.h + third_party/libcxx/__memory/allocator.h + third_party/libcxx/__memory/allocator_destructor.h + third_party/libcxx/__config + third_party/libcxx/__memory/allocator_traits.h + third_party/libcxx/__memory/allocator_traits.h + third_party/libcxx/__memory/auto_ptr.h + third_party/libcxx/__memory/compressed_pair.h + third_party/libcxx/__memory/construct_at.h + third_party/libcxx/__memory/pointer_traits.h + third_party/libcxx/__memory/uninitialized_algorithms.h + third_party/libcxx/__memory/unique_ptr.h + third_party/libcxx/__type_traits/add_lvalue_reference.h + third_party/libcxx/__type_traits/conditional.h + third_party/libcxx/__type_traits/conjunction.h + third_party/libcxx/__type_traits/disjunction.h + third_party/libcxx/__type_traits/is_array.h + third_party/libcxx/__type_traits/is_bounded_array.h + third_party/libcxx/__type_traits/is_convertible.h + third_party/libcxx/__type_traits/is_move_constructible.h + third_party/libcxx/__type_traits/is_reference.h + third_party/libcxx/__type_traits/is_unbounded_array.h + third_party/libcxx/__type_traits/nat.h + third_party/libcxx/__type_traits/negation.h + third_party/libcxx/__type_traits/remove_extent.h + third_party/libcxx/__type_traits/remove_reference.h + third_party/libcxx/__utility/declval.h + third_party/libcxx/__utility/forward.h + third_party/libcxx/__utility/move.h + third_party/libcxx/__utility/swap.h + third_party/libcxx/__verbose_abort + third_party/libcxx/cstddef + third_party/libcxx/iosfwd + third_party/libcxx/new + third_party/libcxx/stdexcept + third_party/libcxx/typeinfo + third_party/libcxx/__atomic/memory_order.h + third_party/libcxx/__memory/temporary_buffer.h + third_party/libcxx/__memory/uninitialized_algorithms.h + third_party/libcxx/__memory/unique_ptr.h + third_party/libcxx/__memory/uses_allocator.h + third_party/libcxx/__memory/uses_allocator_construction.h + third_party/libcxx/__config + third_party/libcxx/__memory/construct_at.h + third_party/libcxx/__memory/uses_allocator.h + third_party/libcxx/__type_traits/enable_if.h + third_party/libcxx/__type_traits/is_same.h + third_party/libcxx/__type_traits/remove_cv.h + third_party/libcxx/__utility/declval.h + third_party/libcxx/__utility/pair.h + third_party/libcxx/tuple + third_party/libcxx/version + third_party/libcxx/compare + third_party/libcxx/atomic + third_party/libcxx/concepts + third_party/libcxx/cstddef + third_party/libcxx/cstdint + third_party/libcxx/cstdlib + third_party/libcxx/cstring + third_party/libcxx/iosfwd + third_party/libcxx/iterator + third_party/libcxx/new + third_party/libcxx/stdexcept + third_party/libcxx/tuple + third_party/libcxx/type_traits + third_party/libcxx/typeinfo + third_party/libcxx/utility + third_party/libcxx/stdexcept + third_party/libcxx/type_traits + third_party/libcxx/utility + third_party/libcxx/concepts + third_party/libcxx/cstdlib + third_party/libcxx/iterator + third_party/libcxx/type_traits + third_party/libcxx/version + third_party/libcxx/cwchar + third_party/libcxx/__iterator/access.h + third_party/libcxx/__iterator/data.h + third_party/libcxx/__iterator/empty.h + third_party/libcxx/__iterator/reverse_access.h + third_party/libcxx/__iterator/size.h + third_party/libcxx/compare + third_party/libcxx/initializer_list + third_party/libcxx/__undef_macros + third_party/libcxx/algorithm + third_party/libcxx/concepts + third_party/libcxx/cstdlib + third_party/libcxx/iterator + third_party/libcxx/new + third_party/libcxx/type_traits + third_party/libcxx/typeinfo + third_party/libcxx/utility ``` diff --git a/ctl/optional.h b/ctl/optional.h index fb30ae0e9..fd369f257 100644 --- a/ctl/optional.h +++ b/ctl/optional.h @@ -6,39 +6,41 @@ #include <__utility/move.h> #include <__utility/swap.h> +namespace ctl { + template -class Optional +class optional { public: using value_type = T; - ~Optional() = default; + ~optional() = default; - Optional() noexcept : present_(false) + optional() noexcept : present_(false) { } - Optional(const T& value) : present_(true), value_(value) + optional(const T& value) : present_(true), value_(value) { } - Optional(T&& value) : present_(true), value_(std::move(value)) + optional(T&& value) : present_(true), value_(std::move(value)) { } - Optional(const Optional& other) : present_(other.present_) + optional(const optional& other) : present_(other.present_) { if (present_) new (&value_) T(other.value_); } - Optional(Optional&& other) noexcept : present_(other.present_) + optional(optional&& other) noexcept : present_(other.present_) { if (present_) value_ = std::move(other.value_); } - Optional& operator=(const Optional& other) + optional& operator=(const optional& other) { if (this != &other) { present_ = other.present_; @@ -48,7 +50,7 @@ class Optional return *this; } - Optional& operator=(Optional&& other) noexcept + optional& operator=(optional&& other) noexcept { if (this != &other) { present_ = other.present_; @@ -104,7 +106,7 @@ class Optional value_ = T(std::forward(args)...); } - void swap(Optional& other) noexcept + void swap(optional& other) noexcept { if (present_ && other.present_) { std::swap(value_, other.value_); @@ -122,4 +124,6 @@ class Optional T value_; }; +} // namespace ctl + #endif // COSMOPOLITAN_CTL_OPTIONAL_H_ diff --git a/ctl/strcat.cc b/ctl/strcat.cc new file mode 100644 index 000000000..38509772b --- /dev/null +++ b/ctl/strcat.cc @@ -0,0 +1,44 @@ +// -*- mode:c++; indent-tabs-mode:nil; c-basic-offset:4; coding:utf-8 -*- +// vi: set et ft=c++ ts=4 sts=4 sw=4 fenc=utf-8 +// +// Copyright 2024 Justine Alexandra Roberts Tunney +// +// Permission to use, copy, modify, and/or distribute this software for +// any purpose with or without fee is hereby granted, provided that the +// above copyright notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL +// WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE +// AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL +// DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR +// PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +// TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +// PERFORMANCE OF THIS SOFTWARE. + +#include "string.h" + +#include +#include + +namespace ctl { + +string +strcat(const string_view lhs, const string_view rhs) noexcept +{ + string res; + size_t need; + if (ckd_add(&need, lhs.n, rhs.n)) + __builtin_trap(); + if (ckd_add(&need, need, 1)) + __builtin_trap(); + res.reserve(need); + if (lhs.n) + memcpy(res.p, lhs.p, lhs.n); + if (rhs.n) + memcpy(res.p + lhs.n, rhs.p, rhs.n); + res.p[res.n = lhs.n + rhs.n] = 0; + return res; +} + +} // namespace ctl diff --git a/ctl/strcmp.cc b/ctl/strcmp.cc new file mode 100644 index 000000000..9922c1666 --- /dev/null +++ b/ctl/strcmp.cc @@ -0,0 +1,43 @@ +// -*- mode:c++; indent-tabs-mode:nil; c-basic-offset:4; coding:utf-8 -*- +// vi: set et ft=c++ ts=4 sts=4 sw=4 fenc=utf-8 +// +// Copyright 2024 Justine Alexandra Roberts Tunney +// +// Permission to use, copy, modify, and/or distribute this software for +// any purpose with or without fee is hereby granted, provided that the +// above copyright notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL +// WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE +// AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL +// DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR +// PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +// TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +// PERFORMANCE OF THIS SOFTWARE. + +#include "string_view.h" + +#include + +namespace ctl { + +int +strcmp(const string_view lhs, const string_view rhs) noexcept +{ + int r; + size_t m = lhs.n; + if ((m = rhs.n < m ? rhs.n : m)) { + if (!m) + return 0; + if ((r = memcmp(lhs.p, rhs.p, m))) + return r; + } + if (lhs.n == rhs.n) + return 0; + if (m < lhs.n) + return +1; + return -1; +} + +} // namespace ctl diff --git a/ctl/string.cc b/ctl/string.cc index 6cc8d3509..a8dcda82f 100644 --- a/ctl/string.cc +++ b/ctl/string.cc @@ -21,7 +21,9 @@ #include <__atomic/fence.h> #include -String::~String() noexcept +namespace ctl { + +string::~string() noexcept { if (n) { if (n >= c) @@ -34,33 +36,33 @@ String::~String() noexcept free(p); } -String::String(const char* s) noexcept +string::string(const char* s) noexcept { append(s, strlen(s)); } -String::String(const String& s) noexcept +string::string(const string& s) noexcept { append(s.p, s.n); } -String::String(const StringView s) noexcept +string::string(const string_view s) noexcept { append(s.p, s.n); } -String::String(size_t size, char ch) noexcept +string::string(size_t size, char ch) noexcept { resize(size, ch); } -String::String(const char* s, size_t size) noexcept +string::string(const char* s, size_t size) noexcept { append(s, size); } const char* -String::c_str() const noexcept +string::c_str() const noexcept { if (!n) return ""; @@ -72,7 +74,7 @@ String::c_str() const noexcept } void -String::reserve(size_t c2) noexcept +string::reserve(size_t c2) noexcept { char* p2; if (c2 < n) @@ -88,7 +90,7 @@ String::reserve(size_t c2) noexcept } void -String::resize(size_t n2, char ch) noexcept +string::resize(size_t n2, char ch) noexcept { size_t c2; if (ckd_add(&c2, n2, 1)) @@ -100,7 +102,7 @@ String::resize(size_t n2, char ch) noexcept } void -String::append(char ch) noexcept +string::append(char ch) noexcept { if (n + 2 > c) { size_t c2 = c + 2; @@ -112,7 +114,7 @@ String::append(char ch) noexcept } void -String::grow(size_t size) noexcept +string::grow(size_t size) noexcept { size_t need; if (ckd_add(&need, n, size)) @@ -133,7 +135,7 @@ String::grow(size_t size) noexcept } void -String::append(char ch, size_t size) noexcept +string::append(char ch, size_t size) noexcept { grow(size); if (size) @@ -142,7 +144,7 @@ String::append(char ch, size_t size) noexcept } void -String::append(const void* data, size_t size) noexcept +string::append(const void* data, size_t size) noexcept { grow(size); if (size) @@ -151,76 +153,54 @@ String::append(const void* data, size_t size) noexcept } void -String::pop_back() noexcept +string::pop_back() noexcept { if (!n) __builtin_trap(); p[--n] = 0; } -String& -String::operator=(String&& s) noexcept +string& +string::operator=(string&& s) noexcept { if (p != s.p) { - free(p); - p = s.p; - n = s.n; - c = s.c; - s.p = nullptr; - s.n = 0; - s.c = 0; + if (p) { + clear(); + append(s.p, s.n); + } else { + p = s.p; + n = s.n; + c = s.c; + s.p = nullptr; + s.n = 0; + s.c = 0; + } } return *this; } -static String -StrCat(const StringView lhs, const StringView rhs) noexcept -{ - String res; - size_t need; - if (ckd_add(&need, lhs.n, rhs.n)) - __builtin_trap(); - if (ckd_add(&need, need, 1)) - __builtin_trap(); - res.reserve(need); - if (lhs.n) - memcpy(res.p, lhs.p, lhs.n); - if (rhs.n) - memcpy(res.p + lhs.n, rhs.p, rhs.n); - res.p[res.n = lhs.n + rhs.n] = 0; - return res; -} - -String -StringView::operator+(const StringView s) const noexcept -{ - return StrCat(*this, s); -} - -String -String::operator+(const StringView s) const noexcept -{ - return StrCat(*this, s); -} - bool -String::operator==(const StringView s) const noexcept +string::operator==(const string_view s) const noexcept { if (n != s.n) return false; + if (!n) + return true; return !memcmp(p, s.p, n); } bool -String::operator!=(const StringView s) const noexcept +string::operator!=(const string_view s) const noexcept { if (n != s.n) return true; + if (!n) + return false; return !!memcmp(p, s.p, n); } bool -String::contains(const StringView s) const noexcept +string::contains(const string_view s) const noexcept { if (!s.n) return true; @@ -228,44 +208,27 @@ String::contains(const StringView s) const noexcept } bool -String::ends_with(const StringView s) const noexcept +string::ends_with(const string_view s) const noexcept { if (n < s.n) return false; + if (!s.n) + return true; return !memcmp(p + n - s.n, s.p, s.n); } bool -String::starts_with(const StringView s) const noexcept +string::starts_with(const string_view s) const noexcept { if (n < s.n) return false; + if (!s.n) + return true; return !memcmp(p, s.p, s.n); } -static int -StrCmp(const StringView lhs, const StringView rhs) noexcept -{ - int r; - size_t m = lhs.n; - if ((m = rhs.n < m ? rhs.n : m)) - if ((r = memcmp(lhs.p, rhs.p, m))) - return r; - if (lhs.n == rhs.n) - return 0; - if (m < lhs.n) - return +1; - return -1; -} - -int -String::compare(const StringView s) const noexcept -{ - return StrCmp(*this, s); -} - size_t -String::find(char ch, size_t pos) const noexcept +string::find(char ch, size_t pos) const noexcept { char* q; if ((q = (char*)memchr(p, ch, n))) @@ -274,7 +237,7 @@ String::find(char ch, size_t pos) const noexcept } size_t -String::find(const StringView s, size_t pos) const noexcept +string::find(const string_view s, size_t pos) const noexcept { char* q; if (pos > n) @@ -284,8 +247,8 @@ String::find(const StringView s, size_t pos) const noexcept return npos; } -String -String::substr(size_t pos, size_t count) const noexcept +string +string::substr(size_t pos, size_t count) const noexcept { size_t last; if (pos > n) @@ -296,11 +259,11 @@ String::substr(size_t pos, size_t count) const noexcept last = n; if (last > n) __builtin_trap(); - return String(p + pos, count); + return string(p + pos, count); } -String& -String::replace(size_t pos, size_t count, const StringView& s) noexcept +string& +string::replace(size_t pos, size_t count, const string_view& s) noexcept { size_t last; if (ckd_add(&last, pos, count)) @@ -324,49 +287,8 @@ String::replace(size_t pos, size_t count, const StringView& s) noexcept return *this; } -int -StringView::compare(const StringView s) const noexcept -{ - return StrCmp(*this, s); -} - -size_t -StringView::find(char ch, size_t pos) const noexcept -{ - char* q; - if (n && (q = (char*)memchr(p, ch, n))) - return q - p; - return npos; -} - -size_t -StringView::find(const StringView s, size_t pos) const noexcept -{ - char* q; - if (pos > n) - __builtin_trap(); - if ((q = (char*)memmem(p + pos, n - pos, s.p, s.n))) - return q - p; - return npos; -} - -StringView -StringView::substr(size_t pos, size_t count) const noexcept -{ - size_t last; - if (pos > n) - __builtin_trap(); - if (count > n - pos) - count = n - pos; - if (ckd_add(&last, pos, count)) - last = n; - if (last > n) - __builtin_trap(); - return StringView(p + pos, count); -} - -String& -String::insert(size_t i, const StringView s) noexcept +string& +string::insert(size_t i, const string_view s) noexcept { if (i > n) __builtin_trap(); @@ -384,8 +306,8 @@ String::insert(size_t i, const StringView s) noexcept return *this; } -String& -String::erase(size_t pos, size_t count) noexcept +string& +string::erase(size_t pos, size_t count) noexcept { if (pos > n) __builtin_trap(); @@ -398,42 +320,4 @@ String::erase(size_t pos, size_t count) noexcept return *this; } -bool -StringView::operator==(const StringView s) const noexcept -{ - if (n == s.n) - return true; - return !memcmp(p, s.p, n); -} - -bool -StringView::operator!=(const StringView s) const noexcept -{ - if (n != s.n) - return true; - return !!memcmp(p, s.p, n); -} - -bool -StringView::contains(const StringView s) const noexcept -{ - if (!s.n) - return true; - return !!memmem(p, n, s.p, s.n); -} - -bool -StringView::ends_with(const StringView s) const noexcept -{ - if (n < s.n) - return false; - return !memcmp(p + n - s.n, s.p, s.n); -} - -bool -StringView::starts_with(const StringView s) const noexcept -{ - if (n < s.n) - return false; - return !memcmp(p, s.p, s.n); -} +} // namespace ctl diff --git a/ctl/string.h b/ctl/string.h index 5630367c2..d3f358cf3 100644 --- a/ctl/string.h +++ b/ctl/string.h @@ -2,111 +2,16 @@ // vi: set et ft=c++ ts=4 sts=4 sw=4 fenc=utf-8 :vi #ifndef COSMOPOLITAN_CTL_STRING_H_ #define COSMOPOLITAN_CTL_STRING_H_ +#include "string_view.h" -struct String; +namespace ctl { -struct StringView -{ - const char* p; - size_t n; +struct string; - static constexpr size_t npos = -1; +string +strcat(const string_view, const string_view) noexcept __wur; - constexpr StringView(const char* s) noexcept - : p(s), n(s ? __builtin_strlen(s) : 0) - { - } - - constexpr StringView(const char* s, size_t n) noexcept : p(s), n(n) - { - } - - inline constexpr ~StringView() noexcept - { - } - - int compare(const StringView) const noexcept; - bool operator==(const StringView) const noexcept; - bool operator!=(const StringView) const noexcept; - bool contains(const StringView) const noexcept; - String operator+(const StringView) const noexcept; - bool ends_with(const StringView) const noexcept; - bool starts_with(const StringView) const noexcept; - StringView substr(size_t = 0, size_t = npos) const noexcept; - size_t find(char, size_t = 0) const noexcept; - size_t find(const StringView, size_t = 0) const noexcept; - - constexpr StringView& operator=(const StringView& s) noexcept - { - p = s.p; - n = s.n; - return *this; - } - - constexpr bool empty() const noexcept - { - return !n; - } - - constexpr const char* data() const noexcept - { - return p; - } - - constexpr size_t size() const noexcept - { - return n; - } - - constexpr size_t length() const noexcept - { - return n; - } - - constexpr const char& operator[](size_t i) const noexcept - { - if (i >= n) - __builtin_trap(); - return p[i]; - } - - constexpr void remove_prefix(size_t count) - { - if (count > n) - __builtin_trap(); - p += count; - n -= count; - } - - constexpr void remove_suffix(size_t count) - { - if (count > n) - __builtin_trap(); - n -= count; - } - - bool operator<(const StringView& s) const noexcept - { - return compare(s) < 0; - } - - bool operator<=(const StringView& s) const noexcept - { - return compare(s) <= 0; - } - - bool operator>(const StringView& s) const noexcept - { - return compare(s) > 0; - } - - bool operator>=(const StringView& s) const noexcept - { - return compare(s) >= 0; - } -}; - -struct String +struct string { char* p = nullptr; size_t n = 0; @@ -116,14 +21,14 @@ struct String using const_iterator = const char*; static constexpr size_t npos = -1; - ~String() noexcept; - String() = default; - String(const StringView) noexcept; - String(const char*) noexcept; - String(const String&) noexcept; - String(const char*, size_t) noexcept; - explicit String(size_t, char = 0) noexcept; - String& operator=(String&&) noexcept; + ~string() noexcept; + string() = default; + string(const string_view) noexcept; + string(const char*) noexcept; + string(const string&) noexcept; + string(const char*, size_t) noexcept; + explicit string(size_t, char = 0) noexcept; + string& operator=(string&&) noexcept; const char* c_str() const noexcept; void pop_back() noexcept; @@ -134,21 +39,19 @@ struct String void append(char, size_t) noexcept; void append(unsigned long) noexcept; void append(const void*, size_t) noexcept; - String& insert(size_t, const StringView) noexcept; - String& erase(size_t = 0, size_t = npos) noexcept; - String operator+(const StringView) const noexcept; - String substr(size_t = 0, size_t = npos) const noexcept; - String& replace(size_t, size_t, const StringView&) noexcept; - bool operator==(const StringView) const noexcept; - bool operator!=(const StringView) const noexcept; - bool contains(const StringView) const noexcept; - bool ends_with(const StringView) const noexcept; - bool starts_with(const StringView) const noexcept; - int compare(const StringView) const noexcept; + string& insert(size_t, const string_view) noexcept; + string& erase(size_t = 0, size_t = npos) noexcept; + string substr(size_t = 0, size_t = npos) const noexcept; + string& replace(size_t, size_t, const string_view&) noexcept; + bool operator==(const string_view) const noexcept; + bool operator!=(const string_view) const noexcept; + bool contains(const string_view) const noexcept; + bool ends_with(const string_view) const noexcept; + bool starts_with(const string_view) const noexcept; size_t find(char, size_t = 0) const noexcept; - size_t find(const StringView, size_t = 0) const noexcept; + size_t find(const string_view, size_t = 0) const noexcept; - String(String&& s) noexcept : p(s.p), n(s.n), c(s.c) + string(string&& s) noexcept : p(s.p), n(s.n), c(s.c) { s.p = nullptr; s.n = 0; @@ -252,69 +155,82 @@ struct String append(ch); } - void append(const StringView s) noexcept + void append(const string_view s) noexcept { append(s.p, s.n); } - inline constexpr operator StringView() const noexcept + inline constexpr operator string_view() const noexcept { - return StringView(p, n); + return string_view(p, n); } - String& operator=(const char* s) noexcept + string& operator=(const char* s) noexcept { clear(); append(s); return *this; } - String& operator=(const StringView s) noexcept + string& operator=(const string_view s) noexcept { clear(); append(s); return *this; } - String& operator+=(char x) noexcept + string& operator+=(char x) noexcept { append(x); return *this; } - String& operator+=(const StringView s) noexcept + string& operator+=(const string_view s) noexcept { append(s); return *this; } - bool operator<(const StringView s) const noexcept + string operator+(const string_view s) const noexcept + { + return strcat(*this, s); + } + + int compare(const string_view s) const noexcept + { + return strcmp(*this, s); + } + + bool operator<(const string_view s) const noexcept { return compare(s) < 0; } - bool operator<=(const StringView s) const noexcept + bool operator<=(const string_view s) const noexcept { return compare(s) <= 0; } - bool operator>(const StringView s) const noexcept + bool operator>(const string_view s) const noexcept { return compare(s) > 0; } - bool operator>=(const StringView s) const noexcept + bool operator>=(const string_view s) const noexcept { return compare(s) >= 0; } }; -#pragma GCC diagnostic ignored "-Wliteral-suffix" +} // namespace ctl -inline String +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wliteral-suffix" +inline ctl::string operator"" s(const char* s, size_t n) { - return String(s, n); + return ctl::string(s, n); } +#pragma GCC diagnostic pop #endif // COSMOPOLITAN_CTL_STRING_H_ diff --git a/ctl/string_view.cc b/ctl/string_view.cc new file mode 100644 index 000000000..006dc0e9a --- /dev/null +++ b/ctl/string_view.cc @@ -0,0 +1,111 @@ +// -*- mode:c++; indent-tabs-mode:nil; c-basic-offset:4; coding:utf-8 -*- +// vi: set et ft=c++ ts=4 sts=4 sw=4 fenc=utf-8 +// +// Copyright 2024 Justine Alexandra Roberts Tunney +// +// Permission to use, copy, modify, and/or distribute this software for +// any purpose with or without fee is hereby granted, provided that the +// above copyright notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL +// WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE +// AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL +// DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR +// PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +// TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +// PERFORMANCE OF THIS SOFTWARE. + +#include "string_view.h" + +#include +#include + +#include "string.h" + +namespace ctl { + +size_t +string_view::find(char ch, size_t pos) const noexcept +{ + char* q; + if (n && (q = (char*)memchr(p, ch, n))) + return q - p; + return npos; +} + +size_t +string_view::find(const string_view s, size_t pos) const noexcept +{ + char* q; + if (pos > n) + __builtin_trap(); + if ((q = (char*)memmem(p + pos, n - pos, s.p, s.n))) + return q - p; + return npos; +} + +string_view +string_view::substr(size_t pos, size_t count) const noexcept +{ + size_t last; + if (pos > n) + __builtin_trap(); + if (count > n - pos) + count = n - pos; + if (ckd_add(&last, pos, count)) + last = n; + if (last > n) + __builtin_trap(); + return string_view(p + pos, count); +} + +bool +string_view::operator==(const string_view s) const noexcept +{ + if (n != s.n) + return false; + if (!n) + return true; + return !memcmp(p, s.p, n); +} + +bool +string_view::operator!=(const string_view s) const noexcept +{ + if (n != s.n) + return true; + if (!n) + return false; + return !!memcmp(p, s.p, n); +} + +bool +string_view::contains(const string_view s) const noexcept +{ + if (!s.n) + return true; + return !!memmem(p, n, s.p, s.n); +} + +bool +string_view::ends_with(const string_view s) const noexcept +{ + if (n < s.n) + return false; + if (!s.n) + return true; + return !memcmp(p + n - s.n, s.p, s.n); +} + +bool +string_view::starts_with(const string_view s) const noexcept +{ + if (n < s.n) + return false; + if (!s.n) + return true; + return !memcmp(p, s.p, s.n); +} + +} // namespace ctl diff --git a/ctl/string_view.h b/ctl/string_view.h new file mode 100644 index 000000000..d61f13ac4 --- /dev/null +++ b/ctl/string_view.h @@ -0,0 +1,159 @@ +// -*-mode:c++;indent-tabs-mode:nil;c-basic-offset:4;tab-width:8;coding:utf-8-*- +// vi: set et ft=c++ ts=4 sts=4 sw=4 fenc=utf-8 :vi +#ifndef COSMOPOLITAN_CTL_STRINGVIEW_H_ +#define COSMOPOLITAN_CTL_STRINGVIEW_H_ + +namespace ctl { + +struct string_view; + +int +strcmp(const string_view, const string_view) noexcept; + +struct string_view +{ + const char* p; + size_t n; + + using iterator = const char*; + using const_iterator = const char*; + static constexpr size_t npos = -1; + + constexpr string_view() noexcept : p(nullptr), n(0) + { + } + + constexpr string_view(const char* s) noexcept + : p(s), n(s ? __builtin_strlen(s) : 0) + { + } + + constexpr string_view(const char* s, size_t n) noexcept : p(s), n(n) + { + } + + inline constexpr ~string_view() noexcept + { + } + + bool operator==(const string_view) const noexcept; + bool operator!=(const string_view) const noexcept; + bool contains(const string_view) const noexcept; + bool ends_with(const string_view) const noexcept; + bool starts_with(const string_view) const noexcept; + string_view substr(size_t = 0, size_t = npos) const noexcept; + size_t find(char, size_t = 0) const noexcept; + size_t find(const string_view, size_t = 0) const noexcept; + + constexpr string_view& operator=(const string_view& s) noexcept + { + p = s.p; + n = s.n; + return *this; + } + + constexpr bool empty() const noexcept + { + return !n; + } + + constexpr const char* data() const noexcept + { + return p; + } + + constexpr size_t size() const noexcept + { + return n; + } + + constexpr size_t length() const noexcept + { + return n; + } + + constexpr const char& operator[](size_t i) const noexcept + { + if (i >= n) + __builtin_trap(); + return p[i]; + } + + constexpr void remove_prefix(size_t count) + { + if (count > n) + __builtin_trap(); + p += count; + n -= count; + } + + constexpr void remove_suffix(size_t count) + { + if (count > n) + __builtin_trap(); + n -= count; + } + + constexpr const char& front() const + { + if (!n) + __builtin_trap(); + return p[0]; + } + + constexpr const char& back() const + { + if (!n) + __builtin_trap(); + return p[n - 1]; + } + + constexpr const_iterator begin() noexcept + { + return p; + } + + constexpr const_iterator end() noexcept + { + return p + n; + } + + constexpr const_iterator cbegin() const noexcept + { + return p; + } + + constexpr const_iterator cend() const noexcept + { + return p + n; + } + + int compare(const string_view s) const noexcept + { + return strcmp(*this, s); + } + + bool operator<(const string_view& s) const noexcept + { + return compare(s) < 0; + } + + bool operator<=(const string_view& s) const noexcept + { + return compare(s) <= 0; + } + + bool operator>(const string_view& s) const noexcept + { + return compare(s) > 0; + } + + bool operator>=(const string_view& s) const noexcept + { + return compare(s) >= 0; + } +}; + +} // namespace ctl + +#endif // COSMOPOLITAN_CTL_STRINGVIEW_H_ diff --git a/ctl/vector.h b/ctl/vector.h index d0ed97ffe..99053e25c 100644 --- a/ctl/vector.h +++ b/ctl/vector.h @@ -6,8 +6,10 @@ #include <__utility/move.h> #include <__utility/swap.h> +namespace ctl { + template -struct Vector +struct vector { size_t n = 0; size_t c = 0; @@ -16,14 +18,14 @@ struct Vector using iterator = T*; using const_iterator = const T*; - Vector() = default; + vector() = default; - ~Vector() + ~vector() { delete[] p; } - Vector(const Vector& other) + vector(const vector& other) { n = other.n; c = other.c; @@ -32,7 +34,7 @@ struct Vector new (&p[i]) T(other.p[i]); } - Vector(Vector&& other) noexcept + vector(vector&& other) noexcept { n = other.n; c = other.c; @@ -42,7 +44,7 @@ struct Vector other.p = nullptr; } - explicit Vector(size_t count, const T& value = T()) + explicit vector(size_t count, const T& value = T()) { n = count; c = count; @@ -51,7 +53,7 @@ struct Vector new (&p[i]) T(value); } - Vector& operator=(const Vector& other) + vector& operator=(const vector& other) { if (this != &other) { T* newData = new T[other.c]; @@ -66,7 +68,7 @@ struct Vector return *this; } - Vector& operator=(Vector&& other) noexcept + vector& operator=(vector&& other) noexcept { if (this != &other) { delete[] p; @@ -231,7 +233,7 @@ struct Vector n = n2; } - void swap(Vector& other) noexcept + void swap(vector& other) noexcept { std::swap(n, other.n); std::swap(c, other.c); @@ -239,4 +241,6 @@ struct Vector } }; +} // namespace ctl + #endif // COSMOPOLITAN_CTL_OPTIONAL_H_ diff --git a/examples/greenbean.c b/examples/greenbean.c index 7d8174d90..7bace793c 100644 --- a/examples/greenbean.c +++ b/examples/greenbean.c @@ -151,7 +151,7 @@ void *Worker(void *id) { // check that client message wasn't fragmented into more reads InitHttpMessage(&msg, kHttpRequest); - if ((inmsglen = ParseHttpMessage(&msg, buf, got)) <= 0) { + if ((inmsglen = ParseHttpMessage(&msg, buf, got, sizeof(buf))) <= 0) { if (!inmsglen) { LOG("%6H client sent fragmented message"); } else { diff --git a/libc/intrin/demangle.c b/libc/intrin/demangle.c index 6d31ae8bb..ad21c1eb1 100644 --- a/libc/intrin/demangle.c +++ b/libc/intrin/demangle.c @@ -382,8 +382,9 @@ demangle_free(struct demangle_data *h, void *ptr) static privileged returnspointerwithnoaliases returnsnonnull void * demangle_malloc(struct demangle_data *h, int a, int n) { + int rem; uintptr_t ptr; - int rem, next, next2; + index_t next, next2; index_t *link, *link2; int b = sizeof(index_t); @@ -417,10 +418,12 @@ demangle_malloc(struct demangle_data *h, int a, int n) } /* Allocate new memory. */ + rem = h->hoff; h->hoff -= n; h->hoff &= -a; h->hoff &= -b; - if (h->hoff > b) { + if (h->hoff >= (b << 1)) { + n = rem - h->hoff; ptr = h->heap + h->hoff; h->hoff -= b; ((index_t *)ptr)[-1] = n; @@ -430,7 +433,7 @@ demangle_malloc(struct demangle_data *h, int a, int n) } } -static privileged char * +static privileged returnspointerwithnoaliases char * demangle_strdup(struct demangle_data *h, const char *s) { char *d = 0; @@ -728,7 +731,7 @@ demangle_vector_str_push_vector(struct demangle_data *ddata, * If r_len is not NULL, string length will be returned. * @return NULL at failed or NUL terminated new allocated string. */ -static privileged char * +static privileged returnspointerwithnoaliases char * demangle_vector_str_substr(struct demangle_data *ddata, const struct vector_str *v, size_t begin, size_t end, size_t *r_len) { @@ -1280,7 +1283,7 @@ hex_to_dec(char c) * Todo * Replace these functions to macro. */ -static privileged char * +static privileged returnspointerwithnoaliases char * decode_fp_to_double(struct demangle_data *ddata, const char *p, size_t len) { double f; @@ -1324,7 +1327,7 @@ again: return rtn; } -static privileged char * +static privileged returnspointerwithnoaliases char * decode_fp_to_float(struct demangle_data *ddata, const char *p, size_t len) { size_t i, rtn_len, limit; @@ -1366,7 +1369,7 @@ again: return rtn; } -static privileged char * +static privileged returnspointerwithnoaliases char * decode_fp_to_long_double(struct demangle_data *ddata, const char *p, size_t len) { long double f; @@ -1410,7 +1413,7 @@ again: return rtn; } -static privileged char * +static privileged returnspointerwithnoaliases char * decode_fp_to_float128(struct demangle_data *ddata, const char *p, size_t len) { long double f; @@ -1467,7 +1470,7 @@ decode_fp_to_float128(struct demangle_data *ddata, const char *p, size_t len) } } -static privileged char * +static privileged returnspointerwithnoaliases char * decode_fp_to_float80(struct demangle_data *ddata, const char *p, size_t len) { long double f; diff --git a/net/http/http.h b/net/http/http.h index bb5bcb05b..c1dbbb13b 100644 --- a/net/http/http.h +++ b/net/http/http.h @@ -185,7 +185,9 @@ const char *GetHttpHeaderName(int) libcesque; int GetHttpHeader(const char *, size_t) libcesque; void InitHttpMessage(struct HttpMessage *, int) libcesque; void DestroyHttpMessage(struct HttpMessage *) libcesque; -int ParseHttpMessage(struct HttpMessage *, const char *, size_t) libcesque; +void ResetHttpMessage(struct HttpMessage *, int) libcesque; +int ParseHttpMessage(struct HttpMessage *, const char *, size_t, + size_t) libcesque; bool HeaderHas(struct HttpMessage *, const char *, int, const char *, size_t) libcesque; int64_t ParseContentLength(const char *, size_t) libcesque; diff --git a/net/http/parsecontentlength.c b/net/http/parsecontentlength.c index 47856e4cd..3755e63ff 100644 --- a/net/http/parsecontentlength.c +++ b/net/http/parsecontentlength.c @@ -16,11 +16,10 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ +#include "libc/stdckdint.h" #include "libc/str/str.h" #include "net/http/http.h" -#define MAXIMUM (1024L * 1024L * 1024L * 1024L) - /** * Parses Content-Length header. * @@ -41,7 +40,7 @@ int64_t ParseContentLength(const char *s, size_t n) { return -1; r *= 10; r += s[i] - '0'; - if (r >= MAXIMUM) + if (r > 0x000000ffffffffff) return -1; } return r; diff --git a/net/http/parsehttpmessage.c b/net/http/parsehttpmessage.c index 47f3483f4..91ef243b7 100644 --- a/net/http/parsehttpmessage.c +++ b/net/http/parsehttpmessage.c @@ -18,7 +18,6 @@ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" #include "libc/limits.h" -#include "libc/macros.internal.h" #include "libc/mem/alg.h" #include "libc/mem/arraylist.internal.h" #include "libc/mem/mem.h" @@ -30,8 +29,6 @@ #include "libc/x/x.h" #include "net/http/http.h" -#define LIMIT (SHRT_MAX - 2) - /** * Initializes HTTP message parser. */ @@ -52,6 +49,24 @@ void DestroyHttpMessage(struct HttpMessage *r) { } } +/** + * Resets http message parser state, so it can be re-used. + * + * This function amortizes the cost of malloc() in threads that process + * multiple messages in a loop. + * + * @param r is assumed to have been passed to `InitHttpMessage` earlier + */ +void ResetHttpMessage(struct HttpMessage *r, int type) { + unassert(type == kHttpRequest || type == kHttpResponse); + unsigned c = r->xheaders.c; + struct HttpHeader *p = r->xheaders.p; + bzero(r, sizeof(*r)); + r->xheaders.c = c; + r->xheaders.p = p; + r->type = type; +} + /** * Parses HTTP request or response. * @@ -81,23 +96,31 @@ void DestroyHttpMessage(struct HttpMessage *r) { * HTTP request under MODE=rel on a Core i9 which is about three cycles * per byte or a gigabyte per second of throughput per core. * - * @note we assume p points to a buffer that has >=SHRT_MAX bytes + * @param p needs to have at least `c` bytes available + * @param n is how many bytes have been received off the network so far + * @param c is the capacity of `p` buffer; beyond `SHRT_MAX` is ignored + * @return bytes on success, -1 on failure, 0 if more data must be read + * @note messages can't exceed 2**15 bytes * @see HTTP/1.1 RFC2616 RFC2068 * @see HTTP/1.0 RFC1945 */ -int ParseHttpMessage(struct HttpMessage *r, const char *p, size_t n) { - int c, h, i; - for (n = MIN(n, LIMIT); r->i < n; ++r->i) { - c = p[r->i] & 0xff; +int ParseHttpMessage(struct HttpMessage *r, const char *p, size_t n, size_t c) { + int h, i, ch; + if (n > c) + return einval(); + n = n > SHRT_MAX ? SHRT_MAX : n; + c = c > SHRT_MAX ? SHRT_MAX : c; + for (; r->i < n; ++r->i) { + ch = p[r->i] & 255; switch (r->t) { case kHttpStateStart: - if (c == '\r' || c == '\n') + if (ch == '\r' || ch == '\n') break; // RFC7230 § 3.5 - if (!kHttpToken[c]) + if (!kHttpToken[ch]) return ebadmsg(); if (r->type == kHttpRequest) { r->t = kHttpStateMethod; - r->method = kToUpper[c]; + r->method = kToUpper[ch]; r->a = 8; } else { r->t = kHttpStateVersion; @@ -106,52 +129,52 @@ int ParseHttpMessage(struct HttpMessage *r, const char *p, size_t n) { break; case kHttpStateMethod: for (;;) { - if (c == ' ') { + if (ch == ' ') { r->a = r->i + 1; r->t = kHttpStateUri; break; - } else if (r->a == 64 || !kHttpToken[c]) { + } else if (r->a == 64 || !kHttpToken[ch]) { return ebadmsg(); } - c = kToUpper[c]; - r->method |= (uint64_t)c << r->a; + ch = kToUpper[ch]; + r->method |= (uint64_t)ch << r->a; r->a += 8; if (++r->i == n) break; - c = p[r->i] & 0xff; + ch = p[r->i] & 255; } break; case kHttpStateUri: for (;;) { - if (c == ' ' || c == '\r' || c == '\n') { + if (ch == ' ' || ch == '\r' || ch == '\n') { if (r->i == r->a) return ebadmsg(); r->uri.a = r->a; r->uri.b = r->i; - if (c == ' ') { + if (ch == ' ') { r->a = r->i + 1; r->t = kHttpStateVersion; } else { r->version = 9; - r->t = c == '\r' ? kHttpStateCr : kHttpStateLf1; + r->t = ch == '\r' ? kHttpStateCr : kHttpStateLf1; } break; - } else if (c < 0x20 || (0x7F <= c && c < 0xA0)) { + } else if (ch < 0x20 || (0x7F <= ch && ch < 0xA0)) { return ebadmsg(); } if (++r->i == n) break; - c = p[r->i] & 0xff; + ch = p[r->i] & 255; } break; case kHttpStateVersion: - if (c == ' ' || c == '\r' || c == '\n') { + if (ch == ' ' || ch == '\r' || ch == '\n') { if (r->i - r->a == 8 && (READ64BE(p + r->a) & 0xFFFFFFFFFF00FF00) == 0x485454502F002E00 && isdigit(p[r->a + 5]) && isdigit(p[r->a + 7])) { r->version = (p[r->a + 5] - '0') * 10 + (p[r->a + 7] - '0'); if (r->type == kHttpRequest) { - r->t = c == '\r' ? kHttpStateCr : kHttpStateLf1; + r->t = ch == '\r' ? kHttpStateCr : kHttpStateLf1; } else { r->t = kHttpStateStatus; } @@ -162,19 +185,19 @@ int ParseHttpMessage(struct HttpMessage *r, const char *p, size_t n) { break; case kHttpStateStatus: for (;;) { - if (c == ' ' || c == '\r' || c == '\n') { + if (ch == ' ' || ch == '\r' || ch == '\n') { if (r->status < 100) return ebadmsg(); - if (c == ' ') { + if (ch == ' ') { r->a = r->i + 1; r->t = kHttpStateMessage; } else { - r->t = c == '\r' ? kHttpStateCr : kHttpStateLf1; + r->t = ch == '\r' ? kHttpStateCr : kHttpStateLf1; } break; - } else if ('0' <= c && c <= '9') { + } else if ('0' <= ch && ch <= '9') { r->status *= 10; - r->status += c - '0'; + r->status += ch - '0'; if (r->status > 999) return ebadmsg(); } else { @@ -182,36 +205,36 @@ int ParseHttpMessage(struct HttpMessage *r, const char *p, size_t n) { } if (++r->i == n) break; - c = p[r->i] & 0xff; + ch = p[r->i] & 255; } break; case kHttpStateMessage: for (;;) { - if (c == '\r' || c == '\n') { + if (ch == '\r' || ch == '\n') { r->message.a = r->a; r->message.b = r->i; - r->t = c == '\r' ? kHttpStateCr : kHttpStateLf1; + r->t = ch == '\r' ? kHttpStateCr : kHttpStateLf1; break; - } else if (c < 0x20 || (0x7F <= c && c < 0xA0)) { + } else if (ch < 0x20 || (0x7F <= ch && ch < 0xA0)) { return ebadmsg(); } if (++r->i == n) break; - c = p[r->i] & 0xff; + ch = p[r->i] & 255; } break; case kHttpStateCr: - if (c != '\n') + if (ch != '\n') return ebadmsg(); r->t = kHttpStateLf1; break; case kHttpStateLf1: - if (c == '\r') { + if (ch == '\r') { r->t = kHttpStateLf2; break; - } else if (c == '\n') { + } else if (ch == '\n') { return ++r->i; - } else if (!kHttpToken[c]) { + } else if (!kHttpToken[ch]) { // 1. Forbid empty header name (RFC2616 §2.2) // 2. Forbid line folding (RFC7230 §3.2.4) return ebadmsg(); @@ -221,27 +244,27 @@ int ParseHttpMessage(struct HttpMessage *r, const char *p, size_t n) { break; case kHttpStateName: for (;;) { - if (c == ':') { + if (ch == ':') { r->k.b = r->i; r->t = kHttpStateColon; break; - } else if (!kHttpToken[c]) { + } else if (!kHttpToken[ch]) { return ebadmsg(); } if (++r->i == n) break; - c = p[r->i] & 0xff; + ch = p[r->i] & 255; } break; case kHttpStateColon: - if (c == ' ' || c == '\t') + if (ch == ' ' || ch == '\t') break; r->a = r->i; r->t = kHttpStateValue; // fallthrough case kHttpStateValue: for (;;) { - if (c == '\r' || c == '\n') { + if (ch == '\r' || ch == '\n') { i = r->i; while (i > r->a && (p[i - 1] == ' ' || p[i - 1] == '\t')) --i; @@ -273,18 +296,18 @@ int ParseHttpMessage(struct HttpMessage *r, const char *p, size_t n) { ++r->xheaders.n; } } - r->t = c == '\r' ? kHttpStateCr : kHttpStateLf1; + r->t = ch == '\r' ? kHttpStateCr : kHttpStateLf1; break; - } else if ((c < 0x20 && c != '\t') || (0x7F <= c && c < 0xA0)) { + } else if ((ch < 0x20 && ch != '\t') || (0x7F <= ch && ch < 0xA0)) { return ebadmsg(); } if (++r->i == n) break; - c = p[r->i] & 0xff; + ch = p[r->i] & 255; } break; case kHttpStateLf2: - if (c == '\n') { + if (ch == '\n') { return ++r->i; } return ebadmsg(); @@ -292,9 +315,7 @@ int ParseHttpMessage(struct HttpMessage *r, const char *p, size_t n) { __builtin_unreachable(); } } - if (r->i < LIMIT) { + if (r->i < c) return 0; - } else { - return ebadmsg(); - } + return ebadmsg(); } diff --git a/net/turfwar/turfwar.c b/net/turfwar/turfwar.c index 9c43f4e92..fd76dcfa8 100644 --- a/net/turfwar/turfwar.c +++ b/net/turfwar/turfwar.c @@ -879,7 +879,7 @@ void *HttpWorker(void *arg) { // parse http message // we're only doing one-shot parsing right now - if ((inmsglen = ParseHttpMessage(msg, inbuf, got)) <= 0) { + if ((inmsglen = ParseHttpMessage(msg, inbuf, got, INBUF_SIZE)) <= 0) { ++g_parsefails; break; } diff --git a/test/ctl/optional_test.cc b/test/ctl/optional_test.cc index 96247581d..17ba2c99d 100644 --- a/test/ctl/optional_test.cc +++ b/test/ctl/optional_test.cc @@ -1,19 +1,20 @@ -// -*- mode:c++;indent-tabs-mode:nil;c-basic-offset:4;coding:utf-8 -*- -// vi: set et ft=cpp ts=4 sts=4 sw=4 fenc=utf-8 :vi +// -*- mode:c++; indent-tabs-mode:nil; c-basic-offset:4; coding:utf-8 -*- +// vi: set et ft=c++ ts=4 sts=4 sw=4 fenc=utf-8 // -// Copyright 2024 Mozilla Foundation +// Copyright 2024 Justine Alexandra Roberts Tunney // -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at +// Permission to use, copy, modify, and/or distribute this software for +// any purpose with or without fee is hereby granted, provided that the +// above copyright notice and this permission notice appear in all copies. // -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. +// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL +// WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE +// AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL +// DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR +// PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +// TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +// PERFORMANCE OF THIS SOFTWARE. #include "ctl/optional.h" @@ -21,12 +22,16 @@ #include "ctl/string.h" +// #include +// #include +// #define ctl std + int main() { { - Optional x; + ctl::optional x; if (x) return 1; if (x.has_value()) @@ -34,7 +39,7 @@ main() } { - Optional x(42); + ctl::optional x(42); if (!x) return 3; if (!x.has_value()) @@ -44,8 +49,8 @@ main() } { - Optional x("hello"); - Optional y(x); + ctl::optional x("hello"); + ctl::optional y(x); if (!y) return 6; if (!y.has_value()) @@ -55,8 +60,8 @@ main() } { - Optional x("world"); - Optional y(std::move(x)); + ctl::optional x("world"); + ctl::optional y(std::move(x)); if (!y) return 9; if (!y.has_value()) @@ -66,8 +71,8 @@ main() } { - Optional x(42); - Optional y; + ctl::optional x(42); + ctl::optional y; y = x; if (!y) return 13; @@ -78,8 +83,8 @@ main() } { - Optional x("hello"); - Optional y; + ctl::optional x("hello"); + ctl::optional y; y = std::move(x); if (!y) return 16; @@ -90,7 +95,7 @@ main() } { - Optional x(42); + ctl::optional x(42); x.reset(); if (x) return 20; @@ -99,7 +104,7 @@ main() } { - Optional x; + ctl::optional x; x.emplace("hello"); if (!x) return 22; diff --git a/test/ctl/string_test.cc b/test/ctl/string_test.cc index 3de4ebd79..cf63c2e07 100644 --- a/test/ctl/string_test.cc +++ b/test/ctl/string_test.cc @@ -24,14 +24,14 @@ #include "libc/str/str.h" // #include -// #define String std::string +// #define ctl std int -main(int argc, char* argv[]) +main() { { - String s; + ctl::string s; s += 'h'; s += 'i'; if (s != "hi") @@ -39,7 +39,7 @@ main(int argc, char* argv[]) } { - String s; + ctl::string s; if (!s.empty()) return 6; s.reserve(32); @@ -55,7 +55,7 @@ main(int argc, char* argv[]) } { - String s; + ctl::string s; s += "hello world how are you"; s.reserve(3); if (s != "hello world how are you") @@ -63,7 +63,7 @@ main(int argc, char* argv[]) } { - String s(4, 'x'); + ctl::string s(4, 'x'); if (s != "xxxx") return 12; s.resize(3); @@ -75,42 +75,42 @@ main(int argc, char* argv[]) } { - String a = "a"; - String b = "a"; + ctl::string a = "a"; + ctl::string b = "a"; if (a.compare(b) != 0) return 17; } { - String a = "a"; - String b = "b"; + ctl::string a = "a"; + ctl::string b = "b"; if (a.compare(b) >= 0) return 18; } { - String a = "a"; - String b = "ab"; + ctl::string a = "a"; + ctl::string b = "ab"; if (a.compare(b) >= 0) return 19; } { - String a = "ab"; - String b = "a"; + ctl::string a = "ab"; + ctl::string b = "a"; if (a.compare(b) <= 0) return 20; } { - String a = ""; - String b = ""; + ctl::string a = ""; + ctl::string b = ""; if (a.compare(b) != 0) return 21; } { - String a = "fooBARbaz"; + ctl::string a = "fooBARbaz"; if (a.substr(3, 3) != "BAR") return 22; if (a.replace(3, 3, "MOO") != "fooMOObaz") @@ -118,7 +118,7 @@ main(int argc, char* argv[]) } { - String a = "fooBAR"; + ctl::string a = "fooBAR"; if (a.substr(3, 3) != "BAR") return 24; if (a.replace(3, 3, "MOO") != "fooMOO") @@ -126,7 +126,7 @@ main(int argc, char* argv[]) } { - String a = "fooBAR"; + ctl::string a = "fooBAR"; if (a.substr(1, 0) != "") return 26; if (a.replace(1, 0, "MOO") != "fMOOooBAR") @@ -142,15 +142,15 @@ main(int argc, char* argv[]) } { - String s1 = "hello"; - String s2 = "world"; - String s3 = s1 + " " + s2; + ctl::string s1 = "hello"; + ctl::string s2 = "world"; + ctl::string s3 = s1 + " " + s2; if (s3 != "hello world") return 32; } { - String s = "hello"; + ctl::string s = "hello"; if (s.size() != 5) return 33; if (s.length() != 5) @@ -160,7 +160,7 @@ main(int argc, char* argv[]) } { - String s = "hello"; + ctl::string s = "hello"; if (s[0] != 'h' || s[1] != 'e' || s[2] != 'l' || s[3] != 'l' || s[4] != 'o') return 36; @@ -170,17 +170,17 @@ main(int argc, char* argv[]) } { - String s = "hello"; + ctl::string s = "hello"; if (s.find('e') != 1) return 38; if (s.find('l') != 2) return 39; - if (s.find('x') != String::npos) + if (s.find('x') != ctl::string::npos) return 40; } { - String s = "hello"; + ctl::string s = "hello"; if (!s.ends_with("lo")) return 41; if (s.ends_with("el")) @@ -188,8 +188,8 @@ main(int argc, char* argv[]) } { - String s = "hello"; - String sub = s.substr(1, 3); + ctl::string s = "hello"; + ctl::string sub = s.substr(1, 3); if (sub != "ell") return 43; sub = s.substr(2); @@ -198,8 +198,8 @@ main(int argc, char* argv[]) } { - String s = "hello"; - String s2 = s; + ctl::string s = "hello"; + ctl::string s2 = s; if (s != s2) return 45; s2[0] = 'H'; @@ -208,8 +208,8 @@ main(int argc, char* argv[]) } { - String s = "hello"; - String s2 = std::move(s); + ctl::string s = "hello"; + ctl::string s2 = std::move(s); if (s2 != "hello") return 47; if (!s.empty()) @@ -217,14 +217,14 @@ main(int argc, char* argv[]) } { - String s = "hello"; + ctl::string s = "hello"; const char* cstr = s.c_str(); if (strcmp(cstr, "hello") != 0) return 49; } // { - // String s = "hello"; + // ctl::string s = "hello"; // char buffer[10]; // s.copy(buffer, sizeof(buffer)); // if (strcmp(buffer, "hello") != 0) @@ -232,7 +232,7 @@ main(int argc, char* argv[]) // } { - String s = "hello"; + ctl::string s = "hello"; s.resize(3); if (s != "hel") return 51; @@ -242,14 +242,14 @@ main(int argc, char* argv[]) } { - String s = "hello"; + ctl::string s = "hello"; s.clear(); if (!s.empty()) return 53; } { - String s = "hello"; + ctl::string s = "hello"; auto it = s.begin(); if (*it != 'h') return 54; @@ -259,21 +259,21 @@ main(int argc, char* argv[]) } // { - // String s = "hello"; - // String s2 = "world"; + // ctl::string s = "hello"; + // ctl::string s2 = "world"; // s.swap(s2); // if (s != "world" || s2 != "hello") // return 56; // } { - String s = "hello"; + ctl::string s = "hello"; if (s.front() != 'h' || s.back() != 'o') return 57; } { - String s = "hello"; + ctl::string s = "hello"; s.push_back('!'); if (s != "hello!") return 58; @@ -283,42 +283,42 @@ main(int argc, char* argv[]) } { - String s = "hello"; + ctl::string s = "hello"; s.insert(2, "XYZ"); if (s != "heXYZllo") return 60; } { - String s = "hello"; + ctl::string s = "hello"; s.erase(1, 2); if (s != "hlo") return 61; } { - String s = "hello"; + ctl::string s = "hello"; s.replace(1, 2, "XYZ"); if (s != "hXYZlo") return 62; } { - String s = "hello"; + ctl::string s = "hello"; s.append(" world"); if (s != "hello world") return 63; } // { - // String s = "hello"; + // ctl::string s = "hello"; // s.assign("world"); // if (s != "world") // return 64; // } { - String s = "hello"; + ctl::string s = "hello"; if (s.compare("world") >= 0) return 65; if (s.compare("hello") != 0) @@ -328,7 +328,7 @@ main(int argc, char* argv[]) } { - String s = "hello"; + ctl::string s = "hello"; if (s == "world") return 68; if (s != "hello") @@ -339,26 +339,6 @@ main(int argc, char* argv[]) return 71; } - { - StringView s = "hello"; - if (s.find('e') != 1) - return 72; - if (s.find('l') != 2) - return 73; - if (s.find('x') != String::npos) - return 74; - } - - { - StringView s = "hello there"; - s.remove_prefix(6); - if (s != "there") - return 75; - s.remove_suffix(1); - if (s != "ther") - return 76; - } - { if ("hello"s != "hello") return 77; diff --git a/test/ctl/string_view_test.cc b/test/ctl/string_view_test.cc new file mode 100644 index 000000000..d3c55e4c9 --- /dev/null +++ b/test/ctl/string_view_test.cc @@ -0,0 +1,180 @@ +// -*- mode:c++; indent-tabs-mode:nil; c-basic-offset:4; coding:utf-8 -*- +// vi: set et ft=c++ ts=4 sts=4 sw=4 fenc=utf-8 +// +// Copyright 2024 Justine Alexandra Roberts Tunney +// +// Permission to use, copy, modify, and/or distribute this software for +// any purpose with or without fee is hereby granted, provided that the +// above copyright notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL +// WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE +// AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL +// DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR +// PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +// TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +// PERFORMANCE OF THIS SOFTWARE. + +#include "ctl/string_view.h" + +#include <__utility/move.h> + +#include "libc/runtime/runtime.h" +#include "libc/str/str.h" + +// #include +// #define ctl std + +int +main(int argc, char* argv[]) +{ + + { + ctl::string_view s = "hello there"; + s.remove_prefix(6); + if (s != "there") + return 1; + s.remove_suffix(1); + if (s != "ther") + return 2; + } + + { + ctl::string_view s = "hello"; + if (s.front() != 'h' || s.back() != 'o') + return 3; + } + + { + ctl::string_view s = "hello"; + if (s.compare("world") >= 0) + return 4; + if (s.compare("hello") != 0) + return 5; + if (s.compare("hallo") <= 0) + return 6; + } + + { + ctl::string_view s = "hello"; + if (s.find('e') != 1) + return 7; + if (s.find('l') != 2) + return 8; + if (s.find('x') != ctl::string_view::npos) + return 9; + } + + { + ctl::string_view s = "hello"; + if (s == "world") + return 10; + if (s != "hello") + return 11; + if (s < "hallo") + return 12; + if (s > "world") + return 13; + } + + { + ctl::string_view s = "hello"; + auto it = s.begin(); + if (*it != 'h') + return 14; + ++it; + if (*it != 'e') + return 15; + } + + { + ctl::string_view s = "hello"; + ctl::string_view s2 = std::move(s); + if (s2 != "hello") + return 16; + if (s.empty()) + return 17; + } + + { + ctl::string_view s = "hello"; + ctl::string_view sub = s.substr(1, 3); + if (sub != "ell") + return 18; + sub = s.substr(2); + if (sub != "llo") + return 19; + } + + { + ctl::string_view s = "hello"; + if (!s.ends_with("lo")) + return 20; + if (s.ends_with("el")) + return 21; + } + + { + ctl::string_view s = "hello"; + if (s.find('e') != 1) + return 22; + if (s.find('l') != 2) + return 23; + if (s.find('x') != ctl::string_view::npos) + return 24; + } + + { + ctl::string_view s = "hello"; + if (s[0] != 'h' || s[1] != 'e' || s[2] != 'l' || s[3] != 'l' || + s[4] != 'o') + return 25; + } + + { + ctl::string_view s = "hello"; + if (s.size() != 5) + return 26; + if (s.length() != 5) + return 27; + } + + { + ctl::string_view a = "a"; + ctl::string_view b = "a"; + if (a.compare(b) != 0) + return 28; + } + + { + ctl::string_view a = "a"; + ctl::string_view b = "b"; + if (a.compare(b) >= 0) + return 29; + } + + { + ctl::string_view a = "a"; + ctl::string_view b = "ab"; + if (a.compare(b) >= 0) + return 30; + } + + { + ctl::string_view a = "ab"; + ctl::string_view b = "a"; + if (a.compare(b) <= 0) + return 31; + } + + { + ctl::string_view a = ""; + ctl::string_view b = ""; + if (a.compare(b) != 0) + return 32; + } + + CheckForMemoryLeaks(); + return 0; +} diff --git a/test/ctl/vector_test.cc b/test/ctl/vector_test.cc index 11b1b6225..18ae614cf 100644 --- a/test/ctl/vector_test.cc +++ b/test/ctl/vector_test.cc @@ -1,19 +1,20 @@ -// -*- mode:c++;indent-tabs-mode:nil;c-basic-offset:4;coding:utf-8 -*- -// vi: set et ft=cpp ts=4 sts=4 sw=4 fenc=utf-8 :vi +// -*- mode:c++; indent-tabs-mode:nil; c-basic-offset:4; coding:utf-8 -*- +// vi: set et ft=c++ ts=4 sts=4 sw=4 fenc=utf-8 // -// Copyright 2024 Mozilla Foundation +// Copyright 2024 Justine Alexandra Roberts Tunney // -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at +// Permission to use, copy, modify, and/or distribute this software for +// any purpose with or without fee is hereby granted, provided that the +// above copyright notice and this permission notice appear in all copies. // -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. +// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL +// WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE +// AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL +// DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR +// PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +// TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +// PERFORMANCE OF THIS SOFTWARE. #include "ctl/vector.h" @@ -24,16 +25,15 @@ // #include // #include -// #define String std::string -// #define Vector std::vector +// #define ctl std int -main(int argc, char* argv[]) +main() { { int x = 3; - Vector A; + ctl::vector A; A.push_back(1); A.push_back(2); A.push_back(x); @@ -48,8 +48,8 @@ main(int argc, char* argv[]) } { - String yo = "foo"; - Vector A; + ctl::string yo = "foo"; + ctl::vector A; A.push_back("fun"); A.push_back(std::move(yo)); if (yo != "") @@ -66,7 +66,7 @@ main(int argc, char* argv[]) } { - Vector A; + ctl::vector A; if (!A.empty()) return 11; A.push_back(5); @@ -79,11 +79,11 @@ main(int argc, char* argv[]) } { - Vector A; + ctl::vector A; A.push_back(1); A.push_back(2); A.push_back(3); - Vector B(A); + ctl::vector B(A); if (B.size() != 3) return 15; if (B[0] != 1 || B[1] != 2 || B[2] != 3) @@ -91,11 +91,11 @@ main(int argc, char* argv[]) } { - Vector A; + ctl::vector A; A.push_back(1); A.push_back(2); A.push_back(3); - Vector B(std::move(A)); + ctl::vector B(std::move(A)); if (A.size() != 0) return 17; if (B.size() != 3) @@ -105,11 +105,11 @@ main(int argc, char* argv[]) } { - Vector A; + ctl::vector A; A.push_back(1); A.push_back(2); A.push_back(3); - Vector B; + ctl::vector B; B = A; if (B.size() != 3) return 20; @@ -118,11 +118,11 @@ main(int argc, char* argv[]) } { - Vector A; + ctl::vector A; A.push_back(1); A.push_back(2); A.push_back(3); - Vector B; + ctl::vector B; B = std::move(A); if (A.size() != 0) return 22; @@ -133,7 +133,7 @@ main(int argc, char* argv[]) } { - Vector A; + ctl::vector A; A.push_back(1); A.push_back(2); A.push_back(3); @@ -145,7 +145,7 @@ main(int argc, char* argv[]) } { - Vector A; + ctl::vector A; A.resize(5); if (A.size() != 5) return 27; @@ -155,11 +155,11 @@ main(int argc, char* argv[]) } { - Vector A; + ctl::vector A; A.push_back(1); A.push_back(2); A.push_back(3); - Vector B; + ctl::vector B; B.push_back(4); B.push_back(5); A.swap(B); @@ -174,7 +174,7 @@ main(int argc, char* argv[]) } { - Vector A; + ctl::vector A; A.push_back(1); A.push_back(2); A.push_back(3); @@ -186,11 +186,11 @@ main(int argc, char* argv[]) } { - Vector A; + ctl::vector A; A.push_back(1); A.push_back(2); A.push_back(3); - Vector::iterator it = A.begin(); + ctl::vector::iterator it = A.begin(); if (*it != 1) return 35; ++it; @@ -205,11 +205,11 @@ main(int argc, char* argv[]) } { - Vector A; + ctl::vector A; A.push_back(1); A.push_back(2); A.push_back(3); - Vector::const_iterator cit = A.cbegin(); + ctl::vector::const_iterator cit = A.cbegin(); if (*cit != 1) return 39; ++cit; @@ -224,7 +224,7 @@ main(int argc, char* argv[]) } { - Vector A; + ctl::vector A; for (int i = 0; i < 100; ++i) { A.push_back(i); } @@ -237,11 +237,11 @@ main(int argc, char* argv[]) } { - Vector A; + ctl::vector A; A.push_back(1); A.push_back(2); A.push_back(3); - Vector B(A); + ctl::vector B(A); if (B.size() != 3) return 53; B.push_back(4); @@ -252,7 +252,7 @@ main(int argc, char* argv[]) } { - Vector A; + ctl::vector A; A.reserve(100); if (A.size() != 0) return 56; @@ -266,11 +266,11 @@ main(int argc, char* argv[]) } { - Vector A; + ctl::vector A; A.push_back(1); A.push_back(2); A.push_back(3); - Vector B; + ctl::vector B; B = A; if (B.size() != 3) return 60; @@ -282,11 +282,11 @@ main(int argc, char* argv[]) } { - Vector A; + ctl::vector A; A.push_back(1); A.push_back(2); A.push_back(3); - Vector B; + ctl::vector B; B = std::move(A); if (A.size() != 0) return 63; @@ -297,11 +297,11 @@ main(int argc, char* argv[]) } { - Vector A; + ctl::vector A; A.push_back(1); A.push_back(2); A.push_back(3); - Vector B; + ctl::vector B; B.push_back(4); B.push_back(5); A.swap(B); diff --git a/test/net/http/parsehttpmessage_test.c b/test/net/http/parsehttpmessage_test.c index 8a308a150..5a8412614 100644 --- a/test/net/http/parsehttpmessage_test.c +++ b/test/net/http/parsehttpmessage_test.c @@ -62,18 +62,23 @@ TEST(ParseHttpMessage, soLittleState) { TEST(ParseHttpMessage, testEmpty_tooShort) { InitHttpMessage(req, kHttpRequest); - EXPECT_EQ(0, ParseHttpMessage(req, "", 0)); + EXPECT_EQ(0, ParseHttpMessage(req, "", 0, 1)); } -TEST(ParseHttpMessage, testTooShort) { +TEST(ParseHttpMessage, testShort) { InitHttpMessage(req, kHttpRequest); - EXPECT_EQ(0, ParseHttpMessage(req, "\r\n", 2)); + EXPECT_EQ(0, ParseHttpMessage(req, "HT", 2, 32768)); +} + +TEST(ParseHttpMessage, testBusted) { + InitHttpMessage(req, kHttpRequest); + EXPECT_SYS(EBADMSG, -1, ParseHttpMessage(req, "\r\n", 2, 2)); } TEST(ParseHttpMessage, testNoHeaders) { static const char m[] = "GET /foo HTTP/1.0\r\n\r\n"; InitHttpMessage(req, kHttpRequest); - EXPECT_EQ(strlen(m), ParseHttpMessage(req, m, strlen(m))); + EXPECT_EQ(strlen(m), ParseHttpMessage(req, m, strlen(m), strlen(m))); EXPECT_STREQ("GET", method()); EXPECT_STREQ("/foo", gc(slice(m, req->uri))); EXPECT_EQ(10, req->version); @@ -86,7 +91,7 @@ Host: foo.example\r\n\ Content-Length: 0\r\n\ \r\n"; InitHttpMessage(req, kHttpRequest); - EXPECT_EQ(strlen(m), ParseHttpMessage(req, m, strlen(m))); + EXPECT_EQ(strlen(m), ParseHttpMessage(req, m, strlen(m), strlen(m))); EXPECT_STREQ("POST", method()); EXPECT_STREQ("/foo?bar%20hi", gc(slice(m, req->uri))); EXPECT_EQ(10, req->version); @@ -98,7 +103,7 @@ Content-Length: 0\r\n\ TEST(ParseHttpMessage, testHttp101) { static const char m[] = "GET / HTTP/1.1\r\n\r\n"; InitHttpMessage(req, kHttpRequest); - EXPECT_EQ(strlen(m), ParseHttpMessage(req, m, strlen(m))); + EXPECT_EQ(strlen(m), ParseHttpMessage(req, m, strlen(m), strlen(m))); EXPECT_STREQ("GET", method()); EXPECT_STREQ("/", gc(slice(m, req->uri))); EXPECT_EQ(11, req->version); @@ -107,7 +112,7 @@ TEST(ParseHttpMessage, testHttp101) { TEST(ParseHttpMessage, testHttp100) { static const char m[] = "GET / HTTP/1.0\r\n\r\n"; InitHttpMessage(req, kHttpRequest); - EXPECT_EQ(strlen(m), ParseHttpMessage(req, m, strlen(m))); + EXPECT_EQ(strlen(m), ParseHttpMessage(req, m, strlen(m), strlen(m))); EXPECT_STREQ("GET", method()); EXPECT_STREQ("/", gc(slice(m, req->uri))); EXPECT_EQ(10, req->version); @@ -116,40 +121,40 @@ TEST(ParseHttpMessage, testHttp100) { TEST(ParseHttpMessage, testUnknownMethod_canBeUsedIfYouWant) { static const char m[] = "#%*+_^ / HTTP/1.0\r\n\r\n"; InitHttpMessage(req, kHttpRequest); - EXPECT_EQ(strlen(m), ParseHttpMessage(req, m, strlen(m))); + EXPECT_EQ(strlen(m), ParseHttpMessage(req, m, strlen(m), strlen(m))); EXPECT_STREQ("#%*+_^", method()); } TEST(ParseHttpMessage, testIllegalMethod) { static const char m[] = "ehd@oruc / HTTP/1.0\r\n\r\n"; InitHttpMessage(req, kHttpRequest); - EXPECT_EQ(-1, ParseHttpMessage(req, m, strlen(m))); + EXPECT_EQ(-1, ParseHttpMessage(req, m, strlen(m), strlen(m))); } TEST(ParseHttpMessage, testIllegalMethodCasing_weUpperCaseIt) { static const char m[] = "get / HTTP/1.0\r\n\r\n"; InitHttpMessage(req, kHttpRequest); - EXPECT_EQ(strlen(m), ParseHttpMessage(req, m, strlen(m))); + EXPECT_EQ(strlen(m), ParseHttpMessage(req, m, strlen(m), strlen(m))); EXPECT_STREQ("GET", method()); } TEST(ParseHttpMessage, testEmptyMethod_isntAllowed) { static const char m[] = " / HTTP/1.0\r\n\r\n"; InitHttpMessage(req, kHttpRequest); - EXPECT_EQ(-1, ParseHttpMessage(req, m, strlen(m))); + EXPECT_EQ(-1, ParseHttpMessage(req, m, strlen(m), strlen(m))); } TEST(ParseHttpMessage, testEmptyUri_isntAllowed) { static const char m[] = "GET HTTP/1.0\r\n\r\n"; InitHttpMessage(req, kHttpRequest); - EXPECT_EQ(-1, ParseHttpMessage(req, m, strlen(m))); + EXPECT_EQ(-1, ParseHttpMessage(req, m, strlen(m), strlen(m))); EXPECT_STREQ("GET", method()); } TEST(ParseHttpMessage, testHttp09) { static const char m[] = "GET /\r\n\r\n"; InitHttpMessage(req, kHttpRequest); - EXPECT_EQ(strlen(m), ParseHttpMessage(req, m, strlen(m))); + EXPECT_EQ(strlen(m), ParseHttpMessage(req, m, strlen(m), strlen(m))); EXPECT_STREQ("GET", method()); EXPECT_STREQ("/", gc(slice(m, req->uri))); EXPECT_EQ(9, req->version); @@ -158,7 +163,7 @@ TEST(ParseHttpMessage, testHttp09) { TEST(ParseHttpMessage, testTinyResponse) { static const char m[] = "HTTP/1.1 429 \r\n\r\n"; InitHttpMessage(req, kHttpResponse); - EXPECT_EQ(strlen(m), ParseHttpMessage(req, m, strlen(m))); + EXPECT_EQ(strlen(m), ParseHttpMessage(req, m, strlen(m), strlen(m))); EXPECT_EQ(429, req->status); EXPECT_STREQ("", gc(slice(m, req->message))); } @@ -170,7 +175,7 @@ GET /foo?bar%20hi HTTP/1.0\r\n\ User-Agent: hi\r\n\ \r\n"; InitHttpMessage(req, kHttpRequest); - EXPECT_EQ(strlen(m), ParseHttpMessage(req, m, strlen(m))); + EXPECT_EQ(strlen(m), ParseHttpMessage(req, m, strlen(m), strlen(m))); EXPECT_STREQ("/foo?bar%20hi", gc(slice(m, req->uri))); } @@ -181,7 +186,7 @@ User-Agent: hi\r\n\ there\r\n\ \r\n"; InitHttpMessage(req, kHttpRequest); - EXPECT_EQ(-1, ParseHttpMessage(req, m, strlen(m))); + EXPECT_EQ(-1, ParseHttpMessage(req, m, strlen(m), strlen(m))); EXPECT_EQ(EBADMSG, errno); } @@ -192,7 +197,7 @@ User-Agent: hi\r\n\ : hi\r\n\ \r\n"; InitHttpMessage(req, kHttpRequest); - EXPECT_EQ(-1, ParseHttpMessage(req, m, strlen(m))); + EXPECT_EQ(-1, ParseHttpMessage(req, m, strlen(m), strlen(m))); EXPECT_EQ(EBADMSG, errno); } @@ -204,7 +209,7 @@ Content-Length: 0\n\ \n\ \n"; InitHttpMessage(req, kHttpRequest); - EXPECT_EQ(strlen(m) - 1, ParseHttpMessage(req, m, strlen(m))); + EXPECT_EQ(strlen(m) - 1, ParseHttpMessage(req, m, strlen(m), strlen(m))); EXPECT_STREQ("POST", method()); EXPECT_STREQ("/foo?bar%20hi", gc(slice(m, req->uri))); EXPECT_EQ(10, req->version); @@ -226,7 +231,7 @@ Accept-Encoding: gzip, deflate\r\n\ Accept-Language: en-US,en;q=0.9\r\n\ \r\n"; InitHttpMessage(req, kHttpRequest); - EXPECT_EQ(strlen(m), ParseHttpMessage(req, m, strlen(m))); + EXPECT_EQ(strlen(m), ParseHttpMessage(req, m, strlen(m), strlen(m))); EXPECT_STREQ("GET", method()); EXPECT_STREQ("/tool/net/redbean.png", gc(slice(m, req->uri))); EXPECT_EQ(11, req->version); @@ -243,7 +248,7 @@ GET /foo?bar%20hi HTTP/1.0\r\n\ X-User-Agent: hi\r\n\ \r\n"; InitHttpMessage(req, kHttpRequest); - EXPECT_EQ(strlen(m), ParseHttpMessage(req, m, strlen(m))); + EXPECT_EQ(strlen(m), ParseHttpMessage(req, m, strlen(m), strlen(m))); ASSERT_EQ(1, req->xheaders.n); EXPECT_STREQ("X-User-Agent", gc(slice(m, req->xheaders.p[0].k))); EXPECT_STREQ("hi", gc(slice(m, req->xheaders.p[0].v))); @@ -256,7 +261,7 @@ Content-Type: text/html\r\n\ Content-Type: text/plain\r\n\ \r\n"; InitHttpMessage(req, kHttpRequest); - EXPECT_EQ(strlen(m), ParseHttpMessage(req, m, strlen(m))); + EXPECT_EQ(strlen(m), ParseHttpMessage(req, m, strlen(m), strlen(m))); EXPECT_STREQ("text/plain", gc(slice(m, req->headers[kHttpContentType]))); ASSERT_EQ(0, req->xheaders.n); } @@ -271,7 +276,7 @@ Accept: text/xml\r\n\ Accept: text/css\r\n\ \r\n"; InitHttpMessage(req, kHttpRequest); - EXPECT_EQ(strlen(m), ParseHttpMessage(req, m, strlen(m))); + EXPECT_EQ(strlen(m), ParseHttpMessage(req, m, strlen(m), strlen(m))); EXPECT_STREQ("text/html", gc(slice(m, req->headers[kHttpAccept]))); ASSERT_EQ(4, req->xheaders.n); EXPECT_STREQ("Accept", gc(slice(m, req->xheaders.p[0].k))); @@ -291,7 +296,7 @@ Accept: text/html\r\n\ Accept: text/plain\r\n\ \r\n"; InitHttpMessage(req, kHttpRequest); - EXPECT_EQ(strlen(m), ParseHttpMessage(req, m, strlen(m))); + EXPECT_EQ(strlen(m), ParseHttpMessage(req, m, strlen(m), strlen(m))); EXPECT_STREQ("text/html", gc(slice(m, req->headers[kHttpAccept]))); ASSERT_EQ(1, req->xheaders.n); EXPECT_STREQ("Accept", gc(slice(m, req->xheaders.p[0].k))); @@ -306,7 +311,7 @@ ACCEPT-ENCODING: gzip\r\n\ ACCEPT-encoding: bzip2\r\n\ \r\n"; InitHttpMessage(req, kHttpRequest); - EXPECT_EQ(strlen(m), ParseHttpMessage(req, m, strlen(m))); + EXPECT_EQ(strlen(m), ParseHttpMessage(req, m, strlen(m), strlen(m))); EXPECT_TRUE(HeaderHas(req, m, kHttpAcceptEncoding, "gzip", -1)); EXPECT_TRUE(HeaderHas(req, m, kHttpAcceptEncoding, "deflate", -1)); EXPECT_FALSE(HeaderHas(req, m, kHttpAcceptEncoding, "funzip", -1)); @@ -318,7 +323,7 @@ GET / HTTP/1.1\r\n\ : boop\r\n\ \r\n"; InitHttpMessage(req, kHttpRequest); - EXPECT_EQ(-1, ParseHttpMessage(req, m, strlen(m))); + EXPECT_EQ(-1, ParseHttpMessage(req, m, strlen(m), strlen(m))); } TEST(HeaderHas, testHeaderOnSameLIne) { @@ -327,7 +332,7 @@ GET / HTTP/1.1\r\n\ Accept-Encoding: deflate, gzip, bzip2\r\n\ \r\n"; InitHttpMessage(req, kHttpRequest); - EXPECT_EQ(strlen(m), ParseHttpMessage(req, m, strlen(m))); + EXPECT_EQ(strlen(m), ParseHttpMessage(req, m, strlen(m), strlen(m))); EXPECT_TRUE(HeaderHas(req, m, kHttpAcceptEncoding, "gzip", -1)); EXPECT_TRUE(HeaderHas(req, m, kHttpAcceptEncoding, "deflate", -1)); EXPECT_FALSE(HeaderHas(req, m, kHttpAcceptEncoding, "funzip", -1)); @@ -339,7 +344,7 @@ OPTIONS * HTTP/1.0\r\n\ User-Agent: \t hi there \t \r\n\ \r\n"; InitHttpMessage(req, kHttpRequest); - EXPECT_EQ(strlen(m), ParseHttpMessage(req, m, strlen(m))); + EXPECT_EQ(strlen(m), ParseHttpMessage(req, m, strlen(m), strlen(m))); EXPECT_STREQ("hi there", gc(slice(m, req->headers[kHttpUserAgent]))); EXPECT_STREQ("*", gc(slice(m, req->uri))); } @@ -349,7 +354,7 @@ TEST(ParseHttpMessage, testAbsentHost_setsSliceToZero) { GET / HTTP/1.1\r\n\ \r\n"; InitHttpMessage(req, kHttpRequest); - EXPECT_EQ(strlen(m), ParseHttpMessage(req, m, strlen(m))); + EXPECT_EQ(strlen(m), ParseHttpMessage(req, m, strlen(m), strlen(m))); EXPECT_EQ(0, req->headers[kHttpHost].a); EXPECT_EQ(0, req->headers[kHttpHost].b); } @@ -360,7 +365,7 @@ GET / HTTP/1.1\r\n\ Host:\r\n\ \r\n"; InitHttpMessage(req, kHttpRequest); - EXPECT_EQ(strlen(m), ParseHttpMessage(req, m, strlen(m))); + EXPECT_EQ(strlen(m), ParseHttpMessage(req, m, strlen(m), strlen(m))); EXPECT_NE(0, req->headers[kHttpHost].a); EXPECT_EQ(req->headers[kHttpHost].a, req->headers[kHttpHost].b); } @@ -371,25 +376,25 @@ GET / HTTP/1.1\r\n\ Host: \r\n\ \r\n"; InitHttpMessage(req, kHttpRequest); - EXPECT_EQ(strlen(m), ParseHttpMessage(req, m, strlen(m))); + EXPECT_EQ(strlen(m), ParseHttpMessage(req, m, strlen(m), strlen(m))); EXPECT_NE(0, req->headers[kHttpHost].a); EXPECT_EQ(req->headers[kHttpHost].a, req->headers[kHttpHost].b); } TEST(ParseHttpResponse, testEmpty_tooShort) { InitHttpMessage(req, kHttpResponse); - EXPECT_EQ(0, ParseHttpMessage(req, "", 0)); + EXPECT_EQ(0, ParseHttpMessage(req, "", 0, 32768)); } TEST(ParseHttpResponse, testTooShort) { InitHttpMessage(req, kHttpResponse); - EXPECT_EQ(0, ParseHttpMessage(req, "\r\n", 2)); + EXPECT_EQ(0, ParseHttpMessage(req, "HT", 2, 32768)); } TEST(ParseHttpResponse, testNoHeaders) { static const char m[] = "HTTP/1.0 200 OK\r\n\r\n"; InitHttpMessage(req, kHttpResponse); - EXPECT_EQ(strlen(m), ParseHttpMessage(req, m, strlen(m))); + EXPECT_EQ(strlen(m), ParseHttpMessage(req, m, strlen(m), strlen(m))); EXPECT_EQ(200, req->status); EXPECT_STREQ("OK", gc(slice(m, req->message))); EXPECT_EQ(10, req->version); @@ -402,7 +407,7 @@ Host: foo.example\r\n\ Content-Length: 0\r\n\ \r\n"; InitHttpMessage(req, kHttpResponse); - EXPECT_EQ(strlen(m), ParseHttpMessage(req, m, strlen(m))); + EXPECT_EQ(strlen(m), ParseHttpMessage(req, m, strlen(m), strlen(m))); EXPECT_EQ(200, req->status); EXPECT_STREQ("OK", gc(slice(m, req->message))); EXPECT_EQ(10, req->version); @@ -414,7 +419,7 @@ Content-Length: 0\r\n\ TEST(ParseHttpResponse, testHttp101) { static const char m[] = "HTTP/1.1 300 OMG\r\n\r\n"; InitHttpMessage(req, kHttpResponse); - EXPECT_EQ(strlen(m), ParseHttpMessage(req, m, strlen(m))); + EXPECT_EQ(strlen(m), ParseHttpMessage(req, m, strlen(m), strlen(m))); EXPECT_EQ(300, req->status); EXPECT_STREQ("OMG", gc(slice(m, req->message))); EXPECT_EQ(11, req->version); @@ -423,7 +428,7 @@ TEST(ParseHttpResponse, testHttp101) { TEST(ParseHttpResponse, testHttp100) { static const char m[] = "HTTP/1.0 404 Not Found\r\n\r\n"; InitHttpMessage(req, kHttpResponse); - EXPECT_EQ(strlen(m), ParseHttpMessage(req, m, strlen(m))); + EXPECT_EQ(strlen(m), ParseHttpMessage(req, m, strlen(m), strlen(m))); EXPECT_EQ(404, req->status); EXPECT_STREQ("Not Found", gc(slice(m, req->message))); EXPECT_EQ(10, req->version); @@ -433,9 +438,8 @@ void DoTiniestHttpRequest(void) { static const char m[] = "\ GET /\r\n\ \r\n"; - InitHttpMessage(req, kHttpRequest); - ParseHttpMessage(req, m, sizeof(m)); - DestroyHttpMessage(req); + ResetHttpMessage(req, kHttpRequest); + ParseHttpMessage(req, m, sizeof(m) - 1, sizeof(m)); } void DoTinyHttpRequest(void) { @@ -443,9 +447,8 @@ void DoTinyHttpRequest(void) { GET /\r\n\ Accept-Encoding: gzip\r\n\ \r\n"; - InitHttpMessage(req, kHttpRequest); - ParseHttpMessage(req, m, sizeof(m)); - DestroyHttpMessage(req); + ResetHttpMessage(req, kHttpRequest); + ParseHttpMessage(req, m, sizeof(m) - 1, sizeof(m)); } void DoStandardChromeRequest(void) { @@ -460,9 +463,8 @@ Referer: http://10.10.10.124:8080/\r\n\ Accept-Encoding: gzip, deflate\r\n\ Accept-Language: en-US,en;q=0.9\r\n\ \r\n"; - InitHttpMessage(req, kHttpRequest); - CHECK_EQ(sizeof(m) - 1, ParseHttpMessage(req, m, sizeof(m))); - DestroyHttpMessage(req); + ResetHttpMessage(req, kHttpRequest); + CHECK_EQ(sizeof(m) - 1, ParseHttpMessage(req, m, sizeof(m) - 1, sizeof(m))); } void DoUnstandardChromeRequest(void) { @@ -477,18 +479,16 @@ X-Referer: http://10.10.10.124:8080/\r\n\ X-Accept-Encoding: gzip, deflate\r\n\ X-Accept-Language: en-US,en;q=0.9\r\n\ \r\n"; - InitHttpMessage(req, kHttpRequest); - CHECK_EQ(sizeof(m) - 1, ParseHttpMessage(req, m, sizeof(m))); - DestroyHttpMessage(req); + ResetHttpMessage(req, kHttpRequest); + CHECK_EQ(sizeof(m) - 1, ParseHttpMessage(req, m, sizeof(m) - 1, sizeof(m))); } void DoTiniestHttpResponse(void) { static const char m[] = "\ HTTP/1.0 200\r\n\ \r\n"; - InitHttpMessage(req, kHttpResponse); - ParseHttpMessage(req, m, sizeof(m)); - DestroyHttpMessage(req); + ResetHttpMessage(req, kHttpResponse); + ParseHttpMessage(req, m, sizeof(m) - 1, sizeof(m)); } void DoTinyHttpResponse(void) { @@ -496,9 +496,8 @@ void DoTinyHttpResponse(void) { HTTP/1.0 200\r\n\ Accept-Encoding: gzip\r\n\ \r\n"; - InitHttpMessage(req, kHttpResponse); - ParseHttpMessage(req, m, sizeof(m)); - DestroyHttpMessage(req); + ResetHttpMessage(req, kHttpResponse); + ParseHttpMessage(req, m, sizeof(m) - 1, sizeof(m)); } void DoStandardHttpResponse(void) { @@ -518,9 +517,8 @@ Referrer-Policy: origin\r\n\ Strict-Transport-Security: max-age=31556900\r\n\ Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline' https://www.google.com/recaptcha/ https://www.gstatic.com/recaptcha/ https://cdnjs.cloudflare.com/; frame-src 'self' https://www.google.com/recaptcha/; style-src 'self' 'unsafe-inline'\r\n\ \r\n"; - InitHttpMessage(req, kHttpResponse); - CHECK_EQ(sizeof(m) - 1, ParseHttpMessage(req, m, sizeof(m))); - DestroyHttpMessage(req); + ResetHttpMessage(req, kHttpResponse); + CHECK_EQ(sizeof(m) - 1, ParseHttpMessage(req, m, sizeof(m) - 1, sizeof(m))); } void DoUnstandardHttpResponse(void) { @@ -545,12 +543,12 @@ x-slack-shared-secret-outcome: shared-secret\r\n\ via: envoy-www-iad-qd3r\r\n\ transfer-encoding: chunked\r\n\ \r\n"; - InitHttpMessage(req, kHttpResponse); - CHECK_EQ(sizeof(m) - 1, ParseHttpMessage(req, m, sizeof(m))); - DestroyHttpMessage(req); + ResetHttpMessage(req, kHttpResponse); + CHECK_EQ(sizeof(m) - 1, ParseHttpMessage(req, m, sizeof(m) - 1, sizeof(m))); } BENCH(ParseHttpMessage, bench) { + InitHttpMessage(req, kHttpRequest); EZBENCH2("DoTiniestHttpReque", donothing, DoTiniestHttpRequest()); EZBENCH2("DoTinyHttpRequest", donothing, DoTinyHttpRequest()); EZBENCH2("DoStandardChromeRe", donothing, DoStandardChromeRequest()); @@ -559,6 +557,7 @@ BENCH(ParseHttpMessage, bench) { EZBENCH2("DoTinyHttpResponse", donothing, DoTinyHttpResponse()); EZBENCH2("DoStandardHttpResp", donothing, DoStandardHttpResponse()); EZBENCH2("DoUnstandardHttpRe", donothing, DoUnstandardHttpResponse()); + DestroyHttpMessage(req); } BENCH(HeaderHas, bench) { @@ -572,7 +571,7 @@ ACCEPT-ENCODING: gzip\r\n\ ACCEPT-encoding: bzip2\r\n\ \r\n"; InitHttpMessage(req, kHttpRequest); - EXPECT_EQ(strlen(m), ParseHttpMessage(req, m, strlen(m))); + EXPECT_EQ(strlen(m), ParseHttpMessage(req, m, strlen(m), strlen(m))); EZBENCH2("HeaderHas txt/pln", donothing, HeaderHas(req, m, kHttpAccept, "text/plain", 7)); EZBENCH2("HeaderHas deflate", donothing, diff --git a/tool/curl/curl.c b/tool/curl/curl.c index dee042191..c35812955 100644 --- a/tool/curl/curl.c +++ b/tool/curl/curl.c @@ -447,7 +447,7 @@ int _curl(int argc, char *argv[]) { switch (t) { case kHttpClientStateHeaders: unassert(g); - if ((rc = ParseHttpMessage(&msg, p, i)) == -1) { + if ((rc = ParseHttpMessage(&msg, p, i, n)) == -1) { tinyprint(2, prog, ": ", host, " sent bad http message\n", NULL); exit(1); } diff --git a/tool/net/fetch.inc b/tool/net/fetch.inc index 37dfb02de..16fa05a56 100644 --- a/tool/net/fetch.inc +++ b/tool/net/fetch.inc @@ -64,7 +64,8 @@ static int LuaFetch(lua_State *L) { return LuaNilError(L, "bad method"); } lua_getfield(L, 2, "followredirect"); - if (lua_isboolean(L, -1)) followredirect = lua_toboolean(L, -1); + if (lua_isboolean(L, -1)) + followredirect = lua_toboolean(L, -1); lua_getfield(L, 2, "maxredirects"); maxredirects = luaL_optinteger(L, -1, maxredirects); lua_getfield(L, 2, "numredirects"); @@ -162,8 +163,10 @@ static int LuaFetch(lua_State *L) { } #ifndef UNSECURE - if (usingssl) keepalive = kaNONE; - if (usingssl && !sslinitialized) TlsInit(); + if (usingssl) + keepalive = kaNONE; + if (usingssl && !sslinitialized) + TlsInit(); #endif if (url.host.n) { @@ -189,7 +192,8 @@ static int LuaFetch(lua_State *L) { if (!IsAcceptablePort(port, -1)) { return LuaNilError(L, "invalid port"); } - if (!hosthdr) hosthdr = gc(xasprintf("%s:%s", host, port)); + if (!hosthdr) + hosthdr = gc(xasprintf("%s:%s", host, port)); // check if hosthdr is in keepalive table if (keepalive && lua_istable(L, 2)) { @@ -317,7 +321,8 @@ static int LuaFetch(lua_State *L) { if (usingssl) { rc = mbedtls_ssl_write(&sslcli, request + i, requestlen - i); if (rc <= 0) { - if (rc == MBEDTLS_ERR_X509_CERT_VERIFY_FAILED) goto VerifyFailed; + if (rc == MBEDTLS_ERR_X509_CERT_VERIFY_FAILED) + goto VerifyFailed; close(sock); return LuaNilTlsError(L, "write", rc); } @@ -373,7 +378,7 @@ static int LuaFetch(lua_State *L) { WARNF("(ftch) HTTP client %s error", "EOF headers"); goto TransportError; } - rc = ParseHttpMessage(&msg, inbuf.p, inbuf.n); + rc = ParseHttpMessage(&msg, inbuf.p, inbuf.n, inbuf.c); if (rc == -1) { WARNF("(ftch) HTTP client %s error", "ParseHttpMessage"); goto TransportError; @@ -454,7 +459,8 @@ static int LuaFetch(lua_State *L) { WARNF("(ftch) HTTP client %s error", "Unchunk"); goto TransportError; } - if (rc) goto Finished; + if (rc) + goto Finished; break; default: __builtin_unreachable(); @@ -462,7 +468,8 @@ static int LuaFetch(lua_State *L) { } Finished: - if (paylen && logbodies) LogBody("received", inbuf.p + hdrsize, paylen); + if (paylen && logbodies) + LogBody("received", inbuf.p + hdrsize, paylen); VERBOSEF("(ftch) completed %s HTTP%02d %d %s %`'.*s", method, msg.version, msg.status, urlarg, FetchHeaderLength(kHttpServer), FetchHeaderData(kHttpServer)); @@ -551,7 +558,8 @@ Finished: DestroyHttpMessage(&msg); free(inbuf.p); - if (!keepalive || keepalive == kaCLOSE) close(sock); + if (!keepalive || keepalive == kaCLOSE) + close(sock); return LuaFetch(L); } else { lua_pushinteger(L, msg.status); @@ -559,7 +567,8 @@ Finished: lua_pushlstring(L, inbuf.p + hdrsize, paylen); DestroyHttpMessage(&msg); free(inbuf.p); - if (!keepalive || keepalive == kaCLOSE) close(sock); + if (!keepalive || keepalive == kaCLOSE) + close(sock); return 3; } TransportError: diff --git a/tool/net/redbean.c b/tool/net/redbean.c index fbfb8d12b..0b91760af 100644 --- a/tool/net/redbean.c +++ b/tool/net/redbean.c @@ -6458,7 +6458,7 @@ static bool HandleMessageActual(void) { long reqtime, contime; char *p; struct timespec now; - if ((rc = ParseHttpMessage(&cpm.msg, inbuf.p, amtread)) != -1) { + if ((rc = ParseHttpMessage(&cpm.msg, inbuf.p, amtread, inbuf.n)) != -1) { if (!rc) return false; hdrsize = rc; diff --git a/tool/scripts/explain-deps.py b/tool/scripts/explain-deps.py index 15b289011..bd7dc5d3e 100755 --- a/tool/scripts/explain-deps.py +++ b/tool/scripts/explain-deps.py @@ -7,11 +7,8 @@ import sys def GetDeps(path): visited = set() def Dive(path, inside, depth, that_isnt=None): - sys.stdout.write('%s%s' % ('\t' * depth, path)) - sys.stdout.write('\n') - if path in visited: - return - visited.add(path) + included = path + if not os.path.exists(path): if inside: samedir = os.path.join(os.path.dirname(inside), path) @@ -24,6 +21,15 @@ def GetDeps(path): else: # sys.stderr.write('not found: %s\n' % (path)) return + + sys.stdout.write('\t' * depth) + sys.stdout.write(path) + sys.stdout.write('\n') + + if path in visited: + return + visited.add(path) + with open(path) as f: code = f.read() for dep in re.findall(r'[.#]\s*include\s+[<"]([^">]+)[">]', code):