llvm-project/libcxx/include
Arthur O'Dwyer 67151d029b [libc++] [ranges] Implement P2415R2 owning_view.
"What is a view?"
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2415r2.html
https://github.com/cplusplus/draft/pull/5010/files

This was a late-breaking (Oct 2021) change to C++20.
The only thing missing from this patch is that we're supposed
to bump the feature-test macro from
    #define __cpp_lib_ranges 202106L
to
    #define __cpp_lib_ranges 202110L
but we can't do that because we don't implement all of 202106 Ranges yet.

Differential Revision: https://reviews.llvm.org/D116894
2022-01-13 12:29:41 -05:00
..
__algorithm [libc++][ranges] Implement `uninitialized_copy{,_n}` and `uninitialized_move{,_n}`. 2022-01-10 22:49:50 -08: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
__compare [libc++] Alphabetize header #includes. NFCI. 2022-01-10 16:30:38 -05:00
__concepts [libc++] [ranges] ADL-proof the [range.access] CPOs. 2022-01-04 17:15:42 -05:00
__coroutine [libcxx] [Coroutines] Support noop_coroutine for GCC 2021-12-27 13:53:21 +08:00
__filesystem [libc++] Alphabetize header #includes. NFCI. 2022-01-10 16:30:38 -05:00
__format [libc++] Alphabetize header #includes. NFCI. 2022-01-10 16:30:38 -05:00
__functional [libc++] Alphabetize header #includes. NFCI. 2022-01-10 16:30:38 -05:00
__iterator [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
__numeric [libcxx][modularisation] modularises <numeric> header 2021-12-01 20:40:21 +00:00
__random [libc++] Start using `arc4random()` to implement `std::random_device` on Apple 2022-01-12 11:24:23 -05:00
__ranges [libc++] [ranges] Implement P2415R2 owning_view. 2022-01-13 12:29:41 -05:00
__support [SystemZ][z/OS] Fix warnings from unsigned int to long in 32-bit mode 2021-11-16 13:51:35 +00:00
__thread [libc++] Enable <atomic> when threads are disabled 2021-11-17 23:02:58 -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++] Alphabetize header #includes. NFCI. 2022-01-10 16:30:38 -05:00
ext [libc++] Alphabetize header #includes. NFCI. 2022-01-10 16:30:38 -05:00
CMakeLists.txt [libc++] [ranges] Implement P2415R2 owning_view. 2022-01-13 12:29:41 -05: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++] Start using `arc4random()` to implement `std::random_device` on Apple 2022-01-12 11:24:23 -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++] Add tests verifying alphabetical order for several things. 2022-01-13 09:58:56 -05:00
__errc [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
__function_like.h [libc++][NFC] Remove useless _LIBCPP_PUSH_MACROS 2021-08-27 12:41:55 -04:00
__functional_base [libcxx][functional][modular] splices <functional> into modular headers 2021-07-01 14:01:49 -04:00
__hash_table [libc++][NFC] Use _LIBCPP_DEBUG_ASSERT in <__hash_table> 2022-01-04 16:00:37 +01:00
__libcpp_version [libcxx] Bump __libcpp_version to 14 after branch 2021-07-28 11:07:06 +00:00
__locale [libc++] Alphabetize header #includes. NFCI. 2022-01-10 16:30:38 -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++] `= delete` member functions with // = delete; 2021-12-08 19:29:44 +01: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++] Add a bunch of missing inline and _LIBCPP_HIDE_FROM_ABI in __threading_support 2021-12-17 12:02:32 -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] Implement `uninitialized_copy{,_n}` and `uninitialized_move{,_n}`. 2022-01-10 22:49:50 -08: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 [libcxx] Add deprecation notices to macros deprecated in P0883R2 2021-12-20 20:30:00 +02:00
barrier [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -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++][NFC] Update namespace comments in include/ 2021-12-02 21:06:59 +01: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++] Add the version header to all headers. 2022-01-04 19:50:59 +01: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][1/6] Reduce binary size. 2021-12-01 17:50:17 +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_c() 2022-01-11 23:11:26 +01:00
locale [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05: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] Implement P2415R2 owning_view. 2022-01-13 12:29:41 -05: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 [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
numeric [libcxx][modularisation] modularises <numeric> header 2021-12-01 20:40:21 +00:00
optional [libc++] Implement P0798R8 (Monadic operations for std::optional) 2021-12-15 22:49:03 +01: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++] [ranges] Implement P2415R2 owning_view. 2022-01-13 12:29:41 -05:00
ratio [libc++] Add the version header to all headers. 2022-01-04 19:50:59 +01:00
regex [libc++][NFC] Update namespace comments in include/ 2021-12-02 21:06:59 +01:00
scoped_allocator [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -05:00
semaphore [libc++] Add the version header to all headers. 2022-01-04 19:50:59 +01: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 [runtimes][NFC] Remove filenames at the top of the license notice 2021-11-17 16:30:52 -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++] Add the version header to all headers. 2022-01-04 19:50:59 +01:00
string [libc++] Introduce __fits_in_sso() 2022-01-11 23:20:15 +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++] Fix the return value of max_size() 2021-12-06 13:53:25 -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++] Add the version header to all headers. 2022-01-04 19:50:59 +01:00
tuple [libc++][NFC] Update namespace comments in include/ 2021-12-02 21:06:59 +01:00
type_traits [libc++] Enable the optimized _IsSame on GCC as well as Clang. 2021-12-15 20:19:56 -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++] Introduce __debug_db_insert_c() 2022-01-11 23:11:26 +01:00
unordered_set [libc++] Introduce __debug_db_insert_c() 2022-01-11 23:11:26 +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++] Introduce __debug_db_insert_c() 2022-01-11 23:11:26 +01:00
version [libc++] Implement P1072R10 (std::basic_string::resize_and_overwrite) 2022-01-07 00:09:16 +01: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