diff options
| author | Eric Fiselier <eric@efcs.ca> | 2014-12-20 01:40:03 +0000 |
|---|---|---|
| committer | Eric Fiselier <eric@efcs.ca> | 2014-12-20 01:40:03 +0000 |
| commit | 5a83710e371fe68a06e6e3876c6a2c8b820a8976 (patch) | |
| tree | afde4c82ad6704681781c5cd49baa3fbd05c85db /libcxx/test/algorithms/alg.sorting/alg.set.operations | |
| parent | f11e8eab527fba316c64112f6e05de1a79693a3e (diff) | |
| download | bcm5719-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')
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*>(); -} |

