llvm-project/libcxx
Erik Pilkington b0386a515b First half of C++17's splicing maps and sets
This commit adds a node handle type, (located in __node_handle), and adds
extract() and insert() members to all map and set types, as well as their
implementations in __tree and __hash_table.

The second half of this feature is adding merge() members, which splice nodes
in bulk from one container into another. This will be committed in a follow-up.

Differential revision: https://reviews.llvm.org/D46845

llvm-svn: 338472
2018-08-01 01:33:38 +00:00
..
benchmarks Add new string benchmarks 2018-07-10 04:11:22 +00:00
cmake [CMake] Don't install c++abi headers in standalone libc++ build 2018-07-25 22:57:39 +00:00
docs [libc++] Introduce _LIBCPP_HIDE_FROM_ABI to replace _LIBCPP_INLINE_VISIBILITY 2018-07-27 12:46:03 +00:00
fuzzing Wrote my own version of is_permutation; that was dominating the timings 2018-01-19 03:17:45 +00:00
include First half of C++17's splicing maps and sets 2018-08-01 01:33:38 +00:00
lib Add libc++fs to the test deps, and not to the target 'cxx'. 2018-07-27 03:47:46 +00:00
src Code cleanup - change naked 'throw' expressions to call helpre function '__throw_future_error'. The behavior change is that if you build libc++ with exceptions disabled, and then use that in a program that sets the value of the future twice (for example), it will now abort instead of behaving unpredictably. 2018-07-30 23:33:48 +00:00
test First half of C++17's splicing maps and sets 2018-08-01 01:33:38 +00:00
utils Implement <filesystem> 2018-07-27 03:07:09 +00:00
www Final bit of P0063 - make sure that aligned_alloc is available when the underlying C library supports it 2018-07-31 23:39:12 +00:00
.arcconfig [libcxx] Set up .arcconfig to point to new Diffusion CXX repository 2017-12-04 17:55:28 +00:00
.clang-format Make clang-format use C++03 syntax 2017-04-15 02:45:43 +00:00
.gitignore Implement N4606 optional 2016-10-12 07:46:20 +00:00
CMakeLists.txt Attempt to unbreak *all the bots* 2018-07-27 03:42:58 +00:00
CREDITS.TXT Try again, this time with the correct address 2017-12-29 19:26:53 +00:00
LICENSE.TXT Update year to 2017 2017-01-03 11:20:43 +00:00
NOTES.TXT Reland "Use custom command and target to install libc++ headers" 2018-06-12 03:10:02 +00:00
TODO.TXT Add list of filesystem NB comments to TODO.TXT so they can be tracked separately 2017-03-06 21:23:36 +00:00
appveyor-reqs-install.cmd Update Clang version on Appveyor bots 2018-04-04 04:33:09 +00:00
appveyor.yml Rename Appveyor install helper script. 2017-05-10 02:43:02 +00:00