llvm-project/libcxx/test/std/containers/associative/map
Eric Fiselier 54f0cda625 Fix LWG issue 2469 - Use piecewise construction in map::operator[].
map's allocator may only be used to construct objects of 'value_type',
or in this case 'pair<const Key, Value>'. In order to respect this requirement
in operator[], which requires default constructing the 'mapped_type', we have
to use pair's piecewise constructor with '(tuple<Kep>, tuple<>)'.

Unfortunately we still need to provide a fallback implementation for C++03
since we don't have <tuple>. Even worse this fallback is the last remaining
user of '__hash_map_node_destructor' and '__construct_node_with_key'.

This patch also switches try_emplace over to __tree.__emplace_unique_key_args.

llvm-svn: 264989
2016-03-31 03:13:37 +00:00
..
map.access Fix LWG issue 2469 - Use piecewise construction in map::operator[]. 2016-03-31 03:13:37 +00:00
map.cons Remove undefined behavior from tests; specifically, ensure that the value type of the allocators match the value type of the containers 2015-11-24 22:10:51 +00:00
map.modifiers Teach __tree how to handle map's __value_type 2016-03-31 02:15:15 +00:00
map.ops Add tests for LWG#2299. While doing so, I noticed that the tests we have for the transparent comparators don't actually call them. Fix those tests, too. Now one of them is failing, due to a missing const in <map>. Add that (twice). Next step is to do the same for <unordered_map> 2015-06-30 18:15:41 +00:00
map.special Remove undefined behavior from tests; specifically, ensure that the value type of the allocators match the value type of the containers 2015-11-24 22:10:51 +00:00
allocator_mismatch.fail.cpp Add static_assert to set/multiset/map/multimap/forward_list/deque that the allocator's value_type match the container's value_type. vector/unordered/list/string already do this. Add tests for all the containers to verify this. 2015-11-26 01:24:04 +00:00
compare.pass.cpp Fix warnings in array and assoc containers 2015-07-18 23:56:04 +00:00
incomplete_type.pass.cpp Cleanup node-type handling in the associative containers. 2016-02-20 05:28:30 +00:00
types.pass.cpp
version.pass.cpp