llvm-project/libcxx/include
Arthur O'Dwyer bf150e8dab [libc++] [ranges] ADL-proof ranges::iter_{swap,move}.
As discovered in D117817, `std::ranges::input_range<Holder<Incomplete>*[10]>`
hard-errored before this patch. That's because `input_range` requires
`iter_rvalue_reference_t`, which requires `iter_move`, which was
not ADL-proofed.

Add ADL-proofing tests to all the range refinements.
`output_range` and `common_range` shouldn't be affected,
and all the others subsume `input_range` anyway, but we might as
well be thorough.

Differential Revision: https://reviews.llvm.org/D118213
2022-01-31 14:14:26 -05:00
..
__algorithm [libc++] Merge _LIBCPP_HAS_NO_RANGES into _LIBCPP_HAS_NO_CONCEPTS. NFC. 2022-01-31 12:10:22 -05:00
__bit [libc++] Implement P1272R4 (std::byteswap) 2021-11-22 01:28:18 +01:00
__charconv [libc++] Adds (to|from)_chars_result operator==. 2021-11-19 16:29:33 +01:00
__chrono [libcxx] chrono::month_weekday should not be default constructible 2022-01-20 11:47:56 -08:00
__compare [libc++] [P1614] Implement the second half of [cmp.alg]: compare_{strong,weak,partial}_fallback. 2022-01-27 17:48:01 -05:00
__concepts [libc++] Fix the last instances of `namespace ranges::inline...`. NFC. 2022-01-29 11:10:04 -05:00
__coroutine [libcxx] [Coroutines] Support noop_coroutine for GCC 2021-12-27 13:53:21 +08:00
__filesystem [libc++] Merge _LIBCPP_HAS_NO_RANGES into _LIBCPP_HAS_NO_CONCEPTS. NFC. 2022-01-31 12:10:22 -05:00
__format [libc++][format] Adds formatter handle. 2022-01-24 18:15:08 +01:00
__functional [libc++] Merge _LIBCPP_HAS_NO_RANGES into _LIBCPP_HAS_NO_CONCEPTS. NFC. 2022-01-31 12:10:22 -05:00
__iterator [libc++] [ranges] ADL-proof ranges::iter_{swap,move}. 2022-01-31 14:14:26 -05:00
__memory [libc++] Merge _LIBCPP_HAS_NO_RANGES into _LIBCPP_HAS_NO_CONCEPTS. NFC. 2022-01-31 12:10:22 -05:00
__numeric [libcxx][modularisation] modularises <numeric> header 2021-12-01 20:40:21 +00:00
__random [libc++] Fix LWG3422 "Issues of seed_seq's constructors" 2022-01-24 20:14:25 -05:00
__ranges [libc++] [NFC] Audit LWG issues for "Nothing To Do" and "Complete". 2022-01-31 12:10:22 -05:00
__support [libcxx][test] compiler options are non-portable 2022-01-18 11:34:57 -08:00
__thread [libc++] Split a few utilities out of __threading_support 2022-01-18 12:23:44 -05:00
__utility [libc++] Alphabetize header #includes. NFCI. 2022-01-10 16:30:38 -05:00
__variant [libc++][NFC] Remove useless _LIBCPP_PUSH_MACROS 2021-08-27 12:41:55 -04:00
experimental [libc++][NFC] Remove clang-diagnostic-c++98-compat-extra-semi warnings in experimental/simd 2022-01-14 19:38:33 +01:00
ext [libc++] Alphabetize header #includes. NFCI. 2022-01-10 16:30:38 -05:00
CMakeLists.txt [libc++][ranges] Add ranges::in_in_out_result 2022-01-31 16:33:45 +01:00
__availability Microsoft's floating-point to_chars powered by Ryu and Ryu Printf 2021-12-12 16:34:50 +01:00
__bit_reference [libc++] Alphabetize header #includes. NFCI. 2022-01-10 16:30:38 -05:00
__bits [libc++] Fix some typos and remove unused macros. NFCI. 2021-04-22 12:02:22 -04:00
__bsd_locale_defaults.h [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
__bsd_locale_fallbacks.h [libc++] Add missing __format__ attributes 2021-11-26 11:03:14 -05:00
__config [libc++] Merge _LIBCPP_HAS_NO_RANGES into _LIBCPP_HAS_NO_CONCEPTS. NFC. 2022-01-31 12:10:22 -05:00
__config_site.in [libcxx] Add LIBCXX_EXTRA_SITE_DEFINES for adding extra defines in __config_site 2021-12-22 00:43:29 +02:00
__debug [libc++] Introduce __debug_db_insert_i() 2022-01-17 20:31:21 +01:00
__errc [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
__functional_base [libcxx][functional][modular] splices <functional> into modular headers 2021-07-01 14:01:49 -04:00
__hash_table [libc++] Use addressof in unordered_map. 2022-01-21 20:43:45 +01:00
__libcpp_version [libcxx] Bump __libcpp_version to 14 after branch 2021-07-28 11:07:06 +00:00
__locale [SystemZ][z/OS][NFC] Remove extra symbol 2022-01-21 16:18:46 -05:00
__mbstate_t.h [libc++] Add an option to disable wide character support in libc++ 2021-10-12 06:08:23 -04:00
__mutex_base [libc++] Modularize <chrono> 2022-01-14 09:55:29 -05:00
__node_handle [libc++][NFC] Add missing synopsis for node handles 2021-09-07 15:26:33 -04:00
__nullptr [libc++][NFC] Update namespace comments in include/ 2021-12-02 21:06:59 +01:00
__split_buffer [libc++] Comma-operator-proof a lot of algorithm/container code. 2021-09-08 13:34:01 -04:00
__std_stream [libc++] Alphabetize and include-what-you-use. NFCI. 2021-05-29 19:54:48 -04:00
__string [libc++] Alphabetize header #includes. NFCI. 2022-01-10 16:30:38 -05:00
__threading_support [libc++] Split a few utilities out of __threading_support 2022-01-18 12:23:44 -05:00
__tree [libc++] Use addressof in assignment operator. 2021-10-07 18:10:47 +02:00
__tuple [libc++] Enable the optimized _IsSame on GCC as well as Clang. 2021-12-15 20:19:56 -05:00
__undef_macros [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
algorithm [libc++][ranges] Add ranges::in_in_out_result 2022-01-31 16:33:45 +01:00
any [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
array [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
atomic Omit atomic_{,un}signed_lock_free if unsupported 2022-01-27 14:29:08 -08:00
barrier [libc++] Split a few utilities out of __threading_support 2022-01-18 12:23:44 -05:00
bit [libc++] Disable _LIBCPP_DEBUG_ASSERT during constant evaluation 2021-12-17 11:15:53 +01:00
bitset [libc++] Alphabetize header #includes. NFCI. 2022-01-10 16:30:38 -05:00
cassert [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
ccomplex [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
cctype [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
cerrno [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
cfenv [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
cfloat [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
charconv Microsoft's floating-point to_chars powered by Ryu and Ryu Printf 2021-12-12 16:34:50 +01:00
chrono [libc++] Split a few utilities out of __threading_support 2022-01-18 12:23:44 -05:00
cinttypes [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
ciso646 [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
climits [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
clocale [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
cmath [libc++] Alphabetize header #includes. NFCI. 2022-01-10 16:30:38 -05:00
codecvt [libc++] Add the version header to all headers. 2022-01-04 19:50:59 +01:00
compare [libc++] [P1614] Implement the second half of [cmp.alg]: compare_{strong,weak,partial}_fallback. 2022-01-27 17:48:01 -05:00
complex [libc++][NFC] Update namespace comments in include/ 2021-12-02 21:06:59 +01:00
complex.h [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
concepts [libc++][NFC] Move concepts to a subheader. 2021-09-02 19:22:15 +02:00
condition_variable [libc++] Add the version header to all headers. 2022-01-04 19:50:59 +01:00
coroutine [libc++] Alphabetize header #includes. NFCI. 2022-01-10 16:30:38 -05:00
csetjmp [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
csignal [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
cstdarg [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
cstdbool [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
cstddef [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
cstdint [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
cstdio [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
cstdlib [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
cstring [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
ctgmath [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
ctime [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
ctype.h [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
cwchar [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
cwctype [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
deque [libcxx][NFC] Make sequence containers slightly more SFINAE-friendly during CTAD. 2021-12-01 11:56:51 -08:00
errno.h [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
exception [libc++][NFC] Update namespace comments in include/ 2021-12-02 21:06:59 +01:00
execution [libc++] Add the version header to all headers. 2022-01-04 19:50:59 +01:00
fenv.h [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
filesystem [libc++] Alphabetize header #includes. NFCI. 2022-01-10 16:30:38 -05:00
float.h [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
format [libc++][format] Finish P0645 Text Formatting. 2022-01-24 20:10:14 +01:00
forward_list [libcxx][NFC] Make sequence containers slightly more SFINAE-friendly during CTAD. 2021-12-01 11:56:51 -08:00
fstream [libc++] Add the version header to all headers. 2022-01-04 19:50:59 +01:00
functional [libc++] Alphabetize header #includes. NFCI. 2022-01-10 16:30:38 -05:00
future [libc++] Add the version header to all headers. 2022-01-04 19:50:59 +01:00
initializer_list [libc++][NFC] Update namespace comments in include/ 2021-12-02 21:06:59 +01:00
inttypes.h [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
iomanip [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
ios [libc++] Add the version header to all headers. 2022-01-04 19:50:59 +01:00
iosfwd [libc++] Add the version header to all headers. 2022-01-04 19:50:59 +01:00
iostream [libc++] Add the version header to all headers. 2022-01-04 19:50:59 +01:00
istream [libc++] `= delete` member functions with // = delete; 2021-12-08 19:29:44 +01:00
iterator [libc++] Alphabetize header #includes. NFCI. 2022-01-10 16:30:38 -05:00
latch [libc++] Add the version header to all headers. 2022-01-04 19:50:59 +01:00
limits [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
limits.h [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
list [libc++] Introduce __debug_db_insert_i() 2022-01-17 20:31:21 +01:00
locale [libc++] Use reserved identifier for template parameter 2022-01-18 19:20:25 +00:00
locale.h [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
map [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
math.h [libc++] Alphabetize header #includes. NFCI. 2022-01-10 16:30:38 -05:00
memory [libc++][ranges] Implement `construct_at` and `destroy{,_at}`. 2022-01-12 16:01:04 -08:00
module.modulemap [libc++][ranges] Add ranges::in_in_out_result 2022-01-31 16:33:45 +01:00
mutex [libc++] `= delete` member functions with // = delete; 2021-12-08 19:29:44 +01:00
new [libc++][NFC] Update namespace comments in include/ 2021-12-02 21:06:59 +01:00
numbers [libc++] _Uglify some template parameter names. NFCI. 2022-01-14 10:32:04 -05:00
numeric [libcxx][modularisation] modularises <numeric> header 2021-12-01 20:40:21 +00:00
optional [libc++] _Uglify some template parameter names. NFCI. 2022-01-14 10:32:04 -05:00
ostream [libc++] `= delete` member functions with // = delete; 2021-12-08 19:29:44 +01:00
queue [libc++] Implement P1425R4 (Iterator pair constructors for std::stack and std::queue) 2022-01-06 18:55:11 +01:00
random [libc++] Add the version header to all headers. 2022-01-04 19:50:59 +01:00
ranges [libc++] Merge _LIBCPP_HAS_NO_RANGES into _LIBCPP_HAS_NO_CONCEPTS. NFC. 2022-01-31 12:10:22 -05:00
ratio [libc++] Add the version header to all headers. 2022-01-04 19:50:59 +01:00
regex [SystemZ][z/OS] ASCII/EBCDIC support with no coexistence 2022-01-14 11:37:09 -05:00
scoped_allocator [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
semaphore [libc++] Split a few utilities out of __threading_support 2022-01-18 12:23:44 -05:00
set [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
setjmp.h [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
shared_mutex [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
span [libc++] Merge _LIBCPP_HAS_NO_RANGES into _LIBCPP_HAS_NO_CONCEPTS. NFC. 2022-01-31 12:10:22 -05:00
sstream [libc++] Add the version header to all headers. 2022-01-04 19:50:59 +01:00
stack [libc++] Implement P1425R4 (Iterator pair constructors for std::stack and std::queue) 2022-01-06 18:55:11 +01:00
stdbool.h [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
stddef.h [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
stdexcept [libc++] Alphabetize header #includes. NFCI. 2022-01-10 16:30:38 -05:00
stdint.h [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
stdio.h [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
stdlib.h [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
streambuf [libc++] Modularize <chrono> 2022-01-14 09:55:29 -05:00
string [libc++] Remove std::basic_string's base class in ABIv2 2022-01-25 00:21:53 +01:00
string.h [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
string_view [libc++] Merge _LIBCPP_HAS_NO_RANGES into _LIBCPP_HAS_NO_CONCEPTS. NFC. 2022-01-31 12:10:22 -05:00
strstream [libc++] Add the version header to all headers. 2022-01-04 19:50:59 +01:00
system_error [libc++] Add the version header to all headers. 2022-01-04 19:50:59 +01:00
tgmath.h [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
thread [libc++] Split a few utilities out of __threading_support 2022-01-18 12:23:44 -05:00
tuple [libc++][P2321R2] Add specializations of basic_common_reference and common_type for tuple 2022-01-17 19:49:57 +01:00
type_traits [libc++] _Uglify some template parameter names. NFCI. 2022-01-14 10:32:04 -05:00
typeindex [libc++] Add the version header to all headers. 2022-01-04 19:50:59 +01:00
typeinfo [libc++][NFC] Update namespace comments in include/ 2021-12-02 21:06:59 +01:00
unordered_map [libc++] Use addressof in unordered_map. 2022-01-21 20:43:45 +01:00
unordered_set [libc++] Use addressof in unordered_set. 2022-01-22 11:41:13 +01:00
utility [libc++] [ranges] Introduce _LIBCPP_AUTO_CAST(x) for auto(x). 2021-12-22 12:29:42 -05:00
valarray [libc++] Add the version header to all headers. 2022-01-04 19:50:59 +01:00
variant [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
vector [libc++][NFC] Use _LIBCPP_DEBUG_ASSERT in <vector> 2022-01-17 19:28:16 +01:00
version [libc++] Fix LWG3437 "__cpp_lib_polymorphic_allocator is in the wrong header" 2022-01-23 10:30:09 -05:00
wchar.h [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
wctype.h [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00