Extract key to avoid preemptive mallocs in insert/emplace in associative containers
authorEric Fiselier <eric@efcs.ca>
Fri, 15 Apr 2016 23:27:27 +0000 (23:27 +0000)
committerEric Fiselier <eric@efcs.ca>
Fri, 15 Apr 2016 23:27:27 +0000 (23:27 +0000)
commitfa1f613f7ef938c9d91741141d74ef4fafba3902
treeeb86af1f42bbd8ac33971cbcbfd0b5e082fdda17
parentdb6861e7dd5ba7b3ed59a92036a87ff9913c808a
Extract key to avoid preemptive mallocs in insert/emplace in associative containers

Summary: This patch applies Duncan's work on __hash_table to __tree.

Reviewers: mclow.lists, dexonsmith

Subscribers: dexonsmith, cfe-commits

Differential Revision: http://reviews.llvm.org/D18637

llvm-svn: 266491
17 files changed:
libcxx/include/__hash_table
libcxx/include/__tree
libcxx/include/__tuple
libcxx/include/type_traits
libcxx/test/std/containers/associative/map/map.modifiers/insert_allocator_requirements.pass.cpp [deleted file]
libcxx/test/std/containers/associative/map/map.modifiers/insert_and_emplace_allocator_requirements.pass.cpp [new file with mode: 0644]
libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_allocator_requirements.pass.cpp
libcxx/test/std/containers/associative/multiset/insert_allocator_requirements.pass.cpp
libcxx/test/std/containers/associative/set/insert_allocator_requirements.pass.cpp [deleted file]
libcxx/test/std/containers/associative/set/insert_and_emplace_allocator_requirements.pass.cpp [new file with mode: 0644]
libcxx/test/std/containers/map_allocator_requirement_test_templates.h [new file with mode: 0644]
libcxx/test/std/containers/set_allocator_requirement_test_templates.h [new file with mode: 0644]
libcxx/test/std/containers/unord/unord.map/unord.map.modifiers/insert_and_emplace_allocator_requirements.pass.cpp
libcxx/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/insert_allocator_requirements.pass.cpp
libcxx/test/std/containers/unord/unord.multiset/insert_allocator_requirements.pass.cpp
libcxx/test/std/containers/unord/unord.set/insert_and_emplace_allocator_requirements.pass.cpp
libcxx/test/support/assert_checkpoint.h [new file with mode: 0644]