Second half of C++17's splicing maps and sets
authorErik Pilkington <erik.pilkington@gmail.com>
Wed, 31 Oct 2018 17:31:35 +0000 (17:31 +0000)
committerErik Pilkington <erik.pilkington@gmail.com>
Wed, 31 Oct 2018 17:31:35 +0000 (17:31 +0000)
commit5c4e07ae5c6f7f467b436f1b24f41ef4cf9897b3
tree69a408ee04a99d007a9471160c16bea24433d296
parent3b39040ad44d921e1b273fe3bbfeeaa280d0cb8f
Second half of C++17's splicing maps and sets

This commit adds a merge member function to all the map and set containers,
which splices nodes from the source container. This completes support for
P0083r3.

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

llvm-svn: 345744
16 files changed:
libcxx/include/__hash_table
libcxx/include/__node_handle
libcxx/include/__tree
libcxx/include/map
libcxx/include/set
libcxx/include/unordered_map
libcxx/include/unordered_set
libcxx/include/version
libcxx/test/std/containers/associative/map/map.modifiers/merge.pass.cpp [new file with mode: 0644]
libcxx/test/std/containers/associative/multimap/multimap.modifiers/merge.pass.cpp [new file with mode: 0644]
libcxx/test/std/containers/associative/multiset/merge.pass.cpp [new file with mode: 0644]
libcxx/test/std/containers/associative/set/merge.pass.cpp [new file with mode: 0644]
libcxx/test/std/containers/unord/unord.map/unord.map.modifiers/merge.pass.cpp [new file with mode: 0644]
libcxx/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/merge.pass.cpp [new file with mode: 0644]
libcxx/test/std/containers/unord/unord.multiset/merge.pass.cpp [new file with mode: 0644]
libcxx/test/std/containers/unord/unord.set/merge.pass.cpp [new file with mode: 0644]