[all-commits] [llvm/llvm-project] 1679b2: [libc++] Refactor __tuple_like and __pair_like (#8...
Nikolas Klauser via All-commits
all-commits at lists.llvm.org
Sun Mar 31 23:47:18 PDT 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 1679b27959bbe21b713725017b1cf36ac66dfadc
https://github.com/llvm/llvm-project/commit/1679b27959bbe21b713725017b1cf36ac66dfadc
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-04-01 (Mon, 01 Apr 2024)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/mismatch.h
M libcxx/include/__memory/uses_allocator_construction.h
M libcxx/include/__memory_resource/polymorphic_allocator.h
M libcxx/include/__ranges/subrange.h
R libcxx/include/__tuple/pair_like.h
M libcxx/include/__tuple/tuple_like.h
A libcxx/include/__tuple/tuple_like_no_subrange.h
M libcxx/include/__utility/pair.h
M libcxx/include/libcxx.imp
M libcxx/include/module.modulemap
M libcxx/include/variant
M libcxx/test/libcxx/utilities/tuple/__tuple_like.compile.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/range.concept.compile.pass.cpp
Log Message:
-----------
[libc++] Refactor __tuple_like and __pair_like (#85206)
The exposition-only type trait `pair-like` includes `ranges::subrange`,
but in every single case excludes `ranges::subrange` from the list. This
patch introduces two new traits `__tuple_like_no_subrange` and
`__pair_like_no_subrange`, which exclude `ranges::subrange` from the
possible matches. `__pair_like` is no longer required, and thus removed.
`__tuple_like` is implemented as `__tuple_like_no_subrange` or a
`ranges::subrange` specialization.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list