diff options
Diffstat (limited to 'test/std/algorithms/alg.modifying.operations/alg.copy/copy.pass.cpp')
| -rw-r--r-- | test/std/algorithms/alg.modifying.operations/alg.copy/copy.pass.cpp | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/test/std/algorithms/alg.modifying.operations/alg.copy/copy.pass.cpp b/test/std/algorithms/alg.modifying.operations/alg.copy/copy.pass.cpp deleted file mode 100644 index d2d567f317de6..0000000000000 --- a/test/std/algorithms/alg.modifying.operations/alg.copy/copy.pass.cpp +++ /dev/null @@ -1,90 +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> -// constexpr OutIter // constexpr after C++17 -// copy(InIter first, InIter last, OutIter result); - -#include <algorithm> -#include <cassert> - -#include "test_macros.h" -#include "test_iterators.h" - -// #if TEST_STD_VER > 17 -// TEST_CONSTEXPR bool test_constexpr() { -// int ia[] = {1, 2, 3, 4, 5}; -// int ic[] = {6, 6, 6, 6, 6, 6, 6}; -// -// auto p = std::copy(std::begin(ia), std::end(ia), std::begin(ic)); -// return std::equal(std::begin(ia), std::end(ia), std::begin(ic), p) -// && std::all_of(p, std::end(ic), [](int a){return a == 6;}) -// ; -// } -// #endif - -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::copy(InIter(ia), InIter(ia+N), OutIter(ib)); - assert(base(r) == ib+N); - for (unsigned i = 0; i < N; ++i) - assert(ia[i] == ib[i]); -} - -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*>(); - -// #if TEST_STD_VER > 17 -// static_assert(test_constexpr()); -// #endif -} |
