llvm-project/libcxx/include
Arthur O'Dwyer 7b00e9fae3 [libc++] [P1065] Constexpr invoke, reference_wrapper, mem_fn, not_fn, default_searcher.
This completes the implementation of P1065 "constexpr INVOKE":
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1065r2.html

This doesn't yet complete the implementation of P1032 "Misc constexpr bits,"
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1032r1.html
but it does complete all of the <functional> bits, which means
that we can now set `__cpp_lib_constexpr_functional` for C++20.

This could use more constexpr tests for `std::reference_wrapper<T>`,
but the existing tests are extremely non-constexpr-friendly and
so I don't want to get into that rabbit-hole today.

Differential Revision: https://reviews.llvm.org/D93815
2020-12-28 13:24:07 -05:00
..
__memory [libc++] Fix allocate_shared when used with an explicitly convertible allocator 2020-12-15 11:50:06 -05: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
support [libcxx] Port to NuttX (https://nuttx.apache.org) RTOS 2020-11-18 16:20:56 -05:00
CMakeLists.txt [libc++] Refactor allocate_shared to use an allocation guard 2020-12-14 17:10:05 -05:00
__availability [libc++] Rework the whole availability markup implementation 2020-11-05 12:28:52 -05:00
__bit_reference [libc++] Fix ABI break in __bit_reference. 2020-02-19 12:02:06 -05:00
__bsd_locale_defaults.h
__bsd_locale_fallbacks.h
__config [libc++] Fix extern C for __sanitizer_annotate_contiguous_container() (for gcc) 2020-12-17 16:20:24 -05:00
__config_site.in [libc++] Clarify how we pick the typeinfo comparison 2020-11-18 16:58:45 -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++] [P1065] Constexpr invoke, reference_wrapper, mem_fn, not_fn, default_searcher. 2020-12-28 13:24:07 -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 Bump the trunk major version to 12 2020-07-15 12:05:05 +02:00
__locale [libc++] ADL-proof by adding _VSTD:: qualifications to memmove etc. 2020-12-10 22:03:12 -05:00
__mutex_base [libc++] Consistently replace `std::` qualification with `_VSTD::` or nothing. NFCI. 2020-12-01 22:13:39 -05:00
__node_handle
__nullptr
__split_buffer [libc++] Consistently replace `std::` qualification with `_VSTD::` or nothing. NFCI. 2020-12-01 22:13:39 -05:00
__sso_allocator [libc++] Replace several uses of 0 by nullptr 2020-11-27 10:00:21 -05:00
__std_stream
__string [libc++] ADL-proof by adding _VSTD:: qualifications to memmove etc. 2020-12-10 22:03:12 -05:00
__threading_support [SystemZ][ZOS] Fix the usage of pthread_t within libc++ 2020-12-05 17:46:30 +00:00
__tree [libc++] Fix some one-off typos in comments. NFCI. 2020-12-14 09:54:58 -05:00
__tuple Refactor default constructor SFINAE in pair and tuple. 2019-09-30 20:55:30 +00:00
__undef_macros
algorithm [libc++] Consistently replace `::new(__p) T` with `::new ((void*)__p) T`. NFCI. 2020-12-14 12:08:34 -05:00
any [libc++] Rework the whole availability markup implementation 2020-11-05 12:28:52 -05:00
array [libc++] Consistently replace `std::` qualification with `_VSTD::` or nothing. NFCI. 2020-12-01 22:13:39 -05:00
atomic [libc++] Remove invalid use of `#if _LIBCPP_STD_VER >= 11`, as `_LIBCPP_STD_VER` can never be less than 11. 2020-12-11 08:31:59 +01: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++] Consistently replace `std::` qualification with `_VSTD::` or nothing. NFCI. 2020-12-01 22:13:39 -05:00
bitset [libc++] Consistently replace `std::` qualification with `_VSTD::` or nothing. NFCI. 2020-12-01 22:13:39 -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++] Replace several uses of 0 by nullptr 2020-11-27 10:00:21 -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 [concept.same] 2020-04-08 18:00:13 -04: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] Convert paths to/from the right narrow code page for narrow strings on windows 2020-12-18 11:24:52 +02:00
float.h
forward_list [libc++] Consistently replace `std::` qualification with `_VSTD::` or nothing. NFCI. 2020-12-01 22:13:39 -05:00
fstream [libc++] ADL-proof by adding _VSTD:: qualifications to memmove etc. 2020-12-10 22:03:12 -05:00
functional [libc++] [P1065] Constexpr invoke, reference_wrapper, mem_fn, not_fn, default_searcher. 2020-12-28 13:24:07 -05:00
future [libc++] Consistently replace `::new(__p) T` with `::new ((void*)__p) T`. NFCI. 2020-12-14 12:08:34 -05:00
initializer_list
inttypes.h AIX system headers need stdint.h and inttypes.h to be re-enterable 2019-06-20 15:36:32 +00:00
iomanip [libc++] Consistently replace `std::` qualification with `_VSTD::` or nothing. NFCI. 2020-12-01 22:13:39 -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++] Split allocator_traits and pointer_traits out of <memory> 2020-12-14 16:13:57 -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 Fix -Wdouble-promotion warnings. 2019-07-01 16:13:31 +00:00
limits.h
list [libc++] Fix some one-off typos in comments. NFCI. 2020-12-14 09:54:58 -05:00
locale [libc++] ADL-proof by adding _VSTD:: qualifications to memmove etc. 2020-12-10 22:03:12 -05:00
locale.h [libc++] Move the #error message for no localization to <locale.h> 2020-10-28 09:49:37 -04:00
map Fixes complexity of map insert_or_assign with a hint. 2020-09-19 16:28:55 +02:00
math.h Reland [libc++] Move abs and div into stdlib.h to fix header cycle. 2020-05-08 21:52:27 +02:00
memory [libc++] Remove unnecessary static assertion in allocate_shared 2020-12-14 17:47:43 -05:00
module.modulemap [libc++] Implement <numbers> 2020-06-19 14:25:02 +05:30
mutex [libc++] Mark __call_once_proxy as hidden and internal 2019-11-11 10:27:48 -05:00
new [libc++] Factor out common logic for calling aligned allocation 2020-11-25 15:44:50 -05:00
numbers [libc++] Consistently replace `std::` qualification with `_VSTD::` or nothing. NFCI. 2020-12-01 22:13:39 -05: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 Rename __is_foo_iterator traits to reflect their Cpp17 nature. 2019-11-18 01:49:32 -05:00
random [libcxx] Apply msvcrt specific exception for lgamma() to mingw configurations, too 2020-12-02 09:55:16 +02:00
ratio
regex Add new 'preferred_name' attribute. 2020-12-09 12:22:35 -08:00
scoped_allocator
semaphore [libc++] Fix some one-off typos in comments. NFCI. 2020-12-14 09:54:58 -05:00
set [libc++][P1115][C++20] Improving the Return Value of Erase-Like Algorithms II: Free erase/erase if. 2020-05-02 14:04:50 +02: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++] Replace several uses of 0 by nullptr 2020-11-27 10:00:21 -05: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 AIX system headers need stdint.h and inttypes.h to be re-enterable 2019-06-20 15:36:32 +00:00
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 [libc++] ADL-proof by adding _VSTD:: qualifications to memmove etc. 2020-12-10 22:03:12 -05:00
string.h
string_view Add new 'preferred_name' attribute. 2020-12-09 12:22:35 -08:00
strstream [libc++] ADL-proof by adding _VSTD:: qualifications to memmove etc. 2020-12-10 22:03:12 -05: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 Add constexpr to pair 2020-09-02 21:21:24 +02:00
type_traits [libc++] [P1065] Constexpr invoke, reference_wrapper, mem_fn, not_fn, default_searcher. 2020-12-28 13:24:07 -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++] Consistently replace `std::` qualification with `_VSTD::` or nothing. NFCI. 2020-12-01 22:13:39 -05:00
unordered_set [libc++] Implement P0919R3: heterogenous lookup for unordered containers 2020-11-11 17:44:42 -05:00
utility [libc++] Add std::hash<char8_t> specialization if char8_t is enabled 2020-12-08 13:46:18 -05:00
valarray [libc++] Consistently replace `::new(__p) T` with `::new ((void*)__p) T`. NFCI. 2020-12-14 12:08:34 -05:00
variant [libc++] Consistently replace `std::` qualification with `_VSTD::` or nothing. NFCI. 2020-12-01 22:13:39 -05:00
vector [libc++] ADL-proof by adding _VSTD:: qualifications to memmove etc. 2020-12-10 22:03:12 -05:00
version [libc++] [P1065] Constexpr invoke, reference_wrapper, mem_fn, not_fn, default_searcher. 2020-12-28 13:24:07 -05: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