diff options
Diffstat (limited to 'libcxx/test/algorithms/alg.modifying.operations/alg.move/move.pass.cpp')
-rw-r--r-- | libcxx/test/algorithms/alg.modifying.operations/alg.move/move.pass.cpp | 134 |
1 files changed, 0 insertions, 134 deletions
diff --git a/libcxx/test/algorithms/alg.modifying.operations/alg.move/move.pass.cpp b/libcxx/test/algorithms/alg.modifying.operations/alg.move/move.pass.cpp deleted file mode 100644 index 43234be5d3b..00000000000 --- a/libcxx/test/algorithms/alg.modifying.operations/alg.move/move.pass.cpp +++ /dev/null @@ -1,134 +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, typename OutIter> -// requires OutputIterator<OutIter, RvalueOf<InIter::reference>::type> -// OutIter -// move(InIter first, InIter last, OutIter result); - -#include <algorithm> -#include <cassert> -#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES -#include <memory> -#endif - -#include "test_iterators.h" - -template <class InIter, class OutIter> -void -test() -{ - const unsigned N = 1000; - int ia[N]; - for (unsigned i = 0; i < N; ++i) - ia[i] = i; - int ib[N] = {0}; - - OutIter r = std::move(InIter(ia), InIter(ia+N), OutIter(ib)); - assert(base(r) == ib+N); - for (unsigned i = 0; i < N; ++i) - assert(ia[i] == ib[i]); -} - -#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES - -template <class InIter, class OutIter> -void -test1() -{ - const unsigned N = 100; - std::unique_ptr<int> ia[N]; - for (unsigned i = 0; i < N; ++i) - ia[i].reset(new int(i)); - std::unique_ptr<int> ib[N]; - - OutIter r = std::move(InIter(ia), InIter(ia+N), OutIter(ib)); - assert(base(r) == ib+N); - for (unsigned i = 0; i < N; ++i) - assert(*ib[i] == i); -} - -#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES - -int main() -{ - test<input_iterator<const int*>, output_iterator<int*> >(); - test<input_iterator<const int*>, input_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*>, input_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*>, input_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*>, input_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*, input_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*>(); - -#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES - test1<input_iterator<std::unique_ptr<int>*>, output_iterator<std::unique_ptr<int>*> >(); - test1<input_iterator<std::unique_ptr<int>*>, input_iterator<std::unique_ptr<int>*> >(); - test1<input_iterator<std::unique_ptr<int>*>, forward_iterator<std::unique_ptr<int>*> >(); - test1<input_iterator<std::unique_ptr<int>*>, bidirectional_iterator<std::unique_ptr<int>*> >(); - test1<input_iterator<std::unique_ptr<int>*>, random_access_iterator<std::unique_ptr<int>*> >(); - test1<input_iterator<std::unique_ptr<int>*>, std::unique_ptr<int>*>(); - - test1<forward_iterator<std::unique_ptr<int>*>, output_iterator<std::unique_ptr<int>*> >(); - test1<forward_iterator<std::unique_ptr<int>*>, input_iterator<std::unique_ptr<int>*> >(); - test1<forward_iterator<std::unique_ptr<int>*>, forward_iterator<std::unique_ptr<int>*> >(); - test1<forward_iterator<std::unique_ptr<int>*>, bidirectional_iterator<std::unique_ptr<int>*> >(); - test1<forward_iterator<std::unique_ptr<int>*>, random_access_iterator<std::unique_ptr<int>*> >(); - test1<forward_iterator<std::unique_ptr<int>*>, std::unique_ptr<int>*>(); - - test1<bidirectional_iterator<std::unique_ptr<int>*>, output_iterator<std::unique_ptr<int>*> >(); - test1<bidirectional_iterator<std::unique_ptr<int>*>, input_iterator<std::unique_ptr<int>*> >(); - test1<bidirectional_iterator<std::unique_ptr<int>*>, forward_iterator<std::unique_ptr<int>*> >(); - test1<bidirectional_iterator<std::unique_ptr<int>*>, bidirectional_iterator<std::unique_ptr<int>*> >(); - test1<bidirectional_iterator<std::unique_ptr<int>*>, random_access_iterator<std::unique_ptr<int>*> >(); - test1<bidirectional_iterator<std::unique_ptr<int>*>, std::unique_ptr<int>*>(); - - test1<random_access_iterator<std::unique_ptr<int>*>, output_iterator<std::unique_ptr<int>*> >(); - test1<random_access_iterator<std::unique_ptr<int>*>, input_iterator<std::unique_ptr<int>*> >(); - test1<random_access_iterator<std::unique_ptr<int>*>, forward_iterator<std::unique_ptr<int>*> >(); - test1<random_access_iterator<std::unique_ptr<int>*>, bidirectional_iterator<std::unique_ptr<int>*> >(); - test1<random_access_iterator<std::unique_ptr<int>*>, random_access_iterator<std::unique_ptr<int>*> >(); - test1<random_access_iterator<std::unique_ptr<int>*>, std::unique_ptr<int>*>(); - - test1<std::unique_ptr<int>*, output_iterator<std::unique_ptr<int>*> >(); - test1<std::unique_ptr<int>*, input_iterator<std::unique_ptr<int>*> >(); - test1<std::unique_ptr<int>*, forward_iterator<std::unique_ptr<int>*> >(); - test1<std::unique_ptr<int>*, bidirectional_iterator<std::unique_ptr<int>*> >(); - test1<std::unique_ptr<int>*, random_access_iterator<std::unique_ptr<int>*> >(); - test1<std::unique_ptr<int>*, std::unique_ptr<int>*>(); -#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES -} |