llvm-project/libcxx
Louis Dionne 7ad49aec12 [libc++] Split allocator_traits and pointer_traits out of <memory>
In addition to making the code a lot easier to grasp by localizing many
helper functions to the only file where they are actually needed, this
will allow creating helper functions that depend on allocator_traits
outside of <memory>.

This is done as part of implementing array support in allocate_shared,
which requires non-trivial array initialization algorithms that would be
better to keep out of <memory> for sanity. It's also a first step towards
splitting up our monolithic headers into finer grained ones, which will
make it easier to reuse functionality across the library. For example,
it's just weird that we had to define `addressof` inside <type_traits>
to avoid circular dependencies -- instead it's better to implement those
in true helper headers.

Differential Revision: https://reviews.llvm.org/D93074
2020-12-14 16:13:57 -05:00
..
benchmarks [runtimes] Revert the libc++ __config_site change 2020-10-23 09:41:48 -04:00
cmake [libc++] Clarify how we pick the typeinfo comparison 2020-11-18 16:58:45 -05:00
docs [libc++] [P1164] [C++20] Make fs::create_directory() error if there is already a non-directory. 2020-12-10 08:40:27 +01:00
include [libc++] Split allocator_traits and pointer_traits out of <memory> 2020-12-14 16:13:57 -05:00
lib [libc++] Use TARGET_FILE instead of TARGET_SONAME_FILE when generating ABI lists 2020-12-11 12:12:40 -05:00
src [libc++] [P1164] [C++20] Make fs::create_directory() error if there is already a non-directory. 2020-12-10 08:40:27 +01:00
test [libc++] Split allocator_traits and pointer_traits out of <memory> 2020-12-14 16:13:57 -05:00
utils generate_header_tests.py: Sort the header files ASCIIbetically. 2020-12-14 09:56:07 -05:00
www [libc++] [docs] Migrate C++ status pages to RestructuredText (RST). 2020-11-26 10:01:09 +01:00
.clang-format
.gitignore [libcxx] Fix .gitignore to not exclude test directories 2020-03-25 17:52:23 -07:00
CMakeLists.txt [libc++] [libc++abi] Use C++20 standard. 2020-11-22 15:57:25 +01:00
CREDITS.TXT [libcxx] Adds [concept.same] 2020-04-08 18:00:13 -04:00
LICENSE.TXT Fix typos throughout the license files that somehow I and my reviewers 2019-01-21 09:52:34 +00:00
TODO.TXT [libc++][NFC] Remove outdated TODO item 2020-07-08 13:04:33 -04:00
appveyor-reqs-install.cmd Attempt to upgrade compiler used by appveyor builds 2019-04-03 20:40:01 +00:00
appveyor.yml disable appveyor config for MSVC 2015 2019-04-03 20:36:51 +00:00