summaryrefslogtreecommitdiffstats
path: root/libcxx/test/algorithms/alg.modifying.operations/alg.remove
diff options
context:
space:
mode:
authorEric Fiselier <eric@efcs.ca>2014-12-20 01:40:03 +0000
committerEric Fiselier <eric@efcs.ca>2014-12-20 01:40:03 +0000
commit5a83710e371fe68a06e6e3876c6a2c8b820a8976 (patch)
treeafde4c82ad6704681781c5cd49baa3fbd05c85db /libcxx/test/algorithms/alg.modifying.operations/alg.remove
parentf11e8eab527fba316c64112f6e05de1a79693a3e (diff)
downloadbcm5719-llvm-5a83710e371fe68a06e6e3876c6a2c8b820a8976.tar.gz
bcm5719-llvm-5a83710e371fe68a06e6e3876c6a2c8b820a8976.zip
Move test into test/std subdirectory.
llvm-svn: 224658
Diffstat (limited to 'libcxx/test/algorithms/alg.modifying.operations/alg.remove')
-rw-r--r--libcxx/test/algorithms/alg.modifying.operations/alg.remove/remove.pass.cpp83
-rw-r--r--libcxx/test/algorithms/alg.modifying.operations/alg.remove/remove_copy.pass.cpp70
-rw-r--r--libcxx/test/algorithms/alg.modifying.operations/alg.remove/remove_copy_if.pass.cpp73
-rw-r--r--libcxx/test/algorithms/alg.modifying.operations/alg.remove/remove_if.pass.cpp98
4 files changed, 0 insertions, 324 deletions
diff --git a/libcxx/test/algorithms/alg.modifying.operations/alg.remove/remove.pass.cpp b/libcxx/test/algorithms/alg.modifying.operations/alg.remove/remove.pass.cpp
deleted file mode 100644
index 80f86568c4d..00000000000
--- a/libcxx/test/algorithms/alg.modifying.operations/alg.remove/remove.pass.cpp
+++ /dev/null
@@ -1,83 +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<ForwardIterator Iter, class T>
-// requires OutputIterator<Iter, RvalueOf<Iter::reference>::type>
-// && HasEqualTo<Iter::value_type, T>
-// Iter
-// remove(Iter first, Iter last, const T& value);
-
-#include <algorithm>
-#include <cassert>
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-#include <memory>
-#endif
-
-#include "test_iterators.h"
-
-template <class Iter>
-void
-test()
-{
- int ia[] = {0, 1, 2, 3, 4, 2, 3, 4, 2};
- const unsigned sa = sizeof(ia)/sizeof(ia[0]);
- Iter r = std::remove(Iter(ia), Iter(ia+sa), 2);
- assert(base(r) == ia + sa-3);
- assert(ia[0] == 0);
- assert(ia[1] == 1);
- assert(ia[2] == 3);
- assert(ia[3] == 4);
- assert(ia[4] == 3);
- assert(ia[5] == 4);
-}
-
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-
-template <class Iter>
-void
-test1()
-{
- const unsigned sa = 9;
- std::unique_ptr<int> ia[sa];
- ia[0].reset(new int(0));
- ia[1].reset(new int(1));
- ia[3].reset(new int(3));
- ia[4].reset(new int(4));
- ia[6].reset(new int(3));
- ia[7].reset(new int(4));
- Iter r = std::remove(Iter(ia), Iter(ia+sa), std::unique_ptr<int>());
- assert(base(r) == ia + sa-3);
- assert(*ia[0] == 0);
- assert(*ia[1] == 1);
- assert(*ia[2] == 3);
- assert(*ia[3] == 4);
- assert(*ia[4] == 3);
- assert(*ia[5] == 4);
-}
-
-#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-
-int main()
-{
- test<forward_iterator<int*> >();
- test<bidirectional_iterator<int*> >();
- test<random_access_iterator<int*> >();
- test<int*>();
-
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-
- test1<forward_iterator<std::unique_ptr<int>*> >();
- test1<bidirectional_iterator<std::unique_ptr<int>*> >();
- test1<random_access_iterator<std::unique_ptr<int>*> >();
- test1<std::unique_ptr<int>*>();
-
-#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-}
diff --git a/libcxx/test/algorithms/alg.modifying.operations/alg.remove/remove_copy.pass.cpp b/libcxx/test/algorithms/alg.modifying.operations/alg.remove/remove_copy.pass.cpp
deleted file mode 100644
index bf5f79cf835..00000000000
--- a/libcxx/test/algorithms/alg.modifying.operations/alg.remove/remove_copy.pass.cpp
+++ /dev/null
@@ -1,70 +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 InIter, OutputIterator<auto, InIter::reference> OutIter, class T>
-// requires HasEqualTo<InIter::value_type, T>
-// OutIter
-// remove_copy(InIter first, InIter last, OutIter result, const T& value);
-
-#include <algorithm>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class InIter, class OutIter>
-void
-test()
-{
- int ia[] = {0, 1, 2, 3, 4, 2, 3, 4, 2};
- const unsigned sa = sizeof(ia)/sizeof(ia[0]);
- int ib[sa];
- OutIter r = std::remove_copy(InIter(ia), InIter(ia+sa), OutIter(ib), 2);
- assert(base(r) == ib + sa-3);
- assert(ib[0] == 0);
- assert(ib[1] == 1);
- assert(ib[2] == 3);
- assert(ib[3] == 4);
- assert(ib[4] == 3);
- assert(ib[5] == 4);
-}
-
-int main()
-{
- test<input_iterator<const int*>, output_iterator<int*> >();
- test<input_iterator<const int*>, forward_iterator<int*> >();
- test<input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<input_iterator<const int*>, random_access_iterator<int*> >();
- test<input_iterator<const int*>, int*>();
-
- test<forward_iterator<const int*>, output_iterator<int*> >();
- test<forward_iterator<const int*>, forward_iterator<int*> >();
- test<forward_iterator<const int*>, bidirectional_iterator<int*> >();
- test<forward_iterator<const int*>, random_access_iterator<int*> >();
- test<forward_iterator<const int*>, int*>();
-
- test<bidirectional_iterator<const int*>, output_iterator<int*> >();
- test<bidirectional_iterator<const int*>, forward_iterator<int*> >();
- test<bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
- test<bidirectional_iterator<const int*>, random_access_iterator<int*> >();
- test<bidirectional_iterator<const int*>, int*>();
-
- test<random_access_iterator<const int*>, output_iterator<int*> >();
- test<random_access_iterator<const int*>, forward_iterator<int*> >();
- test<random_access_iterator<const int*>, bidirectional_iterator<int*> >();
- test<random_access_iterator<const int*>, random_access_iterator<int*> >();
- test<random_access_iterator<const int*>, int*>();
-
- test<const int*, output_iterator<int*> >();
- test<const int*, forward_iterator<int*> >();
- test<const int*, bidirectional_iterator<int*> >();
- test<const int*, random_access_iterator<int*> >();
- test<const int*, int*>();
-}
diff --git a/libcxx/test/algorithms/alg.modifying.operations/alg.remove/remove_copy_if.pass.cpp b/libcxx/test/algorithms/alg.modifying.operations/alg.remove/remove_copy_if.pass.cpp
deleted file mode 100644
index de3f0a74104..00000000000
--- a/libcxx/test/algorithms/alg.modifying.operations/alg.remove/remove_copy_if.pass.cpp
+++ /dev/null
@@ -1,73 +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 InIter, OutputIterator<auto, InIter::reference> OutIter,
-// Predicate<auto, InIter::value_type> Pred>
-// requires CopyConstructible<Pred>
-// OutIter
-// remove_copy_if(InIter first, InIter last, OutIter result, Pred pred);
-
-#include <algorithm>
-#include <functional>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class InIter, class OutIter>
-void
-test()
-{
- int ia[] = {0, 1, 2, 3, 4, 2, 3, 4, 2};
- const unsigned sa = sizeof(ia)/sizeof(ia[0]);
- int ib[sa];
- OutIter r = std::remove_copy_if(InIter(ia), InIter(ia+sa), OutIter(ib),
- std::bind2nd(std::equal_to<int>(), 2));
- assert(base(r) == ib + sa-3);
- assert(ib[0] == 0);
- assert(ib[1] == 1);
- assert(ib[2] == 3);
- assert(ib[3] == 4);
- assert(ib[4] == 3);
- assert(ib[5] == 4);
-}
-
-int main()
-{
- test<input_iterator<const int*>, output_iterator<int*> >();
- test<input_iterator<const int*>, forward_iterator<int*> >();
- test<input_iterator<const int*>, bidirectional_iterator<int*> >();
- test<input_iterator<const int*>, random_access_iterator<int*> >();
- test<input_iterator<const int*>, int*>();
-
- test<forward_iterator<const int*>, output_iterator<int*> >();
- test<forward_iterator<const int*>, forward_iterator<int*> >();
- test<forward_iterator<const int*>, bidirectional_iterator<int*> >();
- test<forward_iterator<const int*>, random_access_iterator<int*> >();
- test<forward_iterator<const int*>, int*>();
-
- test<bidirectional_iterator<const int*>, output_iterator<int*> >();
- test<bidirectional_iterator<const int*>, forward_iterator<int*> >();
- test<bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
- test<bidirectional_iterator<const int*>, random_access_iterator<int*> >();
- test<bidirectional_iterator<const int*>, int*>();
-
- test<random_access_iterator<const int*>, output_iterator<int*> >();
- test<random_access_iterator<const int*>, forward_iterator<int*> >();
- test<random_access_iterator<const int*>, bidirectional_iterator<int*> >();
- test<random_access_iterator<const int*>, random_access_iterator<int*> >();
- test<random_access_iterator<const int*>, int*>();
-
- test<const int*, output_iterator<int*> >();
- test<const int*, forward_iterator<int*> >();
- test<const int*, bidirectional_iterator<int*> >();
- test<const int*, random_access_iterator<int*> >();
- test<const int*, int*>();
-}
diff --git a/libcxx/test/algorithms/alg.modifying.operations/alg.remove/remove_if.pass.cpp b/libcxx/test/algorithms/alg.modifying.operations/alg.remove/remove_if.pass.cpp
deleted file mode 100644
index b234431295a..00000000000
--- a/libcxx/test/algorithms/alg.modifying.operations/alg.remove/remove_if.pass.cpp
+++ /dev/null
@@ -1,98 +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<ForwardIterator Iter, Predicate<auto, Iter::value_type> Pred>
-// requires OutputIterator<Iter, RvalueOf<Iter::reference>::type>
-// && CopyConstructible<Pred>
-// Iter
-// remove_if(Iter first, Iter last, Pred pred);
-
-#include <algorithm>
-#include <functional>
-#include <cassert>
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-#include <memory>
-#endif
-
-#include "test_iterators.h"
-#include "counting_predicates.hpp"
-
-bool equal2 ( int i ) { return i == 2; }
-
-template <class Iter>
-void
-test()
-{
- int ia[] = {0, 1, 2, 3, 4, 2, 3, 4, 2};
- const unsigned sa = sizeof(ia)/sizeof(ia[0]);
-// int* r = std::remove_if(ia, ia+sa, std::bind2nd(std::equal_to<int>(), 2));
- unary_counting_predicate<bool(*)(int), int> cp(equal2);
- int* r = std::remove_if(ia, ia+sa, std::ref(cp));
- assert(r == ia + sa-3);
- assert(ia[0] == 0);
- assert(ia[1] == 1);
- assert(ia[2] == 3);
- assert(ia[3] == 4);
- assert(ia[4] == 3);
- assert(ia[5] == 4);
- assert(cp.count() == sa);
-}
-
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-
-struct pred
-{
- bool operator()(const std::unique_ptr<int>& i) {return *i == 2;}
-};
-
-template <class Iter>
-void
-test1()
-{
- const unsigned sa = 9;
- std::unique_ptr<int> ia[sa];
- ia[0].reset(new int(0));
- ia[1].reset(new int(1));
- ia[2].reset(new int(2));
- ia[3].reset(new int(3));
- ia[4].reset(new int(4));
- ia[5].reset(new int(2));
- ia[6].reset(new int(3));
- ia[7].reset(new int(4));
- ia[8].reset(new int(2));
- Iter r = std::remove_if(Iter(ia), Iter(ia+sa), pred());
- assert(base(r) == ia + sa-3);
- assert(*ia[0] == 0);
- assert(*ia[1] == 1);
- assert(*ia[2] == 3);
- assert(*ia[3] == 4);
- assert(*ia[4] == 3);
- assert(*ia[5] == 4);
-}
-
-#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-
-int main()
-{
- test<forward_iterator<int*> >();
- test<bidirectional_iterator<int*> >();
- test<random_access_iterator<int*> >();
- test<int*>();
-
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-
- test1<forward_iterator<std::unique_ptr<int>*> >();
- test1<bidirectional_iterator<std::unique_ptr<int>*> >();
- test1<random_access_iterator<std::unique_ptr<int>*> >();
- test1<std::unique_ptr<int>*>();
-
-#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-}
OpenPOWER on IntegriCloud