llvm-project/libcxx/include
Arthur O'Dwyer fc9248877d [libc++] Assume that __wrap_iter always wraps a fancy pointer.
Not only do we conscientiously avoid using `__wrap_iter` for non-contiguous
iterators (in vector, string, span...) but also we make the assumption
(in regex) that `__wrap_iter<_Iter>` is contiguous for all `_Iter`.

So `__wrap_iter<reverse_iterator<int*>>` should be considered IFNDR,
and every `__wrap_iter` should correctly advertise contiguity in C++20.

Drive-by simplify some type traits.

Reviewed as part of https://reviews.llvm.org/D102781
2021-05-24 17:30:21 -04:00
..
__iterator [libc++] Assume that __wrap_iter always wraps a fancy pointer. 2021-05-24 17:30:21 -04:00
__memory [libcxx][gardening] Re-order includes across libcxx. 2021-05-21 13:22:10 -07:00
__ranges [libcxx][gardening] Re-order includes across libcxx. 2021-05-21 13:22:10 -07:00
__support [libcxx][gardening] Re-order includes across libcxx. 2021-05-21 13:22:10 -07:00
__utility [libc++] Adds __utility/to_underlying.h. 2021-04-25 13:27:19 +02:00
experimental [libc++] Remove more unnecessary _VSTD:: from type names. NFCI. 2021-05-11 12:23:55 -04:00
ext [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
CMakeLists.txt [libcxx][ranges] Add ranges::data CPO. 2021-05-21 11:07:23 -07:00
__availability [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
__bit_reference [libc++] __bit_iterator mustn't rely on deprecated SMF generation. 2021-04-26 16:22:42 -04:00
__bits [libc++] Fix some typos and remove unused macros. NFCI. 2021-04-22 12:02:22 -04:00
__bsd_locale_defaults.h Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
__bsd_locale_fallbacks.h [libcxx][gardening] Re-order includes across libcxx. 2021-05-21 13:22:10 -07:00
__config Apply [[standalone_debug]] to some types in the STL. 2021-05-18 17:01:07 -07:00
__config_site.in [libc++] Make LIBCXX_ENABLE_FILESYSTEM fully consistent 2021-01-19 14:15:48 -05:00
__debug [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
__errc [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
__functional_03 [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
__functional_base [libc++] s/_VSTD::declval/declval/g. NFCI. 2021-05-11 12:23:55 -04:00
__functional_base_03 [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
__hash_table Apply [[standalone_debug]] to some types in the STL. 2021-05-18 17:01:07 -07:00
__libcpp_version [libcxx] Update include/__libcpp_version to match include/__config 2021-01-27 15:16:55 +00:00
__locale [libc++] s/_LIBCPP_NO_HAS_CHAR8_T/_LIBCPP_HAS_NO_CHAR8_T/g 2021-04-21 12:49:07 -04:00
__mutex_base [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
__node_handle [libc++] Alphabetize header inclusions and include-what-you-use <__debug>. NFCI. 2021-05-18 19:56:30 -04:00
__nullptr [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
__split_buffer [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
__std_stream [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
__string [libc++] s/_LIBCPP_NO_HAS_CHAR8_T/_LIBCPP_HAS_NO_CHAR8_T/g 2021-04-21 12:49:07 -04:00
__threading_support [libcxx] Implement semaphores for windows 2021-03-05 10:48:59 +02:00
__tree Apply [[standalone_debug]] to some types in the STL. 2021-05-18 17:01:07 -07:00
__tuple [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
__undef_macros Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
algorithm [libc++] Remove more unnecessary _VSTD:: from type names. NFCI. 2021-05-11 12:23:55 -04:00
any [libc++] Include <__config> first in all standard headers. 2021-03-22 19:01:18 -04:00
array [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
atomic [libc++] s/_LIBCPP_NO_HAS_CHAR8_T/_LIBCPP_HAS_NO_CHAR8_T/g 2021-04-21 12:49:07 -04:00
barrier [libc++] Remove hard tabs, U+00AD, and U+200B from all libc++ headers. NFCI. 2021-04-17 17:03:20 -04:00
bit [libc++] Alphabetize header inclusions and include-what-you-use <__debug>. NFCI. 2021-05-18 19:56:30 -04:00
bitset [libc++] Remove if-else to make branch predictor happy 2021-04-24 16:09:52 +02:00
cassert Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
ccomplex [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
cctype [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
cerrno [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
cfenv [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
cfloat [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
charconv [libc++][nfc] remove duplicated __to_unsigned. 2021-05-12 21:09:49 +02:00
chrono [libc++] s/_VSTD::chrono/chrono/g. NFCI. 2021-05-11 12:23:55 -04:00
cinttypes [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
ciso646 [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
climits [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
clocale [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
cmath [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
codecvt [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
compare [libcxx] modifies `_CmpUnspecifiedParam` ignore types outside its domain 2021-05-13 00:45:39 +00:00
complex [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
complex.h [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
concepts [libc++] s/_VSTD::declval/declval/g. NFCI. 2021-05-11 12:23:55 -04:00
condition_variable [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
csetjmp [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
csignal [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
cstdarg [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
cstdbool [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
cstddef [libc++] s/_LIBCPP_NO_HAS_CHAR8_T/_LIBCPP_HAS_NO_CHAR8_T/g 2021-04-21 12:49:07 -04:00
cstdint [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
cstdio [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
cstdlib [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
cstring [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
ctgmath [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
ctime [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
ctype.h [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
cwchar [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
cwctype [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
deque [libc++] Alphabetize header inclusions and include-what-you-use <__debug>. NFCI. 2021-05-18 19:56:30 -04:00
errno.h [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
exception [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
execution [pstl][libc++] Provide uglified header names for interface headers 2019-08-06 21:11:24 +00:00
fenv.h Mark fenv.h as a system header before the #include_next directive 2019-03-29 16:03:57 +00:00
filesystem [libc++] Remove the special logic for "noexcept iterators" in basic_string. 2021-04-26 16:22:43 -04:00
float.h [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
format [libc++][NFC] Remove _VSTD:: when not needed. 2021-05-10 18:15:50 +02:00
forward_list Apply [[standalone_debug]] to some types in the STL. 2021-05-18 17:01:07 -07:00
fstream [libc++] Alphabetize header inclusions and include-what-you-use <__debug>. NFCI. 2021-05-18 19:56:30 -04:00
functional [libc++] Alphabetize header inclusions and include-what-you-use <__debug>. NFCI. 2021-05-18 19:56:30 -04:00
future [libc++] Alphabetize header inclusions and include-what-you-use <__debug>. NFCI. 2021-05-18 19:56:30 -04:00
initializer_list [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
inttypes.h [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
iomanip [libc++][NFC] Remove _VSTD:: when not needed. 2021-05-10 18:15:50 +02:00
ios [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
iosfwd [libc++] s/_LIBCPP_NO_HAS_CHAR8_T/_LIBCPP_HAS_NO_CHAR8_T/g 2021-04-21 12:49:07 -04:00
iostream [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
istream [libc++] s/_VSTD::declval/declval/g. NFCI. 2021-05-11 12:23:55 -04:00
iterator [libc++] Assume that __wrap_iter always wraps a fancy pointer. 2021-05-24 17:30:21 -04:00
latch [libc++] [docs] Mark P1865 as complete since 11.0 as it was implemented together with P1135. Fix synopses in <barrier> and <latch>. 2020-12-06 15:36:52 +01:00
limits [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
limits.h [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
list Apply [[standalone_debug]] to some types in the STL. 2021-05-18 17:01:07 -07:00
locale [libc++] Eliminate macro _LIBCPP_UNUSED_VAR. NFCI. 2021-04-22 12:02:22 -04:00
locale.h [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
map Apply [[standalone_debug]] to some types in the STL. 2021-05-18 17:01:07 -07:00
math.h [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
memory [libc++] Remove more unnecessary _VSTD:: from type names. NFCI. 2021-05-11 12:23:55 -04:00
module.modulemap [libc++] Move <__sso_allocator> out of include/ into src/. NFCI. 2021-05-05 16:20:52 -04:00
mutex [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
new [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
numbers [libcxx] cleans up __cpp_concepts mess 2021-02-26 18:43:40 +00:00
numeric [libc++] Alphabetize header inclusions and include-what-you-use <__debug>. NFCI. 2021-05-18 19:56:30 -04:00
optional [libcxx] NFC. Correct wordings of _LIBCPP_ASSERT debug messages 2021-05-12 13:49:57 +02:00
ostream [libc++] s/_VSTD::declval/declval/g. NFCI. 2021-05-11 12:23:55 -04:00
queue [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
random [libc++] Remove more unnecessary _VSTD:: from type names. NFCI. 2021-05-11 12:23:55 -04:00
ranges [libcxx][ranges] Add ranges::data CPO. 2021-05-21 11:07:23 -07:00
ratio [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
regex [libc++] Alphabetize header inclusions and include-what-you-use <__debug>. NFCI. 2021-05-18 19:56:30 -04:00
scoped_allocator [libc++] s/_VSTD::declval/declval/g. NFCI. 2021-05-11 12:23:55 -04:00
semaphore [libc++] Fix some one-off typos in comments. NFCI. 2020-12-14 09:54:58 -05:00
set [libc++] Alphabetize header inclusions and include-what-you-use <__debug>. NFCI. 2021-05-18 19:56:30 -04:00
setjmp.h [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
shared_mutex [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
span [libc++] Alphabetize header inclusions and include-what-you-use <__debug>. NFCI. 2021-05-18 19:56:30 -04:00
sstream [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
stack [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
stdbool.h [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
stddef.h [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
stdexcept [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
stdint.h [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
stdio.h [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
stdlib.h [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
streambuf [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
string [libc++] [LIBCXX-DEBUG-FIXME] Fix an iterator-invalidation issue in string::assign. 2021-05-05 16:20:53 -04:00
string.h [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
string_view [libc++] s/_LIBCPP_NO_HAS_CHAR8_T/_LIBCPP_HAS_NO_CHAR8_T/g 2021-04-21 12:49:07 -04:00
strstream [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
system_error [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
tgmath.h [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
thread [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
tuple [libc++] Fix QoI bug with construction of std::tuple involving std::any 2021-05-04 16:42:36 -04:00
type_traits [libc++] Some fixes to the <bit> utilities. 2021-05-18 19:56:30 -04:00
typeindex [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
typeinfo [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
unordered_map Apply [[standalone_debug]] to some types in the STL. 2021-05-18 17:01:07 -07:00
unordered_set [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
utility [libc++] Adds __utility/to_underlying.h. 2021-04-25 13:27:19 +02:00
valarray [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
variant [libc++] s/_VSTD::declval/declval/g. NFCI. 2021-05-11 12:23:55 -04:00
vector [libcxx] NFC. Correct wordings of _LIBCPP_ASSERT debug messages 2021-05-12 13:49:57 +02:00
version [libc++] s/_LIBCPP_NO_HAS_CHAR8_T/_LIBCPP_HAS_NO_CHAR8_T/g 2021-04-21 12:49:07 -04:00
wchar.h [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00
wctype.h [libc++] NFC: Normalize `#endif //` comment indentation 2021-04-20 12:03:32 -04:00