llvm-project/libcxx/test/std/containers/associative/set
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
..
set.cons We had two identical files named 'MoveOnly.h' in the test suite. Move one to support/, remove the other, and update all the tests that included them. No functionality change. 2015-01-28 21:22:53 +00:00
set.special Implement the first part of N4258: 'Cleaning up noexcept in the Library'. This patch deals with swapping containers, and implements a more strict noexcept specification (a conforming extension) than the standard mandates. 2015-07-13 20:04:56 +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
clear.pass.cpp
count.pass.cpp
emplace.pass.cpp
emplace_hint.pass.cpp
empty.pass.cpp
equal_range.pass.cpp
erase_iter.pass.cpp Fix for LWG Issue 2059: C++0x ambiguity problem with map::erase 2015-05-10 13:35:00 +00:00
erase_iter_iter.pass.cpp
erase_key.pass.cpp
find.pass.cpp
incomplete_type.pass.cpp Cleanup node-type handling in the associative containers. 2016-02-20 05:28:30 +00:00
insert_cv.pass.cpp
insert_initializer_list.pass.cpp
insert_iter_cv.pass.cpp
insert_iter_iter.pass.cpp
insert_iter_rv.pass.cpp We had two identical files named 'MoveOnly.h' in the test suite. Move one to support/, remove the other, and update all the tests that included them. No functionality change. 2015-01-28 21:22:53 +00:00
insert_rv.pass.cpp We had two identical files named 'MoveOnly.h' in the test suite. Move one to support/, remove the other, and update all the tests that included them. No functionality change. 2015-01-28 21:22:53 +00:00
iterator.pass.cpp
lower_bound.pass.cpp
max_size.pass.cpp
size.pass.cpp
types.pass.cpp
upper_bound.pass.cpp
version.pass.cpp