llvm-project/libcxx/test/std/containers/associative/map
Eric Fiselier 089a7cc5de Cleanup node-type handling in the associative containers.
This patch is very similar to r260431.

This patch is the first in a series of patches that's meant to better
support map. map has a special "value_type" that
differs from pair<const Key, Value>. In order to meet the EmplaceConstructible
and CopyInsertable requirements we need to teach __tree about this
special value_type.

This patch creates a "__tree_node_types" traits class that contains
all of the typedefs needed by the associative containers and their iterators.
These typedefs include ones for each node type and  node pointer type,
as well as special typedefs for "map"'s value type.

Although the associative containers already supported incomplete types, this
patch makes it official by adding tests.

This patch will be followed up shortly with various cleanups within __tree and
fixes for various map bugs and problems.

llvm-svn: 261416
2016-02-20 05:28:30 +00:00
..
map.access 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.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 Add explicit include directives; the file was getting implicitly included already. NFC 2016-01-05 19:53:31 +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