llvm-project/libcxx/include
Martin Storsjö 49173ca4db [libcxx] Avoid intermediate string objects for substrings in windows operator/=
Check that appends with a path object doesn't do allocations, even
on windows.

Suggested by Marek in D98398. The patch might apply without D98398
(depending on how much of the diff context has to match), but doesn't
make much sense until after that patch has landed.

Differential Revision: https://reviews.llvm.org/D98412
2021-03-11 19:34:59 +02:00
..
__memory [libc++] Rationalize our treatment of contiguous iterators and __unwrap_iter(). 2021-02-03 16:28:38 -05:00
__support [SystemZ][z/OS] Missing locale functions libc++ 2021-03-08 19:32:33 +00:00
experimental [libc++] Update and normalize the "all the headers" tests. 2020-12-03 15:01:38 -05:00
ext [libc++] Remove workarounds for missing rvalue references 2020-08-12 12:02:28 -04:00
CMakeLists.txt [SystemZ][z/OS] Missing locale functions libc++ 2021-03-08 19:32:33 +00:00
__availability [libc++] Make feature-test macros consistent with availability macros 2021-02-04 11:40:22 -05:00
__bit_reference [libc++] Introduce __bits 2021-01-22 21:20:23 +01:00
__bits [NFC][libc++] Fix _LIBCPP_HAS_BITSCAN64 usage. 2021-02-23 08:13:49 +01:00
__bsd_locale_defaults.h
__bsd_locale_fallbacks.h
__config [libcxx] Don't use dllimport for a static member in a template 2021-03-04 08:55:27 +02:00
__config_site.in [libc++] Make LIBCXX_ENABLE_FILESYSTEM fully consistent 2021-01-19 14:15:48 -05:00
__debug [libc++] Consistently replace `::new(__p) T` with `::new ((void*)__p) T`. NFCI. 2020-12-14 12:08:34 -05:00
__errc
__functional_03 [libc++] Consistently replace `::new(__p) T` with `::new ((void*)__p) T`. NFCI. 2020-12-14 12:08:34 -05:00
__functional_base [libc++] [LWG2993] reference_wrapper<T> conversion from U&& 2021-02-09 15:50:25 -05:00
__functional_base_03 [libc++] ADL-proof <functional> by adding _VSTD:: qualification on calls. 2020-12-14 12:08:34 -05:00
__hash_table [libc++] Fix some one-off typos in comments. NFCI. 2020-12-14 09:54:58 -05:00
__libcpp_version [libcxx] Update include/__libcpp_version to match include/__config 2021-01-27 15:16:55 +00:00
__locale [libc++] Rename include/support to include/__support 2021-02-04 10:16:33 -05:00
__mutex_base [libc++] ADL-proof vector<bool> by adding _VSTD:: qualification on calls. 2021-01-06 18:23:50 -05:00
__node_handle
__nullptr
__split_buffer Add noreturn attribute to non-returning functions 2021-03-10 14:35:50 -08:00
__sso_allocator [libc++] Replace several uses of 0 by nullptr 2020-11-27 10:00:21 -05:00
__std_stream
__string [libc++] Add `noexcept` to `string::find` and similar members. 2021-02-09 11:47:40 -08:00
__threading_support [libcxx] Implement semaphores for windows 2021-03-05 10:48:59 +02:00
__tree [libc++] ADL-proof vector<bool> by adding _VSTD:: qualification on calls. 2021-01-06 18:23:50 -05:00
__tuple Refactor default constructor SFINAE in pair and tuple. 2019-09-30 20:55:30 +00:00
__undef_macros
algorithm [libc++] Further improve the contiguous-iterator story, and fix some bugs. 2021-02-05 15:18:04 -05:00
any [libc++] Rework the whole availability markup implementation 2020-11-05 12:28:52 -05:00
array [libc++] ADL-proof vector<bool> by adding _VSTD:: qualification on calls. 2021-01-06 18:23:50 -05:00
atomic [libc++] Fix for the Bug 41784 2021-02-01 10:14:22 -05:00
barrier [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
bit [libc++] Rename include/support to include/__support 2021-02-04 10:16:33 -05:00
bitset [libc++] ADL-proof vector<bool> by adding _VSTD:: qualification on calls. 2021-01-06 18:23:50 -05:00
cassert
ccomplex
cctype
cerrno
cfenv
cfloat
charconv [libc++] Include C++ headers, not C headers, in <charconv>. 2020-12-10 22:03:12 -05:00
chrono [libc++] Change `std::numeric_limits` to just `numeric_limits` in <chrono>. 2021-02-15 16:12:10 -05:00
cinttypes
ciso646
climits
clocale
cmath [libc++] Consistently replace `std::` qualification with `_VSTD::` or nothing. NFCI. 2020-12-01 22:13:39 -05:00
codecvt [libc++] [P0482] [C++20] Implement missing bits for codecvt and codecvt_byname. 2020-12-02 09:01:58 +01:00
compare [libc++] Consistently replace `std::` qualification with `_VSTD::` or nothing. NFCI. 2020-12-01 22:13:39 -05:00
complex [libc++] Consistently replace `std::` qualification with `_VSTD::` or nothing. NFCI. 2020-12-01 22:13:39 -05:00
complex.h
concepts [libcxx] adds std::ranges::swap, std::swappable, and std::swappable_with 2021-03-05 19:03:57 -08:00
condition_variable
csetjmp
csignal
cstdarg
cstdbool
cstddef Avoid using std::max_align_t in pre-C++11 mode 2020-04-04 01:38:41 +02:00
cstdint
cstdio Reland: Don't expose unavailable cstdio functions. 2020-04-16 12:51:08 -07:00
cstdlib Fix _LIBCPP_HAS_ definitions for Android. 2019-11-18 12:19:58 -08:00
cstring
ctgmath
ctime [libc++] Avoid including <sys/cdefs.h> on non-Apple platforms in <ctime> 2020-09-02 18:11:26 -04:00
ctype.h
cwchar
cwctype
deque [libc++] Consistently replace `std::` qualification with `_VSTD::` or nothing. NFCI. 2020-12-01 22:13:39 -05:00
errno.h
exception [libc++] Split allocator_traits and pointer_traits out of <memory> 2020-12-14 16:13:57 -05:00
execution [pstl][libc++] Provide uglified header names for interface headers 2019-08-06 21:11:24 +00:00
fenv.h
filesystem [libcxx] Avoid intermediate string objects for substrings in windows operator/= 2021-03-11 19:34:59 +02:00
float.h
format [libc++][format] Enable format_error on older compilers. 2021-02-11 19:11:20 +01:00
forward_list [libc++] Consistently replace `std::` qualification with `_VSTD::` or nothing. NFCI. 2020-12-01 22:13:39 -05:00
fstream [libc++] Make LIBCXX_ENABLE_FILESYSTEM fully consistent 2021-01-19 14:15:48 -05:00
functional [libc++] Fix typos in the synopsis of bit_xor, bit_not, etc. NFC. 2021-03-07 20:22:50 -05:00
future [libc++] ADL-proof vector<bool> by adding _VSTD:: qualification on calls. 2021-01-06 18:23:50 -05:00
initializer_list
inttypes.h
iomanip [libc++] ADL-proof vector<bool> by adding _VSTD:: qualification on calls. 2021-01-06 18:23:50 -05:00
ios [libc++] Replace several uses of 0 by nullptr 2020-11-27 10:00:21 -05:00
iosfwd Add new 'preferred_name' attribute. 2020-12-09 12:22:35 -08:00
iostream
istream [libc++] Replace several uses of 0 by nullptr 2020-11-27 10:00:21 -05:00
iterator [libc++] Rationalize our treatment of contiguous iterators and __unwrap_iter(). 2021-02-03 16:28:38 -05: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++] Rename include/support to include/__support 2021-02-04 10:16:33 -05:00
limits.h
list [libc++] Fix some one-off typos in comments. NFCI. 2020-12-14 09:54:58 -05:00
locale [libcxx] Check return value for asprintf() 2021-01-21 19:43:11 -05:00
locale.h [libc++] Move the #error message for no localization to <locale.h> 2020-10-28 09:49:37 -04:00
map [libc++] Introduce __identity_t<T>. NFCI. 2021-03-03 22:23:14 -05:00
math.h [libc++] Use builtins in more math.h functions. 2021-02-10 15:17:42 -05:00
memory [libc++] NFC: Normalize links to bug reports 2021-03-03 13:45:29 -05:00
module.modulemap [libc++] Implement format_error. 2021-01-28 18:02:53 +01:00
mutex [libc++] ADL-proof vector<bool> by adding _VSTD:: qualification on calls. 2021-01-06 18:23:50 -05:00
new [NFC][libc++] Suppress "warning: ignoring return value" 2021-02-26 14:32:54 -08:00
numbers [libcxx] cleans up __cpp_concepts mess 2021-02-26 18:43:40 +00:00
numeric [libc++] Consistently replace `std::` qualification with `_VSTD::` or nothing. NFCI. 2020-12-01 22:13:39 -05:00
optional [libc++] Consistently replace `::new(__p) T` with `::new ((void*)__p) T`. NFCI. 2020-12-14 12:08:34 -05:00
ostream [libc++] Drop old workaround for iostreams instantiations missing from the dylib 2020-10-22 14:51:25 -04:00
queue [libc++] [P0935] [C++20] Eradicating unnecessarily explicit default constructors from the standard library. 2021-01-19 08:22:06 +01:00
random [libcxx] cleans up __cpp_concepts mess 2021-02-26 18:43:40 +00:00
ratio
regex [libc++] [P0935] [C++20] Eradicating unnecessarily explicit default constructors from the standard library. 2021-01-19 08:22:06 +01:00
scoped_allocator
semaphore [libc++] Fix some one-off typos in comments. NFCI. 2020-12-14 09:54:58 -05:00
set [libc++] Introduce __identity_t<T>. NFCI. 2021-03-03 22:23:14 -05:00
setjmp.h
shared_mutex [libc++] Rework the whole availability markup implementation 2020-11-05 12:28:52 -05:00
span [libc++] Consistently unparenthesize `numeric_limits<T>::max`. NFCI. 2020-11-27 17:27:36 -05:00
sstream [libc++] [P0935] [C++20] Eradicating unnecessarily explicit default constructors from the standard library. 2021-01-19 08:22:06 +01:00
stack
stdbool.h
stddef.h Avoid using std::max_align_t in pre-C++11 mode 2020-04-04 01:38:41 +02:00
stdexcept [libc++] NFC: Simplify incude of <cstdlib> 2020-11-11 17:04:32 -05:00
stdint.h
stdio.h
stdlib.h Reland [libc++] Move abs and div into stdlib.h to fix header cycle. 2020-05-08 21:52:27 +02:00
streambuf [libc++] Replace several uses of 0 by nullptr 2020-11-27 10:00:21 -05:00
string [libcxx] Don't use dllimport for a static member in a template 2021-03-04 08:55:27 +02:00
string.h
string_view [libc++] Add `noexcept` to `string::find` and similar members. 2021-02-09 11:47:40 -08:00
strstream [libc++] [P0935] [C++20] Eradicating unnecessarily explicit default constructors from the standard library. 2021-01-19 08:22:06 +01:00
system_error [libc++] Replace several uses of 0 by nullptr 2020-11-27 10:00:21 -05:00
tgmath.h
thread [libc++] ADL-proof <thread>, and eliminate `using namespace chrono`. 2020-12-01 22:13:39 -05:00
tuple [libc++] Fix incorrect forwarding in tuple's assignment operator 2021-02-25 14:56:16 -05:00
type_traits [libc++] Introduce __identity_t<T>. NFCI. 2021-03-03 22:23:14 -05:00
typeindex
typeinfo [libc++] Consistently replace `std::` qualification with `_VSTD::` or nothing. NFCI. 2020-12-01 22:13:39 -05:00
unordered_map [libc++] Introduce __identity_t<T>. NFCI. 2021-03-03 22:23:14 -05:00
unordered_set [libc++] Introduce __identity_t<T>. NFCI. 2021-03-03 22:23:14 -05:00
utility [libc++] [C++2b] [P1682] Add to_underlying. 2021-03-05 10:31:21 +01:00
valarray [libc++] Consistently replace `::new(__p) T` with `::new ((void*)__p) T`. NFCI. 2020-12-14 12:08:34 -05:00
variant libcxx: Try to fix build after D92044 2021-01-25 15:10:41 -05:00
vector [libc++] ADL-proof by adding _VSTD:: qualifications to memmove etc. 2020-12-10 22:03:12 -05:00
version [libc++] [C++2b] [P1682] Add to_underlying. 2021-03-05 10:31:21 +01:00
wchar.h [libc++] Add missing <stddef.h> include to <wchar.h> 2020-06-25 19:27:32 -04:00
wctype.h [libc++] Only include_next <wctype.h> if it exists 2020-11-17 13:14:36 -05:00