summaryrefslogtreecommitdiffstats
path: root/libcxx/test/algorithms/alg.sorting/alg.set.operations
diff options
context:
space:
mode:
authorEric Fiselier <eric@efcs.ca>2014-12-20 01:40:03 +0000
committerEric Fiselier <eric@efcs.ca>2014-12-20 01:40:03 +0000
commit5a83710e371fe68a06e6e3876c6a2c8b820a8976 (patch)
treeafde4c82ad6704681781c5cd49baa3fbd05c85db /libcxx/test/algorithms/alg.sorting/alg.set.operations
parentf11e8eab527fba316c64112f6e05de1a79693a3e (diff)
downloadbcm5719-llvm-5a83710e371fe68a06e6e3876c6a2c8b820a8976.tar.gz
bcm5719-llvm-5a83710e371fe68a06e6e3876c6a2c8b820a8976.zip
Move test into test/std subdirectory.
llvm-svn: 224658
Diffstat (limited to 'libcxx/test/algorithms/alg.sorting/alg.set.operations')
-rw-r--r--libcxx/test/algorithms/alg.sorting/alg.set.operations/includes/includes.pass.cpp84
-rw-r--r--libcxx/test/algorithms/alg.sorting/alg.set.operations/includes/includes_comp.pass.cpp85
-rw-r--r--libcxx/test/algorithms/alg.sorting/alg.set.operations/nothing_to_do.pass.cpp12
-rw-r--r--libcxx/test/algorithms/alg.sorting/alg.set.operations/set.difference/set_difference.pass.cpp200
-rw-r--r--libcxx/test/algorithms/alg.sorting/alg.set.operations/set.difference/set_difference_comp.pass.cpp202
-rw-r--r--libcxx/test/algorithms/alg.sorting/alg.set.operations/set.intersection/set_intersection.pass.cpp198
-rw-r--r--libcxx/test/algorithms/alg.sorting/alg.set.operations/set.intersection/set_intersection_comp.pass.cpp200
-rw-r--r--libcxx/test/algorithms/alg.sorting/alg.set.operations/set.symmetric.difference/set_symmetric_difference.pass.cpp199
-rw-r--r--libcxx/test/algorithms/alg.sorting/alg.set.operations/set.symmetric.difference/set_symmetric_difference_comp.pass.cpp203
-rw-r--r--libcxx/test/algorithms/alg.sorting/alg.set.operations/set.union/set_union.pass.cpp198
-rw-r--r--libcxx/test/algorithms/alg.sorting/alg.set.operations/set.union/set_union_comp.pass.cpp200
11 files changed, 0 insertions, 1781 deletions
diff --git a/libcxx/test/algorithms/alg.sorting/alg.set.operations/includes/includes.pass.cpp b/libcxx/test/algorithms/alg.sorting/alg.set.operations/includes/includes.pass.cpp
deleted file mode 100644
index 8db8177fb9c..00000000000
--- a/libcxx/test/algorithms/alg.sorting/alg.set.operations/includes/includes.pass.cpp
+++ /dev/null
@@ -1,84 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <algorithm>
-
-// template<InputIterator Iter1, InputIterator Iter2>
-// requires HasLess<Iter1::value_type, Iter2::value_type>
-// && HasLess<Iter2::value_type, Iter1::value_type>
-// bool
-// includes(Iter1 first1, Iter1 last1, Iter2 first2, Iter2 last2);
-
-#include <algorithm>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class Iter1, class Iter2>
-void
-test()
-{
- int ia[] = {1, 2, 2, 3, 3, 3, 4, 4, 4, 4};
- const unsigned sa = sizeof(ia)/sizeof(ia[0]);
- int ib[] = {2, 4};
- const unsigned sb = sizeof(ib)/sizeof(ib[0]);
- int ic[] = {1, 2};
- const unsigned sc = sizeof(ic)/sizeof(ic[0]);
- int id[] = {3, 3, 3, 3};
- const unsigned sd = sizeof(id)/sizeof(id[0]);
-
- assert(std::includes(Iter1(ia), Iter1(ia), Iter2(ib), Iter2(ib)));
- assert(!std::includes(Iter1(ia), Iter1(ia), Iter2(ib), Iter2(ib+1)));
- assert(std::includes(Iter1(ia), Iter1(ia+1), Iter2(ib), Iter2(ib)));
- assert(std::includes(Iter1(ia), Iter1(ia+sa), Iter2(ia), Iter2(ia+sa)));
-
- assert(std::includes(Iter1(ia), Iter1(ia+sa), Iter2(ib), Iter2(ib+sb)));
- assert(!std::includes(Iter1(ib), Iter1(ib+sb), Iter2(ia), Iter2(ia+sa)));
-
- assert(std::includes(Iter1(ia), Iter1(ia+2), Iter2(ic), Iter2(ic+2)));
- assert(!std::includes(Iter1(ia), Iter1(ia+2), Iter2(ib), Iter2(ib+2)));
-
- assert(std::includes(Iter1(ia), Iter1(ia+sa), Iter2(id), Iter2(id+1)));
- assert(std::includes(Iter1(ia), Iter1(ia+sa), Iter2(id), Iter2(id+2)));
- assert(std::includes(Iter1(ia), Iter1(ia+sa), Iter2(id), Iter2(id+3)));
- assert(!std::includes(Iter1(ia), Iter1(ia+sa), Iter2(id), Iter2(id+4)));
-}
-
-int main()
-{
- test<input_iterator<const int*>, input_iterator<const int*> >();
- test<input_iterator<const int*>, forward_iterator<const int*> >();
- test<input_iterator<const int*>, bidirectional_iterator<const int*> >();
- test<input_iterator<const int*>, random_access_iterator<const int*> >();
- test<input_iterator<const int*>, const int*>();
-
- test<forward_iterator<const int*>, input_iterator<const int*> >();
- test<forward_iterator<const int*>, forward_iterator<const int*> >();
- test<forward_iterator<const int*>, bidirectional_iterator<const int*> >();
- test<forward_iterator<const int*>, random_access_iterator<const int*> >();
- test<forward_iterator<const int*>, const int*>();
-
- test<bidirectional_iterator<const int*>, input_iterator<const int*> >();
- test<bidirectional_iterator<const int*>, forward_iterator<const int*> >();
- test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*> >();
- test<bidirectional_iterator<const int*>, random_access_iterator<const int*> >();
- test<bidirectional_iterator<const int*>, const int*>();
-
- test<random_access_iterator<const int*>, input_iterator<const int*> >();
- test<random_access_iterator<const int*>, forward_iterator<const int*> >();
- test<random_access_iterator<const int*>, bidirectional_iterator<const int*> >();
- test<random_access_iterator<const int*>, random_access_iterator<const int*> >();
- test<random_access_iterator<const int*>, const int*>();
-
- test<const int*, input_iterator<const int*> >();
- test<const int*, forward_iterator<const int*> >();
- test<const int*, bidirectional_iterator<const int*> >();
- test<const int*, random_access_iterator<const int*> >();
- test<const int*, const int*>();
-}
diff --git a/libcxx/test/algorithms/alg.sorting/alg.set.operations/includes/includes_comp.pass.cpp b/libcxx/test/algorithms/alg.sorting/alg.set.operations/includes/includes_comp.pass.cpp
deleted file mode 100644
index 7e1aef4749a..00000000000
--- a/libcxx/test/algorithms/alg.sorting/alg.set.operations/includes/includes_comp.pass.cpp
+++ /dev/null
@@ -1,85 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <algorithm>
-
-// template<InputIterator Iter1, InputIterator Iter2, typename Compare>
-// requires Predicate<Compare, Iter1::value_type, Iter2::value_type>
-// && Predicate<Compare, Iter2::value_type, Iter1::value_type>
-// bool
-// includes(Iter1 first1, Iter1 last1, Iter2 first2, Iter2 last2, Compare comp);
-
-#include <algorithm>
-#include <functional>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class Iter1, class Iter2>
-void
-test()
-{
- int ia[] = {1, 2, 2, 3, 3, 3, 4, 4, 4, 4};
- const unsigned sa = sizeof(ia)/sizeof(ia[0]);
- int ib[] = {2, 4};
- const unsigned sb = sizeof(ib)/sizeof(ib[0]);
- int ic[] = {1, 2};
- const unsigned sc = sizeof(ic)/sizeof(ic[0]);
- int id[] = {3, 3, 3, 3};
- const unsigned sd = sizeof(id)/sizeof(id[0]);
-
- assert(std::includes(Iter1(ia), Iter1(ia), Iter2(ib), Iter2(ib), std::less<int>()));
- assert(!std::includes(Iter1(ia), Iter1(ia), Iter2(ib), Iter2(ib+1), std::less<int>()));
- assert(std::includes(Iter1(ia), Iter1(ia+1), Iter2(ib), Iter2(ib), std::less<int>()));
- assert(std::includes(Iter1(ia), Iter1(ia+sa), Iter2(ia), Iter2(ia+sa), std::less<int>()));
-
- assert(std::includes(Iter1(ia), Iter1(ia+sa), Iter2(ib), Iter2(ib+sb), std::less<int>()));
- assert(!std::includes(Iter1(ib), Iter1(ib+sb), Iter2(ia), Iter2(ia+sa), std::less<int>()));
-
- assert(std::includes(Iter1(ia), Iter1(ia+2), Iter2(ic), Iter2(ic+2), std::less<int>()));
- assert(!std::includes(Iter1(ia), Iter1(ia+2), Iter2(ib), Iter2(ib+2), std::less<int>()));
-
- assert(std::includes(Iter1(ia), Iter1(ia+sa), Iter2(id), Iter2(id+1), std::less<int>()));
- assert(std::includes(Iter1(ia), Iter1(ia+sa), Iter2(id), Iter2(id+2), std::less<int>()));
- assert(std::includes(Iter1(ia), Iter1(ia+sa), Iter2(id), Iter2(id+3), std::less<int>()));
- assert(!std::includes(Iter1(ia), Iter1(ia+sa), Iter2(id), Iter2(id+4), std::less<int>()));
-}
-
-int main()
-{
- test<input_iterator<const int*>, input_iterator<const int*> >();
- test<input_iterator<const int*>, forward_iterator<const int*> >();
- test<input_iterator<const int*>, bidirectional_iterator<const int*> >();
- test<input_iterator<const int*>, random_access_iterator<const int*> >();
- test<input_iterator<const int*>, const int*>();
-
- test<forward_iterator<const int*>, input_iterator<const int*> >();
- test<forward_iterator<const int*>, forward_iterator<const int*> >();
- test<forward_iterator<const int*>, bidirectional_iterator<const int*> >();
- test<forward_iterator<const int*>, random_access_iterator<const int*> >();
- test<forward_iterator<const int*>, const int*>();
-
- test<bidirectional_iterator<const int*>, input_iterator<const int*> >();
- test<bidirectional_iterator<const int*>, forward_iterator<const int*> >();
- test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*> >();
- test<bidirectional_iterator<const int*>, random_access_iterator<const int*> >();
- test<bidirectional_iterator<const int*>, const int*>();
-
- test<random_access_iterator<const int*>, input_iterator<const int*> >();
- test<random_access_iterator<const int*>, forward_iterator<const int*> >();
- test<random_access_iterator<const int*>, bidirectional_iterator<const int*> >();
- test<random_access_iterator<const int*>, random_access_iterator<const int*> >();
- test<random_access_iterator<const int*>, const int*>();
-
- test<const int*, input_iterator<const int*> >();
- test<const int*, forward_iterator<const int*> >();
- test<const int*, bidirectional_iterator<const int*> >();
- test<const int*, random_access_iterator<const int*> >();
- test<const int*, const int*>();
-}
diff --git a/libcxx/test/algorithms/alg.sorting/alg.set.operations/nothing_to_do.pass.cpp b/libcxx/test/algorithms/alg.sorting/alg.set.operations/nothing_to_do.pass.cpp
deleted file mode 100644
index b58f5c55b64..00000000000
--- a/libcxx/test/algorithms/alg.sorting/alg.set.operations/nothing_to_do.pass.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-int main()
-{
-}
diff --git a/libcxx/test/algorithms/alg.sorting/alg.set.operations/set.difference/set_difference.pass.cpp b/libcxx/test/algorithms/alg.sorting/alg.set.operations/set.difference/set_difference.pass.cpp
deleted file mode 100644
index c2c20c295ca..00000000000
--- a/libcxx/test/algorithms/alg.sorting/alg.set.operations/set.difference/set_difference.pass.cpp
+++ /dev/null
@@ -1,200 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <algorithm>
-
-// template<InputIterator InIter1, InputIterator InIter2, typename OutIter>
-// requires OutputIterator<OutIter, InIter1::reference>
-// && OutputIterator<OutIter, InIter2::reference>
-// && HasLess<InIter2::value_type, InIter1::value_type>
-// && HasLess<InIter1::value_type, InIter2::value_type>
-// OutIter
-// set_difference(InIter1 first1, InIter1 last1, InIter2 first2, InIter2 last2,
-// OutIter result);
-
-#include <algorithm>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class Iter1, class Iter2, class OutIter>
-void
-test()
-{
- int ia[] = {1, 2, 2, 3, 3, 3, 4, 4, 4, 4};
- const int sa = sizeof(ia)/sizeof(ia[0]);
- int ib[] = {2, 4, 4, 6};
- const int sb = sizeof(ib)/sizeof(ib[0]);
- int ic[20];
- int ir[] = {1, 2, 3, 3, 3, 4, 4};
- const int sr = sizeof(ir)/sizeof(ir[0]);
- OutIter ce = std::set_difference(Iter1(ia), Iter1(ia+sa),
- Iter2(ib), Iter2(ib+sb), OutIter(ic));
- assert(base(ce) - ic == sr);
- assert(std::lexicographical_compare(ic, base(ce), ir, ir+sr) == 0);
- int irr[] = {6};
- const int srr = sizeof(irr)/sizeof(irr[0]);
- ce = std::set_difference(Iter1(ib), Iter1(ib+sb),
- Iter2(ia), Iter2(ia+sa), OutIter(ic));
- assert(base(ce) - ic == srr);
- assert(std::lexicographical_compare(ic, base(ce), irr, irr+srr) == 0);
-}
-
-int main()
-{
- test<input_iterator<const int*>, input_iterator<const int*>, output_iterator<int*> >();
- test<input_iterator<const int*>, input_iterator<const int*>, forward_iterator<int*> >();
- test<input_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<input_iterator<const int*>, input_iterator<const int*>, random_access_iterator<int*> >();
- test<input_iterator<const int*>, input_iterator<const int*>, int*>();
-
- test<input_iterator<const int*>, forward_iterator<const int*>, output_iterator<int*> >();
- test<input_iterator<const int*>, forward_iterator<const int*>, forward_iterator<int*> >();
- test<input_iterator<const int*>, forward_iterator<const int*>, bidirectional_iterator<int*> >();
- test<input_iterator<const int*>, forward_iterator<const int*>, random_access_iterator<int*> >();
- test<input_iterator<const int*>, forward_iterator<const int*>, int*>();
-
- test<input_iterator<const int*>, bidirectional_iterator<const int*>, output_iterator<int*> >();
- test<input_iterator<const int*>, bidirectional_iterator<const int*>, forward_iterator<int*> >();
- test<input_iterator<const int*>, bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
- test<input_iterator<const int*>, bidirectional_iterator<const int*>, random_access_iterator<int*> >();
- test<input_iterator<const int*>, bidirectional_iterator<const int*>, int*>();
-
- test<input_iterator<const int*>, random_access_iterator<const int*>, output_iterator<int*> >();
- test<input_iterator<const int*>, random_access_iterator<const int*>, forward_iterator<int*> >();
- test<input_iterator<const int*>, random_access_iterator<const int*>, bidirectional_iterator<int*> >();
- test<input_iterator<const int*>, random_access_iterator<const int*>, random_access_iterator<int*> >();
- test<input_iterator<const int*>, random_access_iterator<const int*>, int*>();
-
- test<input_iterator<const int*>, const int*, output_iterator<int*> >();
- test<input_iterator<const int*>, const int*, forward_iterator<int*> >();
- test<input_iterator<const int*>, const int*, bidirectional_iterator<int*> >();
- test<input_iterator<const int*>, const int*, random_access_iterator<int*> >();
- test<input_iterator<const int*>, const int*, int*>();
-
- test<forward_iterator<const int*>, input_iterator<const int*>, output_iterator<int*> >();
- test<forward_iterator<const int*>, input_iterator<const int*>, forward_iterator<int*> >();
- test<forward_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<forward_iterator<const int*>, input_iterator<const int*>, random_access_iterator<int*> >();
- test<forward_iterator<const int*>, input_iterator<const int*>, int*>();
-
- test<forward_iterator<const int*>, forward_iterator<const int*>, output_iterator<int*> >();
- test<forward_iterator<const int*>, forward_iterator<const int*>, forward_iterator<int*> >();
- test<forward_iterator<const int*>, forward_iterator<const int*>, bidirectional_iterator<int*> >();
- test<forward_iterator<const int*>, forward_iterator<const int*>, random_access_iterator<int*> >();
- test<forward_iterator<const int*>, forward_iterator<const int*>, int*>();
-
- test<forward_iterator<const int*>, bidirectional_iterator<const int*>, output_iterator<int*> >();
- test<forward_iterator<const int*>, bidirectional_iterator<const int*>, forward_iterator<int*> >();
- test<forward_iterator<const int*>, bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
- test<forward_iterator<const int*>, bidirectional_iterator<const int*>, random_access_iterator<int*> >();
- test<forward_iterator<const int*>, bidirectional_iterator<const int*>, int*>();
-
- test<forward_iterator<const int*>, random_access_iterator<const int*>, output_iterator<int*> >();
- test<forward_iterator<const int*>, random_access_iterator<const int*>, forward_iterator<int*> >();
- test<forward_iterator<const int*>, random_access_iterator<const int*>, bidirectional_iterator<int*> >();
- test<forward_iterator<const int*>, random_access_iterator<const int*>, random_access_iterator<int*> >();
- test<forward_iterator<const int*>, random_access_iterator<const int*>, int*>();
-
- test<forward_iterator<const int*>, const int*, output_iterator<int*> >();
- test<forward_iterator<const int*>, const int*, forward_iterator<int*> >();
- test<forward_iterator<const int*>, const int*, bidirectional_iterator<int*> >();
- test<forward_iterator<const int*>, const int*, random_access_iterator<int*> >();
- test<forward_iterator<const int*>, const int*, int*>();
-
- test<bidirectional_iterator<const int*>, input_iterator<const int*>, output_iterator<int*> >();
- test<bidirectional_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<bidirectional_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<bidirectional_iterator<const int*>, input_iterator<const int*>, random_access_iterator<int*> >();
- test<bidirectional_iterator<const int*>, input_iterator<const int*>, int*>();
-
- test<bidirectional_iterator<const int*>, forward_iterator<const int*>, output_iterator<int*> >();
- test<bidirectional_iterator<const int*>, forward_iterator<const int*>, forward_iterator<int*> >();
- test<bidirectional_iterator<const int*>, forward_iterator<const int*>, bidirectional_iterator<int*> >();
- test<bidirectional_iterator<const int*>, forward_iterator<const int*>, random_access_iterator<int*> >();
- test<bidirectional_iterator<const int*>, forward_iterator<const int*>, int*>();
-
- test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*>, output_iterator<int*> >();
- test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*>, forward_iterator<int*> >();
- test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
- test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*>, random_access_iterator<int*> >();
- test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*>, int*>();
-
- test<bidirectional_iterator<const int*>, random_access_iterator<const int*>, output_iterator<int*> >();
- test<bidirectional_iterator<const int*>, random_access_iterator<const int*>, forward_iterator<int*> >();
- test<bidirectional_iterator<const int*>, random_access_iterator<const int*>, bidirectional_iterator<int*> >();
- test<bidirectional_iterator<const int*>, random_access_iterator<const int*>, random_access_iterator<int*> >();
- test<bidirectional_iterator<const int*>, random_access_iterator<const int*>, int*>();
-
- test<bidirectional_iterator<const int*>, const int*, output_iterator<int*> >();
- test<bidirectional_iterator<const int*>, const int*, forward_iterator<int*> >();
- test<bidirectional_iterator<const int*>, const int*, bidirectional_iterator<int*> >();
- test<bidirectional_iterator<const int*>, const int*, random_access_iterator<int*> >();
- test<bidirectional_iterator<const int*>, const int*, int*>();
-
- test<random_access_iterator<const int*>, input_iterator<const int*>, output_iterator<int*> >();
- test<random_access_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<random_access_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<random_access_iterator<const int*>, input_iterator<const int*>, random_access_iterator<int*> >();
- test<random_access_iterator<const int*>, input_iterator<const int*>, int*>();
-
- test<random_access_iterator<const int*>, forward_iterator<const int*>, output_iterator<int*> >();
- test<random_access_iterator<const int*>, forward_iterator<const int*>, forward_iterator<int*> >();
- test<random_access_iterator<const int*>, forward_iterator<const int*>, bidirectional_iterator<int*> >();
- test<random_access_iterator<const int*>, forward_iterator<const int*>, random_access_iterator<int*> >();
- test<random_access_iterator<const int*>, forward_iterator<const int*>, int*>();
-
- test<random_access_iterator<const int*>, bidirectional_iterator<const int*>, output_iterator<int*> >();
- test<random_access_iterator<const int*>, bidirectional_iterator<const int*>, forward_iterator<int*> >();
- test<random_access_iterator<const int*>, bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
- test<random_access_iterator<const int*>, bidirectional_iterator<const int*>, random_access_iterator<int*> >();
- test<random_access_iterator<const int*>, bidirectional_iterator<const int*>, int*>();
-
- test<random_access_iterator<const int*>, random_access_iterator<const int*>, output_iterator<int*> >();
- test<random_access_iterator<const int*>, random_access_iterator<const int*>, forward_iterator<int*> >();
- test<random_access_iterator<const int*>, random_access_iterator<const int*>, bidirectional_iterator<int*> >();
- test<random_access_iterator<const int*>, random_access_iterator<const int*>, random_access_iterator<int*> >();
- test<random_access_iterator<const int*>, random_access_iterator<const int*>, int*>();
-
- test<random_access_iterator<const int*>, const int*, output_iterator<int*> >();
- test<random_access_iterator<const int*>, const int*, forward_iterator<int*> >();
- test<random_access_iterator<const int*>, const int*, bidirectional_iterator<int*> >();
- test<random_access_iterator<const int*>, const int*, random_access_iterator<int*> >();
- test<random_access_iterator<const int*>, const int*, int*>();
-
- test<const int*, input_iterator<const int*>, output_iterator<int*> >();
- test<const int*, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<const int*, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<const int*, input_iterator<const int*>, random_access_iterator<int*> >();
- test<const int*, input_iterator<const int*>, int*>();
-
- test<const int*, forward_iterator<const int*>, output_iterator<int*> >();
- test<const int*, forward_iterator<const int*>, forward_iterator<int*> >();
- test<const int*, forward_iterator<const int*>, bidirectional_iterator<int*> >();
- test<const int*, forward_iterator<const int*>, random_access_iterator<int*> >();
- test<const int*, forward_iterator<const int*>, int*>();
-
- test<const int*, bidirectional_iterator<const int*>, output_iterator<int*> >();
- test<const int*, bidirectional_iterator<const int*>, forward_iterator<int*> >();
- test<const int*, bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
- test<const int*, bidirectional_iterator<const int*>, random_access_iterator<int*> >();
- test<const int*, bidirectional_iterator<const int*>, int*>();
-
- test<const int*, random_access_iterator<const int*>, output_iterator<int*> >();
- test<const int*, random_access_iterator<const int*>, forward_iterator<int*> >();
- test<const int*, random_access_iterator<const int*>, bidirectional_iterator<int*> >();
- test<const int*, random_access_iterator<const int*>, random_access_iterator<int*> >();
- test<const int*, random_access_iterator<const int*>, int*>();
-
- test<const int*, const int*, output_iterator<int*> >();
- test<const int*, const int*, forward_iterator<int*> >();
- test<const int*, const int*, bidirectional_iterator<int*> >();
- test<const int*, const int*, random_access_iterator<int*> >();
- test<const int*, const int*, int*>();
-}
diff --git a/libcxx/test/algorithms/alg.sorting/alg.set.operations/set.difference/set_difference_comp.pass.cpp b/libcxx/test/algorithms/alg.sorting/alg.set.operations/set.difference/set_difference_comp.pass.cpp
deleted file mode 100644
index 2b5a6a9f56b..00000000000
--- a/libcxx/test/algorithms/alg.sorting/alg.set.operations/set.difference/set_difference_comp.pass.cpp
+++ /dev/null
@@ -1,202 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <algorithm>
-
-// template<InputIterator InIter1, InputIterator InIter2, typename OutIter,
-// CopyConstructible Compare>
-// requires OutputIterator<OutIter, InIter1::reference>
-// && OutputIterator<OutIter, InIter2::reference>
-// && Predicate<Compare, InIter1::value_type, InIter2::value_type>
-// && Predicate<Compare, InIter2::value_type, InIter1::value_type>
-// OutIter
-// set_difference(InIter1 first1, InIter1 last1, InIter2 first2, InIter2 last2,
-// OutIter result, Compare comp);
-
-#include <algorithm>
-#include <functional>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class Iter1, class Iter2, class OutIter>
-void
-test()
-{
- int ia[] = {1, 2, 2, 3, 3, 3, 4, 4, 4, 4};
- const int sa = sizeof(ia)/sizeof(ia[0]);
- int ib[] = {2, 4, 4, 6};
- const int sb = sizeof(ib)/sizeof(ib[0]);
- int ic[20];
- int ir[] = {1, 2, 3, 3, 3, 4, 4};
- const int sr = sizeof(ir)/sizeof(ir[0]);
- OutIter ce = std::set_difference(Iter1(ia), Iter1(ia+sa),
- Iter2(ib), Iter2(ib+sb), OutIter(ic), std::less<int>());
- assert(base(ce) - ic == sr);
- assert(std::lexicographical_compare(ic, base(ce), ir, ir+sr) == 0);
- int irr[] = {6};
- const int srr = sizeof(irr)/sizeof(irr[0]);
- ce = std::set_difference(Iter1(ib), Iter1(ib+sb),
- Iter2(ia), Iter2(ia+sa), OutIter(ic), std::less<int>());
- assert(base(ce) - ic == srr);
- assert(std::lexicographical_compare(ic, base(ce), irr, irr+srr) == 0);
-}
-
-int main()
-{
- test<input_iterator<const int*>, input_iterator<const int*>, output_iterator<int*> >();
- test<input_iterator<const int*>, input_iterator<const int*>, forward_iterator<int*> >();
- test<input_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<input_iterator<const int*>, input_iterator<const int*>, random_access_iterator<int*> >();
- test<input_iterator<const int*>, input_iterator<const int*>, int*>();
-
- test<input_iterator<const int*>, forward_iterator<const int*>, output_iterator<int*> >();
- test<input_iterator<const int*>, forward_iterator<const int*>, forward_iterator<int*> >();
- test<input_iterator<const int*>, forward_iterator<const int*>, bidirectional_iterator<int*> >();
- test<input_iterator<const int*>, forward_iterator<const int*>, random_access_iterator<int*> >();
- test<input_iterator<const int*>, forward_iterator<const int*>, int*>();
-
- test<input_iterator<const int*>, bidirectional_iterator<const int*>, output_iterator<int*> >();
- test<input_iterator<const int*>, bidirectional_iterator<const int*>, forward_iterator<int*> >();
- test<input_iterator<const int*>, bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
- test<input_iterator<const int*>, bidirectional_iterator<const int*>, random_access_iterator<int*> >();
- test<input_iterator<const int*>, bidirectional_iterator<const int*>, int*>();
-
- test<input_iterator<const int*>, random_access_iterator<const int*>, output_iterator<int*> >();
- test<input_iterator<const int*>, random_access_iterator<const int*>, forward_iterator<int*> >();
- test<input_iterator<const int*>, random_access_iterator<const int*>, bidirectional_iterator<int*> >();
- test<input_iterator<const int*>, random_access_iterator<const int*>, random_access_iterator<int*> >();
- test<input_iterator<const int*>, random_access_iterator<const int*>, int*>();
-
- test<input_iterator<const int*>, const int*, output_iterator<int*> >();
- test<input_iterator<const int*>, const int*, forward_iterator<int*> >();
- test<input_iterator<const int*>, const int*, bidirectional_iterator<int*> >();
- test<input_iterator<const int*>, const int*, random_access_iterator<int*> >();
- test<input_iterator<const int*>, const int*, int*>();
-
- test<forward_iterator<const int*>, input_iterator<const int*>, output_iterator<int*> >();
- test<forward_iterator<const int*>, input_iterator<const int*>, forward_iterator<int*> >();
- test<forward_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<forward_iterator<const int*>, input_iterator<const int*>, random_access_iterator<int*> >();
- test<forward_iterator<const int*>, input_iterator<const int*>, int*>();
-
- test<forward_iterator<const int*>, forward_iterator<const int*>, output_iterator<int*> >();
- test<forward_iterator<const int*>, forward_iterator<const int*>, forward_iterator<int*> >();
- test<forward_iterator<const int*>, forward_iterator<const int*>, bidirectional_iterator<int*> >();
- test<forward_iterator<const int*>, forward_iterator<const int*>, random_access_iterator<int*> >();
- test<forward_iterator<const int*>, forward_iterator<const int*>, int*>();
-
- test<forward_iterator<const int*>, bidirectional_iterator<const int*>, output_iterator<int*> >();
- test<forward_iterator<const int*>, bidirectional_iterator<const int*>, forward_iterator<int*> >();
- test<forward_iterator<const int*>, bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
- test<forward_iterator<const int*>, bidirectional_iterator<const int*>, random_access_iterator<int*> >();
- test<forward_iterator<const int*>, bidirectional_iterator<const int*>, int*>();
-
- test<forward_iterator<const int*>, random_access_iterator<const int*>, output_iterator<int*> >();
- test<forward_iterator<const int*>, random_access_iterator<const int*>, forward_iterator<int*> >();
- test<forward_iterator<const int*>, random_access_iterator<const int*>, bidirectional_iterator<int*> >();
- test<forward_iterator<const int*>, random_access_iterator<const int*>, random_access_iterator<int*> >();
- test<forward_iterator<const int*>, random_access_iterator<const int*>, int*>();
-
- test<forward_iterator<const int*>, const int*, output_iterator<int*> >();
- test<forward_iterator<const int*>, const int*, forward_iterator<int*> >();
- test<forward_iterator<const int*>, const int*, bidirectional_iterator<int*> >();
- test<forward_iterator<const int*>, const int*, random_access_iterator<int*> >();
- test<forward_iterator<const int*>, const int*, int*>();
-
- test<bidirectional_iterator<const int*>, input_iterator<const int*>, output_iterator<int*> >();
- test<bidirectional_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<bidirectional_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<bidirectional_iterator<const int*>, input_iterator<const int*>, random_access_iterator<int*> >();
- test<bidirectional_iterator<const int*>, input_iterator<const int*>, int*>();
-
- test<bidirectional_iterator<const int*>, forward_iterator<const int*>, output_iterator<int*> >();
- test<bidirectional_iterator<const int*>, forward_iterator<const int*>, forward_iterator<int*> >();
- test<bidirectional_iterator<const int*>, forward_iterator<const int*>, bidirectional_iterator<int*> >();
- test<bidirectional_iterator<const int*>, forward_iterator<const int*>, random_access_iterator<int*> >();
- test<bidirectional_iterator<const int*>, forward_iterator<const int*>, int*>();
-
- test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*>, output_iterator<int*> >();
- test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*>, forward_iterator<int*> >();
- test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
- test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*>, random_access_iterator<int*> >();
- test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*>, int*>();
-
- test<bidirectional_iterator<const int*>, random_access_iterator<const int*>, output_iterator<int*> >();
- test<bidirectional_iterator<const int*>, random_access_iterator<const int*>, forward_iterator<int*> >();
- test<bidirectional_iterator<const int*>, random_access_iterator<const int*>, bidirectional_iterator<int*> >();
- test<bidirectional_iterator<const int*>, random_access_iterator<const int*>, random_access_iterator<int*> >();
- test<bidirectional_iterator<const int*>, random_access_iterator<const int*>, int*>();
-
- test<bidirectional_iterator<const int*>, const int*, output_iterator<int*> >();
- test<bidirectional_iterator<const int*>, const int*, forward_iterator<int*> >();
- test<bidirectional_iterator<const int*>, const int*, bidirectional_iterator<int*> >();
- test<bidirectional_iterator<const int*>, const int*, random_access_iterator<int*> >();
- test<bidirectional_iterator<const int*>, const int*, int*>();
-
- test<random_access_iterator<const int*>, input_iterator<const int*>, output_iterator<int*> >();
- test<random_access_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<random_access_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<random_access_iterator<const int*>, input_iterator<const int*>, random_access_iterator<int*> >();
- test<random_access_iterator<const int*>, input_iterator<const int*>, int*>();
-
- test<random_access_iterator<const int*>, forward_iterator<const int*>, output_iterator<int*> >();
- test<random_access_iterator<const int*>, forward_iterator<const int*>, forward_iterator<int*> >();
- test<random_access_iterator<const int*>, forward_iterator<const int*>, bidirectional_iterator<int*> >();
- test<random_access_iterator<const int*>, forward_iterator<const int*>, random_access_iterator<int*> >();
- test<random_access_iterator<const int*>, forward_iterator<const int*>, int*>();
-
- test<random_access_iterator<const int*>, bidirectional_iterator<const int*>, output_iterator<int*> >();
- test<random_access_iterator<const int*>, bidirectional_iterator<const int*>, forward_iterator<int*> >();
- test<random_access_iterator<const int*>, bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
- test<random_access_iterator<const int*>, bidirectional_iterator<const int*>, random_access_iterator<int*> >();
- test<random_access_iterator<const int*>, bidirectional_iterator<const int*>, int*>();
-
- test<random_access_iterator<const int*>, random_access_iterator<const int*>, output_iterator<int*> >();
- test<random_access_iterator<const int*>, random_access_iterator<const int*>, forward_iterator<int*> >();
- test<random_access_iterator<const int*>, random_access_iterator<const int*>, bidirectional_iterator<int*> >();
- test<random_access_iterator<const int*>, random_access_iterator<const int*>, random_access_iterator<int*> >();
- test<random_access_iterator<const int*>, random_access_iterator<const int*>, int*>();
-
- test<random_access_iterator<const int*>, const int*, output_iterator<int*> >();
- test<random_access_iterator<const int*>, const int*, forward_iterator<int*> >();
- test<random_access_iterator<const int*>, const int*, bidirectional_iterator<int*> >();
- test<random_access_iterator<const int*>, const int*, random_access_iterator<int*> >();
- test<random_access_iterator<const int*>, const int*, int*>();
-
- test<const int*, input_iterator<const int*>, output_iterator<int*> >();
- test<const int*, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<const int*, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<const int*, input_iterator<const int*>, random_access_iterator<int*> >();
- test<const int*, input_iterator<const int*>, int*>();
-
- test<const int*, forward_iterator<const int*>, output_iterator<int*> >();
- test<const int*, forward_iterator<const int*>, forward_iterator<int*> >();
- test<const int*, forward_iterator<const int*>, bidirectional_iterator<int*> >();
- test<const int*, forward_iterator<const int*>, random_access_iterator<int*> >();
- test<const int*, forward_iterator<const int*>, int*>();
-
- test<const int*, bidirectional_iterator<const int*>, output_iterator<int*> >();
- test<const int*, bidirectional_iterator<const int*>, forward_iterator<int*> >();
- test<const int*, bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
- test<const int*, bidirectional_iterator<const int*>, random_access_iterator<int*> >();
- test<const int*, bidirectional_iterator<const int*>, int*>();
-
- test<const int*, random_access_iterator<const int*>, output_iterator<int*> >();
- test<const int*, random_access_iterator<const int*>, forward_iterator<int*> >();
- test<const int*, random_access_iterator<const int*>, bidirectional_iterator<int*> >();
- test<const int*, random_access_iterator<const int*>, random_access_iterator<int*> >();
- test<const int*, random_access_iterator<const int*>, int*>();
-
- test<const int*, const int*, output_iterator<int*> >();
- test<const int*, const int*, forward_iterator<int*> >();
- test<const int*, const int*, bidirectional_iterator<int*> >();
- test<const int*, const int*, random_access_iterator<int*> >();
- test<const int*, const int*, int*>();
-}
diff --git a/libcxx/test/algorithms/alg.sorting/alg.set.operations/set.intersection/set_intersection.pass.cpp b/libcxx/test/algorithms/alg.sorting/alg.set.operations/set.intersection/set_intersection.pass.cpp
deleted file mode 100644
index f371890d8e7..00000000000
--- a/libcxx/test/algorithms/alg.sorting/alg.set.operations/set.intersection/set_intersection.pass.cpp
+++ /dev/null
@@ -1,198 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <algorithm>
-
-// template<InputIterator InIter1, InputIterator InIter2, typename OutIter>
-// requires OutputIterator<OutIter, InIter1::reference>
-// && OutputIterator<OutIter, InIter2::reference>
-// && HasLess<InIter2::value_type, InIter1::value_type>
-// && HasLess<InIter1::value_type, InIter2::value_type>
-// OutIter
-// set_intersection(InIter1 first1, InIter1 last1, InIter2 first2, InIter2 last2,
-// OutIter result);
-
-#include <algorithm>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class Iter1, class Iter2, class OutIter>
-void
-test()
-{
- int ia[] = {1, 2, 2, 3, 3, 3, 4, 4, 4, 4};
- const int sa = sizeof(ia)/sizeof(ia[0]);
- int ib[] = {2, 4, 4, 6};
- const int sb = sizeof(ib)/sizeof(ib[0]);
- int ic[20];
- int ir[] = {2, 4, 4};
- const int sr = sizeof(ir)/sizeof(ir[0]);
- OutIter ce = std::set_intersection(Iter1(ia), Iter1(ia+sa),
- Iter2(ib), Iter2(ib+sb), OutIter(ic));
- assert(base(ce) - ic == sr);
- assert(std::lexicographical_compare(ic, base(ce), ir, ir+sr) == 0);
- ce = std::set_intersection(Iter1(ib), Iter1(ib+sb),
- Iter2(ia), Iter2(ia+sa), OutIter(ic));
- assert(base(ce) - ic == sr);
- assert(std::lexicographical_compare(ic, base(ce), ir, ir+sr) == 0);
-}
-
-int main()
-{
- test<input_iterator<const int*>, input_iterator<const int*>, output_iterator<int*> >();
- test<input_iterator<const int*>, input_iterator<const int*>, forward_iterator<int*> >();
- test<input_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<input_iterator<const int*>, input_iterator<const int*>, random_access_iterator<int*> >();
- test<input_iterator<const int*>, input_iterator<const int*>, int*>();
-
- test<input_iterator<const int*>, forward_iterator<const int*>, output_iterator<int*> >();
- test<input_iterator<const int*>, forward_iterator<const int*>, forward_iterator<int*> >();
- test<input_iterator<const int*>, forward_iterator<const int*>, bidirectional_iterator<int*> >();
- test<input_iterator<const int*>, forward_iterator<const int*>, random_access_iterator<int*> >();
- test<input_iterator<const int*>, forward_iterator<const int*>, int*>();
-
- test<input_iterator<const int*>, bidirectional_iterator<const int*>, output_iterator<int*> >();
- test<input_iterator<const int*>, bidirectional_iterator<const int*>, forward_iterator<int*> >();
- test<input_iterator<const int*>, bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
- test<input_iterator<const int*>, bidirectional_iterator<const int*>, random_access_iterator<int*> >();
- test<input_iterator<const int*>, bidirectional_iterator<const int*>, int*>();
-
- test<input_iterator<const int*>, random_access_iterator<const int*>, output_iterator<int*> >();
- test<input_iterator<const int*>, random_access_iterator<const int*>, forward_iterator<int*> >();
- test<input_iterator<const int*>, random_access_iterator<const int*>, bidirectional_iterator<int*> >();
- test<input_iterator<const int*>, random_access_iterator<const int*>, random_access_iterator<int*> >();
- test<input_iterator<const int*>, random_access_iterator<const int*>, int*>();
-
- test<input_iterator<const int*>, const int*, output_iterator<int*> >();
- test<input_iterator<const int*>, const int*, forward_iterator<int*> >();
- test<input_iterator<const int*>, const int*, bidirectional_iterator<int*> >();
- test<input_iterator<const int*>, const int*, random_access_iterator<int*> >();
- test<input_iterator<const int*>, const int*, int*>();
-
- test<forward_iterator<const int*>, input_iterator<const int*>, output_iterator<int*> >();
- test<forward_iterator<const int*>, input_iterator<const int*>, forward_iterator<int*> >();
- test<forward_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<forward_iterator<const int*>, input_iterator<const int*>, random_access_iterator<int*> >();
- test<forward_iterator<const int*>, input_iterator<const int*>, int*>();
-
- test<forward_iterator<const int*>, forward_iterator<const int*>, output_iterator<int*> >();
- test<forward_iterator<const int*>, forward_iterator<const int*>, forward_iterator<int*> >();
- test<forward_iterator<const int*>, forward_iterator<const int*>, bidirectional_iterator<int*> >();
- test<forward_iterator<const int*>, forward_iterator<const int*>, random_access_iterator<int*> >();
- test<forward_iterator<const int*>, forward_iterator<const int*>, int*>();
-
- test<forward_iterator<const int*>, bidirectional_iterator<const int*>, output_iterator<int*> >();
- test<forward_iterator<const int*>, bidirectional_iterator<const int*>, forward_iterator<int*> >();
- test<forward_iterator<const int*>, bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
- test<forward_iterator<const int*>, bidirectional_iterator<const int*>, random_access_iterator<int*> >();
- test<forward_iterator<const int*>, bidirectional_iterator<const int*>, int*>();
-
- test<forward_iterator<const int*>, random_access_iterator<const int*>, output_iterator<int*> >();
- test<forward_iterator<const int*>, random_access_iterator<const int*>, forward_iterator<int*> >();
- test<forward_iterator<const int*>, random_access_iterator<const int*>, bidirectional_iterator<int*> >();
- test<forward_iterator<const int*>, random_access_iterator<const int*>, random_access_iterator<int*> >();
- test<forward_iterator<const int*>, random_access_iterator<const int*>, int*>();
-
- test<forward_iterator<const int*>, const int*, output_iterator<int*> >();
- test<forward_iterator<const int*>, const int*, forward_iterator<int*> >();
- test<forward_iterator<const int*>, const int*, bidirectional_iterator<int*> >();
- test<forward_iterator<const int*>, const int*, random_access_iterator<int*> >();
- test<forward_iterator<const int*>, const int*, int*>();
-
- test<bidirectional_iterator<const int*>, input_iterator<const int*>, output_iterator<int*> >();
- test<bidirectional_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<bidirectional_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<bidirectional_iterator<const int*>, input_iterator<const int*>, random_access_iterator<int*> >();
- test<bidirectional_iterator<const int*>, input_iterator<const int*>, int*>();
-
- test<bidirectional_iterator<const int*>, forward_iterator<const int*>, output_iterator<int*> >();
- test<bidirectional_iterator<const int*>, forward_iterator<const int*>, forward_iterator<int*> >();
- test<bidirectional_iterator<const int*>, forward_iterator<const int*>, bidirectional_iterator<int*> >();
- test<bidirectional_iterator<const int*>, forward_iterator<const int*>, random_access_iterator<int*> >();
- test<bidirectional_iterator<const int*>, forward_iterator<const int*>, int*>();
-
- test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*>, output_iterator<int*> >();
- test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*>, forward_iterator<int*> >();
- test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
- test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*>, random_access_iterator<int*> >();
- test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*>, int*>();
-
- test<bidirectional_iterator<const int*>, random_access_iterator<const int*>, output_iterator<int*> >();
- test<bidirectional_iterator<const int*>, random_access_iterator<const int*>, forward_iterator<int*> >();
- test<bidirectional_iterator<const int*>, random_access_iterator<const int*>, bidirectional_iterator<int*> >();
- test<bidirectional_iterator<const int*>, random_access_iterator<const int*>, random_access_iterator<int*> >();
- test<bidirectional_iterator<const int*>, random_access_iterator<const int*>, int*>();
-
- test<bidirectional_iterator<const int*>, const int*, output_iterator<int*> >();
- test<bidirectional_iterator<const int*>, const int*, forward_iterator<int*> >();
- test<bidirectional_iterator<const int*>, const int*, bidirectional_iterator<int*> >();
- test<bidirectional_iterator<const int*>, const int*, random_access_iterator<int*> >();
- test<bidirectional_iterator<const int*>, const int*, int*>();
-
- test<random_access_iterator<const int*>, input_iterator<const int*>, output_iterator<int*> >();
- test<random_access_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<random_access_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<random_access_iterator<const int*>, input_iterator<const int*>, random_access_iterator<int*> >();
- test<random_access_iterator<const int*>, input_iterator<const int*>, int*>();
-
- test<random_access_iterator<const int*>, forward_iterator<const int*>, output_iterator<int*> >();
- test<random_access_iterator<const int*>, forward_iterator<const int*>, forward_iterator<int*> >();
- test<random_access_iterator<const int*>, forward_iterator<const int*>, bidirectional_iterator<int*> >();
- test<random_access_iterator<const int*>, forward_iterator<const int*>, random_access_iterator<int*> >();
- test<random_access_iterator<const int*>, forward_iterator<const int*>, int*>();
-
- test<random_access_iterator<const int*>, bidirectional_iterator<const int*>, output_iterator<int*> >();
- test<random_access_iterator<const int*>, bidirectional_iterator<const int*>, forward_iterator<int*> >();
- test<random_access_iterator<const int*>, bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
- test<random_access_iterator<const int*>, bidirectional_iterator<const int*>, random_access_iterator<int*> >();
- test<random_access_iterator<const int*>, bidirectional_iterator<const int*>, int*>();
-
- test<random_access_iterator<const int*>, random_access_iterator<const int*>, output_iterator<int*> >();
- test<random_access_iterator<const int*>, random_access_iterator<const int*>, forward_iterator<int*> >();
- test<random_access_iterator<const int*>, random_access_iterator<const int*>, bidirectional_iterator<int*> >();
- test<random_access_iterator<const int*>, random_access_iterator<const int*>, random_access_iterator<int*> >();
- test<random_access_iterator<const int*>, random_access_iterator<const int*>, int*>();
-
- test<random_access_iterator<const int*>, const int*, output_iterator<int*> >();
- test<random_access_iterator<const int*>, const int*, forward_iterator<int*> >();
- test<random_access_iterator<const int*>, const int*, bidirectional_iterator<int*> >();
- test<random_access_iterator<const int*>, const int*, random_access_iterator<int*> >();
- test<random_access_iterator<const int*>, const int*, int*>();
-
- test<const int*, input_iterator<const int*>, output_iterator<int*> >();
- test<const int*, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<const int*, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<const int*, input_iterator<const int*>, random_access_iterator<int*> >();
- test<const int*, input_iterator<const int*>, int*>();
-
- test<const int*, forward_iterator<const int*>, output_iterator<int*> >();
- test<const int*, forward_iterator<const int*>, forward_iterator<int*> >();
- test<const int*, forward_iterator<const int*>, bidirectional_iterator<int*> >();
- test<const int*, forward_iterator<const int*>, random_access_iterator<int*> >();
- test<const int*, forward_iterator<const int*>, int*>();
-
- test<const int*, bidirectional_iterator<const int*>, output_iterator<int*> >();
- test<const int*, bidirectional_iterator<const int*>, forward_iterator<int*> >();
- test<const int*, bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
- test<const int*, bidirectional_iterator<const int*>, random_access_iterator<int*> >();
- test<const int*, bidirectional_iterator<const int*>, int*>();
-
- test<const int*, random_access_iterator<const int*>, output_iterator<int*> >();
- test<const int*, random_access_iterator<const int*>, forward_iterator<int*> >();
- test<const int*, random_access_iterator<const int*>, bidirectional_iterator<int*> >();
- test<const int*, random_access_iterator<const int*>, random_access_iterator<int*> >();
- test<const int*, random_access_iterator<const int*>, int*>();
-
- test<const int*, const int*, output_iterator<int*> >();
- test<const int*, const int*, forward_iterator<int*> >();
- test<const int*, const int*, bidirectional_iterator<int*> >();
- test<const int*, const int*, random_access_iterator<int*> >();
- test<const int*, const int*, int*>();
-}
diff --git a/libcxx/test/algorithms/alg.sorting/alg.set.operations/set.intersection/set_intersection_comp.pass.cpp b/libcxx/test/algorithms/alg.sorting/alg.set.operations/set.intersection/set_intersection_comp.pass.cpp
deleted file mode 100644
index 035522b5462..00000000000
--- a/libcxx/test/algorithms/alg.sorting/alg.set.operations/set.intersection/set_intersection_comp.pass.cpp
+++ /dev/null
@@ -1,200 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <algorithm>
-
-// template<InputIterator InIter1, InputIterator InIter2, typename OutIter,
-// CopyConstructible Compare>
-// requires OutputIterator<OutIter, InIter1::reference>
-// && OutputIterator<OutIter, InIter2::reference>
-// && Predicate<Compare, InIter1::value_type, InIter2::value_type>
-// && Predicate<Compare, InIter2::value_type, InIter1::value_type>
-// OutIter
-// set_intersection(InIter1 first1, InIter1 last1, InIter2 first2, InIter2 last2,
-// OutIter result, Compare comp);
-
-#include <algorithm>
-#include <functional>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class Iter1, class Iter2, class OutIter>
-void
-test()
-{
- int ia[] = {1, 2, 2, 3, 3, 3, 4, 4, 4, 4};
- const int sa = sizeof(ia)/sizeof(ia[0]);
- int ib[] = {2, 4, 4, 6};
- const int sb = sizeof(ib)/sizeof(ib[0]);
- int ic[20];
- int ir[] = {2, 4, 4};
- const int sr = sizeof(ir)/sizeof(ir[0]);
- OutIter ce = std::set_intersection(Iter1(ia), Iter1(ia+sa),
- Iter2(ib), Iter2(ib+sb), OutIter(ic), std::less<int>());
- assert(base(ce) - ic == sr);
- assert(std::lexicographical_compare(ic, base(ce), ir, ir+sr) == 0);
- ce = std::set_intersection(Iter1(ib), Iter1(ib+sb),
- Iter2(ia), Iter2(ia+sa), OutIter(ic), std::less<int>());
- assert(base(ce) - ic == sr);
- assert(std::lexicographical_compare(ic, base(ce), ir, ir+sr) == 0);
-}
-
-int main()
-{
- test<input_iterator<const int*>, input_iterator<const int*>, output_iterator<int*> >();
- test<input_iterator<const int*>, input_iterator<const int*>, forward_iterator<int*> >();
- test<input_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<input_iterator<const int*>, input_iterator<const int*>, random_access_iterator<int*> >();
- test<input_iterator<const int*>, input_iterator<const int*>, int*>();
-
- test<input_iterator<const int*>, forward_iterator<const int*>, output_iterator<int*> >();
- test<input_iterator<const int*>, forward_iterator<const int*>, forward_iterator<int*> >();
- test<input_iterator<const int*>, forward_iterator<const int*>, bidirectional_iterator<int*> >();
- test<input_iterator<const int*>, forward_iterator<const int*>, random_access_iterator<int*> >();
- test<input_iterator<const int*>, forward_iterator<const int*>, int*>();
-
- test<input_iterator<const int*>, bidirectional_iterator<const int*>, output_iterator<int*> >();
- test<input_iterator<const int*>, bidirectional_iterator<const int*>, forward_iterator<int*> >();
- test<input_iterator<const int*>, bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
- test<input_iterator<const int*>, bidirectional_iterator<const int*>, random_access_iterator<int*> >();
- test<input_iterator<const int*>, bidirectional_iterator<const int*>, int*>();
-
- test<input_iterator<const int*>, random_access_iterator<const int*>, output_iterator<int*> >();
- test<input_iterator<const int*>, random_access_iterator<const int*>, forward_iterator<int*> >();
- test<input_iterator<const int*>, random_access_iterator<const int*>, bidirectional_iterator<int*> >();
- test<input_iterator<const int*>, random_access_iterator<const int*>, random_access_iterator<int*> >();
- test<input_iterator<const int*>, random_access_iterator<const int*>, int*>();
-
- test<input_iterator<const int*>, const int*, output_iterator<int*> >();
- test<input_iterator<const int*>, const int*, forward_iterator<int*> >();
- test<input_iterator<const int*>, const int*, bidirectional_iterator<int*> >();
- test<input_iterator<const int*>, const int*, random_access_iterator<int*> >();
- test<input_iterator<const int*>, const int*, int*>();
-
- test<forward_iterator<const int*>, input_iterator<const int*>, output_iterator<int*> >();
- test<forward_iterator<const int*>, input_iterator<const int*>, forward_iterator<int*> >();
- test<forward_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<forward_iterator<const int*>, input_iterator<const int*>, random_access_iterator<int*> >();
- test<forward_iterator<const int*>, input_iterator<const int*>, int*>();
-
- test<forward_iterator<const int*>, forward_iterator<const int*>, output_iterator<int*> >();
- test<forward_iterator<const int*>, forward_iterator<const int*>, forward_iterator<int*> >();
- test<forward_iterator<const int*>, forward_iterator<const int*>, bidirectional_iterator<int*> >();
- test<forward_iterator<const int*>, forward_iterator<const int*>, random_access_iterator<int*> >();
- test<forward_iterator<const int*>, forward_iterator<const int*>, int*>();
-
- test<forward_iterator<const int*>, bidirectional_iterator<const int*>, output_iterator<int*> >();
- test<forward_iterator<const int*>, bidirectional_iterator<const int*>, forward_iterator<int*> >();
- test<forward_iterator<const int*>, bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
- test<forward_iterator<const int*>, bidirectional_iterator<const int*>, random_access_iterator<int*> >();
- test<forward_iterator<const int*>, bidirectional_iterator<const int*>, int*>();
-
- test<forward_iterator<const int*>, random_access_iterator<const int*>, output_iterator<int*> >();
- test<forward_iterator<const int*>, random_access_iterator<const int*>, forward_iterator<int*> >();
- test<forward_iterator<const int*>, random_access_iterator<const int*>, bidirectional_iterator<int*> >();
- test<forward_iterator<const int*>, random_access_iterator<const int*>, random_access_iterator<int*> >();
- test<forward_iterator<const int*>, random_access_iterator<const int*>, int*>();
-
- test<forward_iterator<const int*>, const int*, output_iterator<int*> >();
- test<forward_iterator<const int*>, const int*, forward_iterator<int*> >();
- test<forward_iterator<const int*>, const int*, bidirectional_iterator<int*> >();
- test<forward_iterator<const int*>, const int*, random_access_iterator<int*> >();
- test<forward_iterator<const int*>, const int*, int*>();
-
- test<bidirectional_iterator<const int*>, input_iterator<const int*>, output_iterator<int*> >();
- test<bidirectional_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<bidirectional_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<bidirectional_iterator<const int*>, input_iterator<const int*>, random_access_iterator<int*> >();
- test<bidirectional_iterator<const int*>, input_iterator<const int*>, int*>();
-
- test<bidirectional_iterator<const int*>, forward_iterator<const int*>, output_iterator<int*> >();
- test<bidirectional_iterator<const int*>, forward_iterator<const int*>, forward_iterator<int*> >();
- test<bidirectional_iterator<const int*>, forward_iterator<const int*>, bidirectional_iterator<int*> >();
- test<bidirectional_iterator<const int*>, forward_iterator<const int*>, random_access_iterator<int*> >();
- test<bidirectional_iterator<const int*>, forward_iterator<const int*>, int*>();
-
- test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*>, output_iterator<int*> >();
- test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*>, forward_iterator<int*> >();
- test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
- test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*>, random_access_iterator<int*> >();
- test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*>, int*>();
-
- test<bidirectional_iterator<const int*>, random_access_iterator<const int*>, output_iterator<int*> >();
- test<bidirectional_iterator<const int*>, random_access_iterator<const int*>, forward_iterator<int*> >();
- test<bidirectional_iterator<const int*>, random_access_iterator<const int*>, bidirectional_iterator<int*> >();
- test<bidirectional_iterator<const int*>, random_access_iterator<const int*>, random_access_iterator<int*> >();
- test<bidirectional_iterator<const int*>, random_access_iterator<const int*>, int*>();
-
- test<bidirectional_iterator<const int*>, const int*, output_iterator<int*> >();
- test<bidirectional_iterator<const int*>, const int*, forward_iterator<int*> >();
- test<bidirectional_iterator<const int*>, const int*, bidirectional_iterator<int*> >();
- test<bidirectional_iterator<const int*>, const int*, random_access_iterator<int*> >();
- test<bidirectional_iterator<const int*>, const int*, int*>();
-
- test<random_access_iterator<const int*>, input_iterator<const int*>, output_iterator<int*> >();
- test<random_access_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<random_access_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<random_access_iterator<const int*>, input_iterator<const int*>, random_access_iterator<int*> >();
- test<random_access_iterator<const int*>, input_iterator<const int*>, int*>();
-
- test<random_access_iterator<const int*>, forward_iterator<const int*>, output_iterator<int*> >();
- test<random_access_iterator<const int*>, forward_iterator<const int*>, forward_iterator<int*> >();
- test<random_access_iterator<const int*>, forward_iterator<const int*>, bidirectional_iterator<int*> >();
- test<random_access_iterator<const int*>, forward_iterator<const int*>, random_access_iterator<int*> >();
- test<random_access_iterator<const int*>, forward_iterator<const int*>, int*>();
-
- test<random_access_iterator<const int*>, bidirectional_iterator<const int*>, output_iterator<int*> >();
- test<random_access_iterator<const int*>, bidirectional_iterator<const int*>, forward_iterator<int*> >();
- test<random_access_iterator<const int*>, bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
- test<random_access_iterator<const int*>, bidirectional_iterator<const int*>, random_access_iterator<int*> >();
- test<random_access_iterator<const int*>, bidirectional_iterator<const int*>, int*>();
-
- test<random_access_iterator<const int*>, random_access_iterator<const int*>, output_iterator<int*> >();
- test<random_access_iterator<const int*>, random_access_iterator<const int*>, forward_iterator<int*> >();
- test<random_access_iterator<const int*>, random_access_iterator<const int*>, bidirectional_iterator<int*> >();
- test<random_access_iterator<const int*>, random_access_iterator<const int*>, random_access_iterator<int*> >();
- test<random_access_iterator<const int*>, random_access_iterator<const int*>, int*>();
-
- test<random_access_iterator<const int*>, const int*, output_iterator<int*> >();
- test<random_access_iterator<const int*>, const int*, forward_iterator<int*> >();
- test<random_access_iterator<const int*>, const int*, bidirectional_iterator<int*> >();
- test<random_access_iterator<const int*>, const int*, random_access_iterator<int*> >();
- test<random_access_iterator<const int*>, const int*, int*>();
-
- test<const int*, input_iterator<const int*>, output_iterator<int*> >();
- test<const int*, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<const int*, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<const int*, input_iterator<const int*>, random_access_iterator<int*> >();
- test<const int*, input_iterator<const int*>, int*>();
-
- test<const int*, forward_iterator<const int*>, output_iterator<int*> >();
- test<const int*, forward_iterator<const int*>, forward_iterator<int*> >();
- test<const int*, forward_iterator<const int*>, bidirectional_iterator<int*> >();
- test<const int*, forward_iterator<const int*>, random_access_iterator<int*> >();
- test<const int*, forward_iterator<const int*>, int*>();
-
- test<const int*, bidirectional_iterator<const int*>, output_iterator<int*> >();
- test<const int*, bidirectional_iterator<const int*>, forward_iterator<int*> >();
- test<const int*, bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
- test<const int*, bidirectional_iterator<const int*>, random_access_iterator<int*> >();
- test<const int*, bidirectional_iterator<const int*>, int*>();
-
- test<const int*, random_access_iterator<const int*>, output_iterator<int*> >();
- test<const int*, random_access_iterator<const int*>, forward_iterator<int*> >();
- test<const int*, random_access_iterator<const int*>, bidirectional_iterator<int*> >();
- test<const int*, random_access_iterator<const int*>, random_access_iterator<int*> >();
- test<const int*, random_access_iterator<const int*>, int*>();
-
- test<const int*, const int*, output_iterator<int*> >();
- test<const int*, const int*, forward_iterator<int*> >();
- test<const int*, const int*, bidirectional_iterator<int*> >();
- test<const int*, const int*, random_access_iterator<int*> >();
- test<const int*, const int*, int*>();
-}
diff --git a/libcxx/test/algorithms/alg.sorting/alg.set.operations/set.symmetric.difference/set_symmetric_difference.pass.cpp b/libcxx/test/algorithms/alg.sorting/alg.set.operations/set.symmetric.difference/set_symmetric_difference.pass.cpp
deleted file mode 100644
index ea3812a7f1c..00000000000
--- a/libcxx/test/algorithms/alg.sorting/alg.set.operations/set.symmetric.difference/set_symmetric_difference.pass.cpp
+++ /dev/null
@@ -1,199 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <algorithm>
-
-// template<InputIterator InIter1, InputIterator InIter2, typename OutIter>
-// requires OutputIterator<OutIter, InIter1::reference>
-// && OutputIterator<OutIter, InIter2::reference>
-// && HasLess<InIter2::value_type, InIter1::value_type>
-// && HasLess<InIter1::value_type, InIter2::value_type>
-// OutIter
-// set_symmetric_difference(InIter1 first1, InIter1 last1,
-// InIter2 first2, InIter2 last2,
-// OutIter result);
-
-#include <algorithm>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class Iter1, class Iter2, class OutIter>
-void
-test()
-{
- int ia[] = {1, 2, 2, 3, 3, 3, 4, 4, 4, 4};
- const int sa = sizeof(ia)/sizeof(ia[0]);
- int ib[] = {2, 4, 4, 6};
- const int sb = sizeof(ib)/sizeof(ib[0]);
- int ic[20];
- int ir[] = {1, 2, 3, 3, 3, 4, 4, 6};
- const int sr = sizeof(ir)/sizeof(ir[0]);
- OutIter ce = std::set_symmetric_difference(Iter1(ia), Iter1(ia+sa),
- Iter2(ib), Iter2(ib+sb), OutIter(ic));
- assert(base(ce) - ic == sr);
- assert(std::lexicographical_compare(ic, base(ce), ir, ir+sr) == 0);
- ce = std::set_symmetric_difference(Iter1(ib), Iter1(ib+sb),
- Iter2(ia), Iter2(ia+sa), OutIter(ic));
- assert(base(ce) - ic == sr);
- assert(std::lexicographical_compare(ic, base(ce), ir, ir+sr) == 0);
-}
-
-int main()
-{
- test<input_iterator<const int*>, input_iterator<const int*>, output_iterator<int*> >();
- test<input_iterator<const int*>, input_iterator<const int*>, forward_iterator<int*> >();
- test<input_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<input_iterator<const int*>, input_iterator<const int*>, random_access_iterator<int*> >();
- test<input_iterator<const int*>, input_iterator<const int*>, int*>();
-
- test<input_iterator<const int*>, forward_iterator<const int*>, output_iterator<int*> >();
- test<input_iterator<const int*>, forward_iterator<const int*>, forward_iterator<int*> >();
- test<input_iterator<const int*>, forward_iterator<const int*>, bidirectional_iterator<int*> >();
- test<input_iterator<const int*>, forward_iterator<const int*>, random_access_iterator<int*> >();
- test<input_iterator<const int*>, forward_iterator<const int*>, int*>();
-
- test<input_iterator<const int*>, bidirectional_iterator<const int*>, output_iterator<int*> >();
- test<input_iterator<const int*>, bidirectional_iterator<const int*>, forward_iterator<int*> >();
- test<input_iterator<const int*>, bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
- test<input_iterator<const int*>, bidirectional_iterator<const int*>, random_access_iterator<int*> >();
- test<input_iterator<const int*>, bidirectional_iterator<const int*>, int*>();
-
- test<input_iterator<const int*>, random_access_iterator<const int*>, output_iterator<int*> >();
- test<input_iterator<const int*>, random_access_iterator<const int*>, forward_iterator<int*> >();
- test<input_iterator<const int*>, random_access_iterator<const int*>, bidirectional_iterator<int*> >();
- test<input_iterator<const int*>, random_access_iterator<const int*>, random_access_iterator<int*> >();
- test<input_iterator<const int*>, random_access_iterator<const int*>, int*>();
-
- test<input_iterator<const int*>, const int*, output_iterator<int*> >();
- test<input_iterator<const int*>, const int*, forward_iterator<int*> >();
- test<input_iterator<const int*>, const int*, bidirectional_iterator<int*> >();
- test<input_iterator<const int*>, const int*, random_access_iterator<int*> >();
- test<input_iterator<const int*>, const int*, int*>();
-
- test<forward_iterator<const int*>, input_iterator<const int*>, output_iterator<int*> >();
- test<forward_iterator<const int*>, input_iterator<const int*>, forward_iterator<int*> >();
- test<forward_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<forward_iterator<const int*>, input_iterator<const int*>, random_access_iterator<int*> >();
- test<forward_iterator<const int*>, input_iterator<const int*>, int*>();
-
- test<forward_iterator<const int*>, forward_iterator<const int*>, output_iterator<int*> >();
- test<forward_iterator<const int*>, forward_iterator<const int*>, forward_iterator<int*> >();
- test<forward_iterator<const int*>, forward_iterator<const int*>, bidirectional_iterator<int*> >();
- test<forward_iterator<const int*>, forward_iterator<const int*>, random_access_iterator<int*> >();
- test<forward_iterator<const int*>, forward_iterator<const int*>, int*>();
-
- test<forward_iterator<const int*>, bidirectional_iterator<const int*>, output_iterator<int*> >();
- test<forward_iterator<const int*>, bidirectional_iterator<const int*>, forward_iterator<int*> >();
- test<forward_iterator<const int*>, bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
- test<forward_iterator<const int*>, bidirectional_iterator<const int*>, random_access_iterator<int*> >();
- test<forward_iterator<const int*>, bidirectional_iterator<const int*>, int*>();
-
- test<forward_iterator<const int*>, random_access_iterator<const int*>, output_iterator<int*> >();
- test<forward_iterator<const int*>, random_access_iterator<const int*>, forward_iterator<int*> >();
- test<forward_iterator<const int*>, random_access_iterator<const int*>, bidirectional_iterator<int*> >();
- test<forward_iterator<const int*>, random_access_iterator<const int*>, random_access_iterator<int*> >();
- test<forward_iterator<const int*>, random_access_iterator<const int*>, int*>();
-
- test<forward_iterator<const int*>, const int*, output_iterator<int*> >();
- test<forward_iterator<const int*>, const int*, forward_iterator<int*> >();
- test<forward_iterator<const int*>, const int*, bidirectional_iterator<int*> >();
- test<forward_iterator<const int*>, const int*, random_access_iterator<int*> >();
- test<forward_iterator<const int*>, const int*, int*>();
-
- test<bidirectional_iterator<const int*>, input_iterator<const int*>, output_iterator<int*> >();
- test<bidirectional_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<bidirectional_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<bidirectional_iterator<const int*>, input_iterator<const int*>, random_access_iterator<int*> >();
- test<bidirectional_iterator<const int*>, input_iterator<const int*>, int*>();
-
- test<bidirectional_iterator<const int*>, forward_iterator<const int*>, output_iterator<int*> >();
- test<bidirectional_iterator<const int*>, forward_iterator<const int*>, forward_iterator<int*> >();
- test<bidirectional_iterator<const int*>, forward_iterator<const int*>, bidirectional_iterator<int*> >();
- test<bidirectional_iterator<const int*>, forward_iterator<const int*>, random_access_iterator<int*> >();
- test<bidirectional_iterator<const int*>, forward_iterator<const int*>, int*>();
-
- test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*>, output_iterator<int*> >();
- test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*>, forward_iterator<int*> >();
- test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
- test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*>, random_access_iterator<int*> >();
- test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*>, int*>();
-
- test<bidirectional_iterator<const int*>, random_access_iterator<const int*>, output_iterator<int*> >();
- test<bidirectional_iterator<const int*>, random_access_iterator<const int*>, forward_iterator<int*> >();
- test<bidirectional_iterator<const int*>, random_access_iterator<const int*>, bidirectional_iterator<int*> >();
- test<bidirectional_iterator<const int*>, random_access_iterator<const int*>, random_access_iterator<int*> >();
- test<bidirectional_iterator<const int*>, random_access_iterator<const int*>, int*>();
-
- test<bidirectional_iterator<const int*>, const int*, output_iterator<int*> >();
- test<bidirectional_iterator<const int*>, const int*, forward_iterator<int*> >();
- test<bidirectional_iterator<const int*>, const int*, bidirectional_iterator<int*> >();
- test<bidirectional_iterator<const int*>, const int*, random_access_iterator<int*> >();
- test<bidirectional_iterator<const int*>, const int*, int*>();
-
- test<random_access_iterator<const int*>, input_iterator<const int*>, output_iterator<int*> >();
- test<random_access_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<random_access_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<random_access_iterator<const int*>, input_iterator<const int*>, random_access_iterator<int*> >();
- test<random_access_iterator<const int*>, input_iterator<const int*>, int*>();
-
- test<random_access_iterator<const int*>, forward_iterator<const int*>, output_iterator<int*> >();
- test<random_access_iterator<const int*>, forward_iterator<const int*>, forward_iterator<int*> >();
- test<random_access_iterator<const int*>, forward_iterator<const int*>, bidirectional_iterator<int*> >();
- test<random_access_iterator<const int*>, forward_iterator<const int*>, random_access_iterator<int*> >();
- test<random_access_iterator<const int*>, forward_iterator<const int*>, int*>();
-
- test<random_access_iterator<const int*>, bidirectional_iterator<const int*>, output_iterator<int*> >();
- test<random_access_iterator<const int*>, bidirectional_iterator<const int*>, forward_iterator<int*> >();
- test<random_access_iterator<const int*>, bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
- test<random_access_iterator<const int*>, bidirectional_iterator<const int*>, random_access_iterator<int*> >();
- test<random_access_iterator<const int*>, bidirectional_iterator<const int*>, int*>();
-
- test<random_access_iterator<const int*>, random_access_iterator<const int*>, output_iterator<int*> >();
- test<random_access_iterator<const int*>, random_access_iterator<const int*>, forward_iterator<int*> >();
- test<random_access_iterator<const int*>, random_access_iterator<const int*>, bidirectional_iterator<int*> >();
- test<random_access_iterator<const int*>, random_access_iterator<const int*>, random_access_iterator<int*> >();
- test<random_access_iterator<const int*>, random_access_iterator<const int*>, int*>();
-
- test<random_access_iterator<const int*>, const int*, output_iterator<int*> >();
- test<random_access_iterator<const int*>, const int*, forward_iterator<int*> >();
- test<random_access_iterator<const int*>, const int*, bidirectional_iterator<int*> >();
- test<random_access_iterator<const int*>, const int*, random_access_iterator<int*> >();
- test<random_access_iterator<const int*>, const int*, int*>();
-
- test<const int*, input_iterator<const int*>, output_iterator<int*> >();
- test<const int*, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<const int*, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<const int*, input_iterator<const int*>, random_access_iterator<int*> >();
- test<const int*, input_iterator<const int*>, int*>();
-
- test<const int*, forward_iterator<const int*>, output_iterator<int*> >();
- test<const int*, forward_iterator<const int*>, forward_iterator<int*> >();
- test<const int*, forward_iterator<const int*>, bidirectional_iterator<int*> >();
- test<const int*, forward_iterator<const int*>, random_access_iterator<int*> >();
- test<const int*, forward_iterator<const int*>, int*>();
-
- test<const int*, bidirectional_iterator<const int*>, output_iterator<int*> >();
- test<const int*, bidirectional_iterator<const int*>, forward_iterator<int*> >();
- test<const int*, bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
- test<const int*, bidirectional_iterator<const int*>, random_access_iterator<int*> >();
- test<const int*, bidirectional_iterator<const int*>, int*>();
-
- test<const int*, random_access_iterator<const int*>, output_iterator<int*> >();
- test<const int*, random_access_iterator<const int*>, forward_iterator<int*> >();
- test<const int*, random_access_iterator<const int*>, bidirectional_iterator<int*> >();
- test<const int*, random_access_iterator<const int*>, random_access_iterator<int*> >();
- test<const int*, random_access_iterator<const int*>, int*>();
-
- test<const int*, const int*, output_iterator<int*> >();
- test<const int*, const int*, forward_iterator<int*> >();
- test<const int*, const int*, bidirectional_iterator<int*> >();
- test<const int*, const int*, random_access_iterator<int*> >();
- test<const int*, const int*, int*>();
-}
diff --git a/libcxx/test/algorithms/alg.sorting/alg.set.operations/set.symmetric.difference/set_symmetric_difference_comp.pass.cpp b/libcxx/test/algorithms/alg.sorting/alg.set.operations/set.symmetric.difference/set_symmetric_difference_comp.pass.cpp
deleted file mode 100644
index ba1f61a1067..00000000000
--- a/libcxx/test/algorithms/alg.sorting/alg.set.operations/set.symmetric.difference/set_symmetric_difference_comp.pass.cpp
+++ /dev/null
@@ -1,203 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <algorithm>
-
-// template<InputIterator InIter1, InputIterator InIter2, typename OutIter,
-// CopyConstructible Compare>
-// requires OutputIterator<OutIter, InIter1::reference>
-// && OutputIterator<OutIter, InIter2::reference>
-// && Predicate<Compare, InIter1::value_type, InIter2::value_type>
-// && Predicate<Compare, InIter2::value_type, InIter1::value_type>
-// OutIter
-// set_symmetric_difference(InIter1 first1, InIter1 last1,
-// InIter2 first2, InIter2 last2,
-// OutIter result, Compare comp);
-
-#include <algorithm>
-#include <functional>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class Iter1, class Iter2, class OutIter>
-void
-test()
-{
- int ia[] = {1, 2, 2, 3, 3, 3, 4, 4, 4, 4};
- const int sa = sizeof(ia)/sizeof(ia[0]);
- int ib[] = {2, 4, 4, 6};
- const int sb = sizeof(ib)/sizeof(ib[0]);
- int ic[20];
- int ir[] = {1, 2, 3, 3, 3, 4, 4, 6};
- const int sr = sizeof(ir)/sizeof(ir[0]);
- OutIter ce = std::set_symmetric_difference(Iter1(ia), Iter1(ia+sa),
- Iter2(ib), Iter2(ib+sb),
- OutIter(ic), std::less<int>());
- assert(base(ce) - ic == sr);
- assert(std::lexicographical_compare(ic, base(ce), ir, ir+sr) == 0);
- ce = std::set_symmetric_difference(Iter1(ib), Iter1(ib+sb),
- Iter2(ia), Iter2(ia+sa),
- OutIter(ic), std::less<int>());
- assert(base(ce) - ic == sr);
- assert(std::lexicographical_compare(ic, base(ce), ir, ir+sr) == 0);
-}
-
-int main()
-{
- test<input_iterator<const int*>, input_iterator<const int*>, output_iterator<int*> >();
- test<input_iterator<const int*>, input_iterator<const int*>, forward_iterator<int*> >();
- test<input_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<input_iterator<const int*>, input_iterator<const int*>, random_access_iterator<int*> >();
- test<input_iterator<const int*>, input_iterator<const int*>, int*>();
-
- test<input_iterator<const int*>, forward_iterator<const int*>, output_iterator<int*> >();
- test<input_iterator<const int*>, forward_iterator<const int*>, forward_iterator<int*> >();
- test<input_iterator<const int*>, forward_iterator<const int*>, bidirectional_iterator<int*> >();
- test<input_iterator<const int*>, forward_iterator<const int*>, random_access_iterator<int*> >();
- test<input_iterator<const int*>, forward_iterator<const int*>, int*>();
-
- test<input_iterator<const int*>, bidirectional_iterator<const int*>, output_iterator<int*> >();
- test<input_iterator<const int*>, bidirectional_iterator<const int*>, forward_iterator<int*> >();
- test<input_iterator<const int*>, bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
- test<input_iterator<const int*>, bidirectional_iterator<const int*>, random_access_iterator<int*> >();
- test<input_iterator<const int*>, bidirectional_iterator<const int*>, int*>();
-
- test<input_iterator<const int*>, random_access_iterator<const int*>, output_iterator<int*> >();
- test<input_iterator<const int*>, random_access_iterator<const int*>, forward_iterator<int*> >();
- test<input_iterator<const int*>, random_access_iterator<const int*>, bidirectional_iterator<int*> >();
- test<input_iterator<const int*>, random_access_iterator<const int*>, random_access_iterator<int*> >();
- test<input_iterator<const int*>, random_access_iterator<const int*>, int*>();
-
- test<input_iterator<const int*>, const int*, output_iterator<int*> >();
- test<input_iterator<const int*>, const int*, forward_iterator<int*> >();
- test<input_iterator<const int*>, const int*, bidirectional_iterator<int*> >();
- test<input_iterator<const int*>, const int*, random_access_iterator<int*> >();
- test<input_iterator<const int*>, const int*, int*>();
-
- test<forward_iterator<const int*>, input_iterator<const int*>, output_iterator<int*> >();
- test<forward_iterator<const int*>, input_iterator<const int*>, forward_iterator<int*> >();
- test<forward_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<forward_iterator<const int*>, input_iterator<const int*>, random_access_iterator<int*> >();
- test<forward_iterator<const int*>, input_iterator<const int*>, int*>();
-
- test<forward_iterator<const int*>, forward_iterator<const int*>, output_iterator<int*> >();
- test<forward_iterator<const int*>, forward_iterator<const int*>, forward_iterator<int*> >();
- test<forward_iterator<const int*>, forward_iterator<const int*>, bidirectional_iterator<int*> >();
- test<forward_iterator<const int*>, forward_iterator<const int*>, random_access_iterator<int*> >();
- test<forward_iterator<const int*>, forward_iterator<const int*>, int*>();
-
- test<forward_iterator<const int*>, bidirectional_iterator<const int*>, output_iterator<int*> >();
- test<forward_iterator<const int*>, bidirectional_iterator<const int*>, forward_iterator<int*> >();
- test<forward_iterator<const int*>, bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
- test<forward_iterator<const int*>, bidirectional_iterator<const int*>, random_access_iterator<int*> >();
- test<forward_iterator<const int*>, bidirectional_iterator<const int*>, int*>();
-
- test<forward_iterator<const int*>, random_access_iterator<const int*>, output_iterator<int*> >();
- test<forward_iterator<const int*>, random_access_iterator<const int*>, forward_iterator<int*> >();
- test<forward_iterator<const int*>, random_access_iterator<const int*>, bidirectional_iterator<int*> >();
- test<forward_iterator<const int*>, random_access_iterator<const int*>, random_access_iterator<int*> >();
- test<forward_iterator<const int*>, random_access_iterator<const int*>, int*>();
-
- test<forward_iterator<const int*>, const int*, output_iterator<int*> >();
- test<forward_iterator<const int*>, const int*, forward_iterator<int*> >();
- test<forward_iterator<const int*>, const int*, bidirectional_iterator<int*> >();
- test<forward_iterator<const int*>, const int*, random_access_iterator<int*> >();
- test<forward_iterator<const int*>, const int*, int*>();
-
- test<bidirectional_iterator<const int*>, input_iterator<const int*>, output_iterator<int*> >();
- test<bidirectional_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<bidirectional_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<bidirectional_iterator<const int*>, input_iterator<const int*>, random_access_iterator<int*> >();
- test<bidirectional_iterator<const int*>, input_iterator<const int*>, int*>();
-
- test<bidirectional_iterator<const int*>, forward_iterator<const int*>, output_iterator<int*> >();
- test<bidirectional_iterator<const int*>, forward_iterator<const int*>, forward_iterator<int*> >();
- test<bidirectional_iterator<const int*>, forward_iterator<const int*>, bidirectional_iterator<int*> >();
- test<bidirectional_iterator<const int*>, forward_iterator<const int*>, random_access_iterator<int*> >();
- test<bidirectional_iterator<const int*>, forward_iterator<const int*>, int*>();
-
- test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*>, output_iterator<int*> >();
- test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*>, forward_iterator<int*> >();
- test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
- test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*>, random_access_iterator<int*> >();
- test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*>, int*>();
-
- test<bidirectional_iterator<const int*>, random_access_iterator<const int*>, output_iterator<int*> >();
- test<bidirectional_iterator<const int*>, random_access_iterator<const int*>, forward_iterator<int*> >();
- test<bidirectional_iterator<const int*>, random_access_iterator<const int*>, bidirectional_iterator<int*> >();
- test<bidirectional_iterator<const int*>, random_access_iterator<const int*>, random_access_iterator<int*> >();
- test<bidirectional_iterator<const int*>, random_access_iterator<const int*>, int*>();
-
- test<bidirectional_iterator<const int*>, const int*, output_iterator<int*> >();
- test<bidirectional_iterator<const int*>, const int*, forward_iterator<int*> >();
- test<bidirectional_iterator<const int*>, const int*, bidirectional_iterator<int*> >();
- test<bidirectional_iterator<const int*>, const int*, random_access_iterator<int*> >();
- test<bidirectional_iterator<const int*>, const int*, int*>();
-
- test<random_access_iterator<const int*>, input_iterator<const int*>, output_iterator<int*> >();
- test<random_access_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<random_access_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<random_access_iterator<const int*>, input_iterator<const int*>, random_access_iterator<int*> >();
- test<random_access_iterator<const int*>, input_iterator<const int*>, int*>();
-
- test<random_access_iterator<const int*>, forward_iterator<const int*>, output_iterator<int*> >();
- test<random_access_iterator<const int*>, forward_iterator<const int*>, forward_iterator<int*> >();
- test<random_access_iterator<const int*>, forward_iterator<const int*>, bidirectional_iterator<int*> >();
- test<random_access_iterator<const int*>, forward_iterator<const int*>, random_access_iterator<int*> >();
- test<random_access_iterator<const int*>, forward_iterator<const int*>, int*>();
-
- test<random_access_iterator<const int*>, bidirectional_iterator<const int*>, output_iterator<int*> >();
- test<random_access_iterator<const int*>, bidirectional_iterator<const int*>, forward_iterator<int*> >();
- test<random_access_iterator<const int*>, bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
- test<random_access_iterator<const int*>, bidirectional_iterator<const int*>, random_access_iterator<int*> >();
- test<random_access_iterator<const int*>, bidirectional_iterator<const int*>, int*>();
-
- test<random_access_iterator<const int*>, random_access_iterator<const int*>, output_iterator<int*> >();
- test<random_access_iterator<const int*>, random_access_iterator<const int*>, forward_iterator<int*> >();
- test<random_access_iterator<const int*>, random_access_iterator<const int*>, bidirectional_iterator<int*> >();
- test<random_access_iterator<const int*>, random_access_iterator<const int*>, random_access_iterator<int*> >();
- test<random_access_iterator<const int*>, random_access_iterator<const int*>, int*>();
-
- test<random_access_iterator<const int*>, const int*, output_iterator<int*> >();
- test<random_access_iterator<const int*>, const int*, forward_iterator<int*> >();
- test<random_access_iterator<const int*>, const int*, bidirectional_iterator<int*> >();
- test<random_access_iterator<const int*>, const int*, random_access_iterator<int*> >();
- test<random_access_iterator<const int*>, const int*, int*>();
-
- test<const int*, input_iterator<const int*>, output_iterator<int*> >();
- test<const int*, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<const int*, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<const int*, input_iterator<const int*>, random_access_iterator<int*> >();
- test<const int*, input_iterator<const int*>, int*>();
-
- test<const int*, forward_iterator<const int*>, output_iterator<int*> >();
- test<const int*, forward_iterator<const int*>, forward_iterator<int*> >();
- test<const int*, forward_iterator<const int*>, bidirectional_iterator<int*> >();
- test<const int*, forward_iterator<const int*>, random_access_iterator<int*> >();
- test<const int*, forward_iterator<const int*>, int*>();
-
- test<const int*, bidirectional_iterator<const int*>, output_iterator<int*> >();
- test<const int*, bidirectional_iterator<const int*>, forward_iterator<int*> >();
- test<const int*, bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
- test<const int*, bidirectional_iterator<const int*>, random_access_iterator<int*> >();
- test<const int*, bidirectional_iterator<const int*>, int*>();
-
- test<const int*, random_access_iterator<const int*>, output_iterator<int*> >();
- test<const int*, random_access_iterator<const int*>, forward_iterator<int*> >();
- test<const int*, random_access_iterator<const int*>, bidirectional_iterator<int*> >();
- test<const int*, random_access_iterator<const int*>, random_access_iterator<int*> >();
- test<const int*, random_access_iterator<const int*>, int*>();
-
- test<const int*, const int*, output_iterator<int*> >();
- test<const int*, const int*, forward_iterator<int*> >();
- test<const int*, const int*, bidirectional_iterator<int*> >();
- test<const int*, const int*, random_access_iterator<int*> >();
- test<const int*, const int*, int*>();
-}
diff --git a/libcxx/test/algorithms/alg.sorting/alg.set.operations/set.union/set_union.pass.cpp b/libcxx/test/algorithms/alg.sorting/alg.set.operations/set.union/set_union.pass.cpp
deleted file mode 100644
index 46578501d77..00000000000
--- a/libcxx/test/algorithms/alg.sorting/alg.set.operations/set.union/set_union.pass.cpp
+++ /dev/null
@@ -1,198 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <algorithm>
-
-// template<InputIterator InIter1, InputIterator InIter2, typename OutIter>
-// requires OutputIterator<OutIter, InIter1::reference>
-// && OutputIterator<OutIter, InIter2::reference>
-// && HasLess<InIter2::value_type, InIter1::value_type>
-// && HasLess<InIter1::value_type, InIter2::value_type>
-// OutIter
-// set_union(InIter1 first1, InIter1 last1,
-// InIter2 first2, InIter2 last2, OutIter result);
-
-#include <algorithm>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class Iter1, class Iter2, class OutIter>
-void
-test()
-{
- int ia[] = {1, 2, 2, 3, 3, 3, 4, 4, 4, 4};
- const int sa = sizeof(ia)/sizeof(ia[0]);
- int ib[] = {2, 4, 4, 6};
- const int sb = sizeof(ib)/sizeof(ib[0]);
- int ic[20];
- int ir[] = {1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 6};
- const int sr = sizeof(ir)/sizeof(ir[0]);
- OutIter ce = std::set_union(Iter1(ia), Iter1(ia+sa),
- Iter2(ib), Iter2(ib+sb), OutIter(ic));
- assert(base(ce) - ic == sr);
- assert(std::lexicographical_compare(ic, base(ce), ir, ir+sr) == 0);
- ce = std::set_union(Iter1(ib), Iter1(ib+sb),
- Iter2(ia), Iter2(ia+sa), OutIter(ic));
- assert(base(ce) - ic == sr);
- assert(std::lexicographical_compare(ic, base(ce), ir, ir+sr) == 0);
-}
-
-int main()
-{
- test<input_iterator<const int*>, input_iterator<const int*>, output_iterator<int*> >();
- test<input_iterator<const int*>, input_iterator<const int*>, forward_iterator<int*> >();
- test<input_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<input_iterator<const int*>, input_iterator<const int*>, random_access_iterator<int*> >();
- test<input_iterator<const int*>, input_iterator<const int*>, int*>();
-
- test<input_iterator<const int*>, forward_iterator<const int*>, output_iterator<int*> >();
- test<input_iterator<const int*>, forward_iterator<const int*>, forward_iterator<int*> >();
- test<input_iterator<const int*>, forward_iterator<const int*>, bidirectional_iterator<int*> >();
- test<input_iterator<const int*>, forward_iterator<const int*>, random_access_iterator<int*> >();
- test<input_iterator<const int*>, forward_iterator<const int*>, int*>();
-
- test<input_iterator<const int*>, bidirectional_iterator<const int*>, output_iterator<int*> >();
- test<input_iterator<const int*>, bidirectional_iterator<const int*>, forward_iterator<int*> >();
- test<input_iterator<const int*>, bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
- test<input_iterator<const int*>, bidirectional_iterator<const int*>, random_access_iterator<int*> >();
- test<input_iterator<const int*>, bidirectional_iterator<const int*>, int*>();
-
- test<input_iterator<const int*>, random_access_iterator<const int*>, output_iterator<int*> >();
- test<input_iterator<const int*>, random_access_iterator<const int*>, forward_iterator<int*> >();
- test<input_iterator<const int*>, random_access_iterator<const int*>, bidirectional_iterator<int*> >();
- test<input_iterator<const int*>, random_access_iterator<const int*>, random_access_iterator<int*> >();
- test<input_iterator<const int*>, random_access_iterator<const int*>, int*>();
-
- test<input_iterator<const int*>, const int*, output_iterator<int*> >();
- test<input_iterator<const int*>, const int*, forward_iterator<int*> >();
- test<input_iterator<const int*>, const int*, bidirectional_iterator<int*> >();
- test<input_iterator<const int*>, const int*, random_access_iterator<int*> >();
- test<input_iterator<const int*>, const int*, int*>();
-
- test<forward_iterator<const int*>, input_iterator<const int*>, output_iterator<int*> >();
- test<forward_iterator<const int*>, input_iterator<const int*>, forward_iterator<int*> >();
- test<forward_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<forward_iterator<const int*>, input_iterator<const int*>, random_access_iterator<int*> >();
- test<forward_iterator<const int*>, input_iterator<const int*>, int*>();
-
- test<forward_iterator<const int*>, forward_iterator<const int*>, output_iterator<int*> >();
- test<forward_iterator<const int*>, forward_iterator<const int*>, forward_iterator<int*> >();
- test<forward_iterator<const int*>, forward_iterator<const int*>, bidirectional_iterator<int*> >();
- test<forward_iterator<const int*>, forward_iterator<const int*>, random_access_iterator<int*> >();
- test<forward_iterator<const int*>, forward_iterator<const int*>, int*>();
-
- test<forward_iterator<const int*>, bidirectional_iterator<const int*>, output_iterator<int*> >();
- test<forward_iterator<const int*>, bidirectional_iterator<const int*>, forward_iterator<int*> >();
- test<forward_iterator<const int*>, bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
- test<forward_iterator<const int*>, bidirectional_iterator<const int*>, random_access_iterator<int*> >();
- test<forward_iterator<const int*>, bidirectional_iterator<const int*>, int*>();
-
- test<forward_iterator<const int*>, random_access_iterator<const int*>, output_iterator<int*> >();
- test<forward_iterator<const int*>, random_access_iterator<const int*>, forward_iterator<int*> >();
- test<forward_iterator<const int*>, random_access_iterator<const int*>, bidirectional_iterator<int*> >();
- test<forward_iterator<const int*>, random_access_iterator<const int*>, random_access_iterator<int*> >();
- test<forward_iterator<const int*>, random_access_iterator<const int*>, int*>();
-
- test<forward_iterator<const int*>, const int*, output_iterator<int*> >();
- test<forward_iterator<const int*>, const int*, forward_iterator<int*> >();
- test<forward_iterator<const int*>, const int*, bidirectional_iterator<int*> >();
- test<forward_iterator<const int*>, const int*, random_access_iterator<int*> >();
- test<forward_iterator<const int*>, const int*, int*>();
-
- test<bidirectional_iterator<const int*>, input_iterator<const int*>, output_iterator<int*> >();
- test<bidirectional_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<bidirectional_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<bidirectional_iterator<const int*>, input_iterator<const int*>, random_access_iterator<int*> >();
- test<bidirectional_iterator<const int*>, input_iterator<const int*>, int*>();
-
- test<bidirectional_iterator<const int*>, forward_iterator<const int*>, output_iterator<int*> >();
- test<bidirectional_iterator<const int*>, forward_iterator<const int*>, forward_iterator<int*> >();
- test<bidirectional_iterator<const int*>, forward_iterator<const int*>, bidirectional_iterator<int*> >();
- test<bidirectional_iterator<const int*>, forward_iterator<const int*>, random_access_iterator<int*> >();
- test<bidirectional_iterator<const int*>, forward_iterator<const int*>, int*>();
-
- test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*>, output_iterator<int*> >();
- test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*>, forward_iterator<int*> >();
- test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
- test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*>, random_access_iterator<int*> >();
- test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*>, int*>();
-
- test<bidirectional_iterator<const int*>, random_access_iterator<const int*>, output_iterator<int*> >();
- test<bidirectional_iterator<const int*>, random_access_iterator<const int*>, forward_iterator<int*> >();
- test<bidirectional_iterator<const int*>, random_access_iterator<const int*>, bidirectional_iterator<int*> >();
- test<bidirectional_iterator<const int*>, random_access_iterator<const int*>, random_access_iterator<int*> >();
- test<bidirectional_iterator<const int*>, random_access_iterator<const int*>, int*>();
-
- test<bidirectional_iterator<const int*>, const int*, output_iterator<int*> >();
- test<bidirectional_iterator<const int*>, const int*, forward_iterator<int*> >();
- test<bidirectional_iterator<const int*>, const int*, bidirectional_iterator<int*> >();
- test<bidirectional_iterator<const int*>, const int*, random_access_iterator<int*> >();
- test<bidirectional_iterator<const int*>, const int*, int*>();
-
- test<random_access_iterator<const int*>, input_iterator<const int*>, output_iterator<int*> >();
- test<random_access_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<random_access_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<random_access_iterator<const int*>, input_iterator<const int*>, random_access_iterator<int*> >();
- test<random_access_iterator<const int*>, input_iterator<const int*>, int*>();
-
- test<random_access_iterator<const int*>, forward_iterator<const int*>, output_iterator<int*> >();
- test<random_access_iterator<const int*>, forward_iterator<const int*>, forward_iterator<int*> >();
- test<random_access_iterator<const int*>, forward_iterator<const int*>, bidirectional_iterator<int*> >();
- test<random_access_iterator<const int*>, forward_iterator<const int*>, random_access_iterator<int*> >();
- test<random_access_iterator<const int*>, forward_iterator<const int*>, int*>();
-
- test<random_access_iterator<const int*>, bidirectional_iterator<const int*>, output_iterator<int*> >();
- test<random_access_iterator<const int*>, bidirectional_iterator<const int*>, forward_iterator<int*> >();
- test<random_access_iterator<const int*>, bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
- test<random_access_iterator<const int*>, bidirectional_iterator<const int*>, random_access_iterator<int*> >();
- test<random_access_iterator<const int*>, bidirectional_iterator<const int*>, int*>();
-
- test<random_access_iterator<const int*>, random_access_iterator<const int*>, output_iterator<int*> >();
- test<random_access_iterator<const int*>, random_access_iterator<const int*>, forward_iterator<int*> >();
- test<random_access_iterator<const int*>, random_access_iterator<const int*>, bidirectional_iterator<int*> >();
- test<random_access_iterator<const int*>, random_access_iterator<const int*>, random_access_iterator<int*> >();
- test<random_access_iterator<const int*>, random_access_iterator<const int*>, int*>();
-
- test<random_access_iterator<const int*>, const int*, output_iterator<int*> >();
- test<random_access_iterator<const int*>, const int*, forward_iterator<int*> >();
- test<random_access_iterator<const int*>, const int*, bidirectional_iterator<int*> >();
- test<random_access_iterator<const int*>, const int*, random_access_iterator<int*> >();
- test<random_access_iterator<const int*>, const int*, int*>();
-
- test<const int*, input_iterator<const int*>, output_iterator<int*> >();
- test<const int*, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<const int*, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<const int*, input_iterator<const int*>, random_access_iterator<int*> >();
- test<const int*, input_iterator<const int*>, int*>();
-
- test<const int*, forward_iterator<const int*>, output_iterator<int*> >();
- test<const int*, forward_iterator<const int*>, forward_iterator<int*> >();
- test<const int*, forward_iterator<const int*>, bidirectional_iterator<int*> >();
- test<const int*, forward_iterator<const int*>, random_access_iterator<int*> >();
- test<const int*, forward_iterator<const int*>, int*>();
-
- test<const int*, bidirectional_iterator<const int*>, output_iterator<int*> >();
- test<const int*, bidirectional_iterator<const int*>, forward_iterator<int*> >();
- test<const int*, bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
- test<const int*, bidirectional_iterator<const int*>, random_access_iterator<int*> >();
- test<const int*, bidirectional_iterator<const int*>, int*>();
-
- test<const int*, random_access_iterator<const int*>, output_iterator<int*> >();
- test<const int*, random_access_iterator<const int*>, forward_iterator<int*> >();
- test<const int*, random_access_iterator<const int*>, bidirectional_iterator<int*> >();
- test<const int*, random_access_iterator<const int*>, random_access_iterator<int*> >();
- test<const int*, random_access_iterator<const int*>, int*>();
-
- test<const int*, const int*, output_iterator<int*> >();
- test<const int*, const int*, forward_iterator<int*> >();
- test<const int*, const int*, bidirectional_iterator<int*> >();
- test<const int*, const int*, random_access_iterator<int*> >();
- test<const int*, const int*, int*>();
-}
diff --git a/libcxx/test/algorithms/alg.sorting/alg.set.operations/set.union/set_union_comp.pass.cpp b/libcxx/test/algorithms/alg.sorting/alg.set.operations/set.union/set_union_comp.pass.cpp
deleted file mode 100644
index 3d63e3fb9c4..00000000000
--- a/libcxx/test/algorithms/alg.sorting/alg.set.operations/set.union/set_union_comp.pass.cpp
+++ /dev/null
@@ -1,200 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <algorithm>
-
-// template<InputIterator InIter1, InputIterator InIter2, typename OutIter,
-// CopyConstructible Compare>
-// requires OutputIterator<OutIter, InIter1::reference>
-// && OutputIterator<OutIter, InIter2::reference>
-// && Predicate<Compare, InIter1::value_type, InIter2::value_type>
-// && Predicate<Compare, InIter2::value_type, InIter1::value_type>
-// OutIter
-// set_union(InIter1 first1, InIter1 last1, InIter2 first2, InIter2 last2,
-// OutIter result, Compare comp);
-
-#include <algorithm>
-#include <functional>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class Iter1, class Iter2, class OutIter>
-void
-test()
-{
- int ia[] = {1, 2, 2, 3, 3, 3, 4, 4, 4, 4};
- const int sa = sizeof(ia)/sizeof(ia[0]);
- int ib[] = {2, 4, 4, 6};
- const int sb = sizeof(ib)/sizeof(ib[0]);
- int ic[20];
- int ir[] = {1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 6};
- const int sr = sizeof(ir)/sizeof(ir[0]);
- OutIter ce = std::set_union(Iter1(ia), Iter1(ia+sa),
- Iter2(ib), Iter2(ib+sb), OutIter(ic), std::less<int>());
- assert(base(ce) - ic == sr);
- assert(std::lexicographical_compare(ic, base(ce), ir, ir+sr) == 0);
- ce = std::set_union(Iter1(ib), Iter1(ib+sb),
- Iter2(ia), Iter2(ia+sa), OutIter(ic), std::less<int>());
- assert(base(ce) - ic == sr);
- assert(std::lexicographical_compare(ic, base(ce), ir, ir+sr) == 0);
-}
-
-int main()
-{
- test<input_iterator<const int*>, input_iterator<const int*>, output_iterator<int*> >();
- test<input_iterator<const int*>, input_iterator<const int*>, forward_iterator<int*> >();
- test<input_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<input_iterator<const int*>, input_iterator<const int*>, random_access_iterator<int*> >();
- test<input_iterator<const int*>, input_iterator<const int*>, int*>();
-
- test<input_iterator<const int*>, forward_iterator<const int*>, output_iterator<int*> >();
- test<input_iterator<const int*>, forward_iterator<const int*>, forward_iterator<int*> >();
- test<input_iterator<const int*>, forward_iterator<const int*>, bidirectional_iterator<int*> >();
- test<input_iterator<const int*>, forward_iterator<const int*>, random_access_iterator<int*> >();
- test<input_iterator<const int*>, forward_iterator<const int*>, int*>();
-
- test<input_iterator<const int*>, bidirectional_iterator<const int*>, output_iterator<int*> >();
- test<input_iterator<const int*>, bidirectional_iterator<const int*>, forward_iterator<int*> >();
- test<input_iterator<const int*>, bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
- test<input_iterator<const int*>, bidirectional_iterator<const int*>, random_access_iterator<int*> >();
- test<input_iterator<const int*>, bidirectional_iterator<const int*>, int*>();
-
- test<input_iterator<const int*>, random_access_iterator<const int*>, output_iterator<int*> >();
- test<input_iterator<const int*>, random_access_iterator<const int*>, forward_iterator<int*> >();
- test<input_iterator<const int*>, random_access_iterator<const int*>, bidirectional_iterator<int*> >();
- test<input_iterator<const int*>, random_access_iterator<const int*>, random_access_iterator<int*> >();
- test<input_iterator<const int*>, random_access_iterator<const int*>, int*>();
-
- test<input_iterator<const int*>, const int*, output_iterator<int*> >();
- test<input_iterator<const int*>, const int*, forward_iterator<int*> >();
- test<input_iterator<const int*>, const int*, bidirectional_iterator<int*> >();
- test<input_iterator<const int*>, const int*, random_access_iterator<int*> >();
- test<input_iterator<const int*>, const int*, int*>();
-
- test<forward_iterator<const int*>, input_iterator<const int*>, output_iterator<int*> >();
- test<forward_iterator<const int*>, input_iterator<const int*>, forward_iterator<int*> >();
- test<forward_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<forward_iterator<const int*>, input_iterator<const int*>, random_access_iterator<int*> >();
- test<forward_iterator<const int*>, input_iterator<const int*>, int*>();
-
- test<forward_iterator<const int*>, forward_iterator<const int*>, output_iterator<int*> >();
- test<forward_iterator<const int*>, forward_iterator<const int*>, forward_iterator<int*> >();
- test<forward_iterator<const int*>, forward_iterator<const int*>, bidirectional_iterator<int*> >();
- test<forward_iterator<const int*>, forward_iterator<const int*>, random_access_iterator<int*> >();
- test<forward_iterator<const int*>, forward_iterator<const int*>, int*>();
-
- test<forward_iterator<const int*>, bidirectional_iterator<const int*>, output_iterator<int*> >();
- test<forward_iterator<const int*>, bidirectional_iterator<const int*>, forward_iterator<int*> >();
- test<forward_iterator<const int*>, bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
- test<forward_iterator<const int*>, bidirectional_iterator<const int*>, random_access_iterator<int*> >();
- test<forward_iterator<const int*>, bidirectional_iterator<const int*>, int*>();
-
- test<forward_iterator<const int*>, random_access_iterator<const int*>, output_iterator<int*> >();
- test<forward_iterator<const int*>, random_access_iterator<const int*>, forward_iterator<int*> >();
- test<forward_iterator<const int*>, random_access_iterator<const int*>, bidirectional_iterator<int*> >();
- test<forward_iterator<const int*>, random_access_iterator<const int*>, random_access_iterator<int*> >();
- test<forward_iterator<const int*>, random_access_iterator<const int*>, int*>();
-
- test<forward_iterator<const int*>, const int*, output_iterator<int*> >();
- test<forward_iterator<const int*>, const int*, forward_iterator<int*> >();
- test<forward_iterator<const int*>, const int*, bidirectional_iterator<int*> >();
- test<forward_iterator<const int*>, const int*, random_access_iterator<int*> >();
- test<forward_iterator<const int*>, const int*, int*>();
-
- test<bidirectional_iterator<const int*>, input_iterator<const int*>, output_iterator<int*> >();
- test<bidirectional_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<bidirectional_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<bidirectional_iterator<const int*>, input_iterator<const int*>, random_access_iterator<int*> >();
- test<bidirectional_iterator<const int*>, input_iterator<const int*>, int*>();
-
- test<bidirectional_iterator<const int*>, forward_iterator<const int*>, output_iterator<int*> >();
- test<bidirectional_iterator<const int*>, forward_iterator<const int*>, forward_iterator<int*> >();
- test<bidirectional_iterator<const int*>, forward_iterator<const int*>, bidirectional_iterator<int*> >();
- test<bidirectional_iterator<const int*>, forward_iterator<const int*>, random_access_iterator<int*> >();
- test<bidirectional_iterator<const int*>, forward_iterator<const int*>, int*>();
-
- test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*>, output_iterator<int*> >();
- test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*>, forward_iterator<int*> >();
- test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
- test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*>, random_access_iterator<int*> >();
- test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*>, int*>();
-
- test<bidirectional_iterator<const int*>, random_access_iterator<const int*>, output_iterator<int*> >();
- test<bidirectional_iterator<const int*>, random_access_iterator<const int*>, forward_iterator<int*> >();
- test<bidirectional_iterator<const int*>, random_access_iterator<const int*>, bidirectional_iterator<int*> >();
- test<bidirectional_iterator<const int*>, random_access_iterator<const int*>, random_access_iterator<int*> >();
- test<bidirectional_iterator<const int*>, random_access_iterator<const int*>, int*>();
-
- test<bidirectional_iterator<const int*>, const int*, output_iterator<int*> >();
- test<bidirectional_iterator<const int*>, const int*, forward_iterator<int*> >();
- test<bidirectional_iterator<const int*>, const int*, bidirectional_iterator<int*> >();
- test<bidirectional_iterator<const int*>, const int*, random_access_iterator<int*> >();
- test<bidirectional_iterator<const int*>, const int*, int*>();
-
- test<random_access_iterator<const int*>, input_iterator<const int*>, output_iterator<int*> >();
- test<random_access_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<random_access_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<random_access_iterator<const int*>, input_iterator<const int*>, random_access_iterator<int*> >();
- test<random_access_iterator<const int*>, input_iterator<const int*>, int*>();
-
- test<random_access_iterator<const int*>, forward_iterator<const int*>, output_iterator<int*> >();
- test<random_access_iterator<const int*>, forward_iterator<const int*>, forward_iterator<int*> >();
- test<random_access_iterator<const int*>, forward_iterator<const int*>, bidirectional_iterator<int*> >();
- test<random_access_iterator<const int*>, forward_iterator<const int*>, random_access_iterator<int*> >();
- test<random_access_iterator<const int*>, forward_iterator<const int*>, int*>();
-
- test<random_access_iterator<const int*>, bidirectional_iterator<const int*>, output_iterator<int*> >();
- test<random_access_iterator<const int*>, bidirectional_iterator<const int*>, forward_iterator<int*> >();
- test<random_access_iterator<const int*>, bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
- test<random_access_iterator<const int*>, bidirectional_iterator<const int*>, random_access_iterator<int*> >();
- test<random_access_iterator<const int*>, bidirectional_iterator<const int*>, int*>();
-
- test<random_access_iterator<const int*>, random_access_iterator<const int*>, output_iterator<int*> >();
- test<random_access_iterator<const int*>, random_access_iterator<const int*>, forward_iterator<int*> >();
- test<random_access_iterator<const int*>, random_access_iterator<const int*>, bidirectional_iterator<int*> >();
- test<random_access_iterator<const int*>, random_access_iterator<const int*>, random_access_iterator<int*> >();
- test<random_access_iterator<const int*>, random_access_iterator<const int*>, int*>();
-
- test<random_access_iterator<const int*>, const int*, output_iterator<int*> >();
- test<random_access_iterator<const int*>, const int*, forward_iterator<int*> >();
- test<random_access_iterator<const int*>, const int*, bidirectional_iterator<int*> >();
- test<random_access_iterator<const int*>, const int*, random_access_iterator<int*> >();
- test<random_access_iterator<const int*>, const int*, int*>();
-
- test<const int*, input_iterator<const int*>, output_iterator<int*> >();
- test<const int*, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<const int*, input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<const int*, input_iterator<const int*>, random_access_iterator<int*> >();
- test<const int*, input_iterator<const int*>, int*>();
-
- test<const int*, forward_iterator<const int*>, output_iterator<int*> >();
- test<const int*, forward_iterator<const int*>, forward_iterator<int*> >();
- test<const int*, forward_iterator<const int*>, bidirectional_iterator<int*> >();
- test<const int*, forward_iterator<const int*>, random_access_iterator<int*> >();
- test<const int*, forward_iterator<const int*>, int*>();
-
- test<const int*, bidirectional_iterator<const int*>, output_iterator<int*> >();
- test<const int*, bidirectional_iterator<const int*>, forward_iterator<int*> >();
- test<const int*, bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
- test<const int*, bidirectional_iterator<const int*>, random_access_iterator<int*> >();
- test<const int*, bidirectional_iterator<const int*>, int*>();
-
- test<const int*, random_access_iterator<const int*>, output_iterator<int*> >();
- test<const int*, random_access_iterator<const int*>, forward_iterator<int*> >();
- test<const int*, random_access_iterator<const int*>, bidirectional_iterator<int*> >();
- test<const int*, random_access_iterator<const int*>, random_access_iterator<int*> >();
- test<const int*, random_access_iterator<const int*>, int*>();
-
- test<const int*, const int*, output_iterator<int*> >();
- test<const int*, const int*, forward_iterator<int*> >();
- test<const int*, const int*, bidirectional_iterator<int*> >();
- test<const int*, const int*, random_access_iterator<int*> >();
- test<const int*, const int*, int*>();
-}
OpenPOWER on IntegriCloud