/llvm-project/libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/ |
H A D | ranges_replace_copy.pass.cpp | 39 template <class Iter, class Sent = sentinel_wrapper<Iter>, class OutIter = int*> 41 requires(Iter&& first, Sent&& last, OutIter&& result) { 43 std::forward<Iter>(first), std::forward<Sent>(last), std::forward<OutIter>(result), 0, 0); 67 template <class Range, class OutIter = int*> 68 concept HasReplaceCopyRange = requires(Range&& range, OutIter&& result) { 69 std::ranges::replace_copy(std::forward<Range>(range), std::forward<OutIter>(result), 0, 0); 102 template <class InIter, class Sent, class OutIter, int N> 109 auto result = OutIter(output.data()); in test() 111 std::same_as<std::ranges::replace_copy_result<InIter, OutIter>> decltype(auto) ret = in test() 122 auto result = OutIter(output.data()); in test() [all …]
|
H A D | ranges_replace_copy_if.pass.cpp | 43 template <class Iter, class Sent = sentinel_wrapper<Iter>, class OutIter = int*> 44 concept HasReplaceCopyIfIter = requires(Iter&& first, Sent&& last, OutIter&& result) { 46 …std::forward<Iter>(first), std::forward<Sent>(last), std::forward<OutIter>(result), FalsePredicate… 71 template <class Range, class OutIter = int*> 72 concept HasReplaceCopyIfRange = requires(Range&& range, OutIter&& result) { 73 …std::ranges::replace_copy_if(std::forward<Range>(range), std::forward<OutIter>(result), FalsePredi… 106 template <class InIter, class Sent, class OutIter, int N> 113 auto result = OutIter(output.data()); in test() 117 std::same_as<std::ranges::replace_copy_if_result<InIter, OutIter>> decltype(auto) ret = in test() 128 auto result = OutIter(output.data()); in test() [all …]
|
/llvm-project/libcxx/test/std/algorithms/alg.sorting/alg.sort/partial.sort.copy/ |
H A D | partial_sort_copy.pass.cpp | 26 template<class T, class Iter, class OutIter> 33 … OutIter it = std::partial_sort_copy(Iter(orig), Iter(orig+n), OutIter(work), OutIter(work+m)); in test() 35 assert(it == OutIter(work+n)); in test() 36 assert(std::is_permutation(OutIter(work), it, orig)); in test() 38 assert(it == OutIter(work+m)); in test() 40 assert(std::is_sorted(OutIter(work), it)); in test() 41 if (it != OutIter(work)) { in test() 55 std::partial_sort_copy(Iter(input), Iter(input + 5), OutIter(output), OutIter(output + 3)); in test()
|
H A D | partial_sort_copy_comp.pass.cpp | 29 template<class T, class Iter, class OutIter> 36 …OutIter it = std::partial_sort_copy(Iter(orig), Iter(orig+n), OutIter(work), OutIter(work+m), std:… in test() 38 assert(it == OutIter(work+n)); in test() 39 assert(std::is_permutation(OutIter(work), it, orig)); in test() 41 assert(it == OutIter(work+m)); in test() 43 assert(std::is_sorted(OutIter(work), it, std::greater<T>())); in test() 44 if (it != OutIter(work)) { in test() 58 …std::partial_sort_copy(Iter(input), Iter(input + 5), OutIter(output), OutIter(output + 3), std::gr… in test()
|
H A D | ranges_partial_sort_copy.pass.cpp | 122 template <class Iter, class Sent, class OutIter, class OutSent, std::size_t N> 128 using ResultT = std::ranges::partial_sort_copy_result<Iter, OutIter>; in test_one() 143 Iter(begin), Sent(Iter(end)), OutIter(out_begin), OutSent(OutIter(out_end))); in test_one() 157 auto out_range = std::ranges::subrange(OutIter(out_begin), OutSent(OutIter(out_end))); in test_one() 170 template <class Iter, class Sent, class OutIter, class OutSent, std::size_t N> 177 test_one<Iter, Sent, OutIter, OutSent>(input, N, out_size, sorted); in test_all_subsequences() 181 template <class InIter, class Sent1, class OutIter, class Sent2> 184 test_all_subsequences<InIter, Sent1, OutIter, Sent2, 0>({}); in test_iterators_in_sent1_out_sent2() 187 test_all_subsequences<InIter, Sent1, OutIter, Sent2>(std::array{1}); in test_iterators_in_sent1_out_sent2() 190 test_all_subsequences<InIter, Sent1, OutIter, Sent2>(std::array{2, 1}); in test_iterators_in_sent1_out_sent2() [all …]
|
/llvm-project/libcxx/test/std/algorithms/alg.modifying.operations/alg.remove/ |
H A D | ranges_remove_copy.pass.cpp | 42 template <class Iter = int*, class Sent = int*, class OutIter = int*, class Proj = std::identity> 44 requires(Iter&& iter, Sent&& sent, OutIter&& out, Proj&& proj) { 46 …std::forward<Iter>(iter), std::forward<Sent>(sent), std::forward<OutIter>(out), 0, std::forward<Pr… 69 template <class Range, class OutIter = int*, class Proj = std::identity> 71 requires(Range&& range, OutIter&& out, Proj&& proj) { 73 std::forward<Range>(range), std::forward<OutIter>(out), 0, std::forward<Proj>(proj)); 105 template <class InIter, class Sent, class OutIter, int N, int M> 107 using Result = std::ranges::remove_copy_result<InIter, OutIter>; in test() 113 …InIter(d.input.data()), Sent(InIter(d.input.data() + d.input.size())), OutIter(output.data()), d.v… in test() 125 std::ranges::remove_copy(range, OutIter(output.data()), d.val); in test() [all …]
|
H A D | ranges_remove_copy_if.pass.cpp | 101 template <class InIter, class OutIter, template <class> class SentWrapper, std::size_t N1, std::siz… 104 using Result = std::ranges::remove_copy_if_result<InIter, OutIter>; in testRemoveCopyIfImpl() 110 …std::ranges::remove_copy_if(InIter{in.data()}, Sent{InIter{in.data() + in.size()}}, OutIter{out.da… in testRemoveCopyIfImpl() 121 std::ranges::remove_copy_if(r, OutIter{out.data()}, pred); in testRemoveCopyIfImpl() 128 template <class InIter, class OutIter, template <class> class SentWrapper> 135 testRemoveCopyIfImpl<InIter, OutIter, SentWrapper>(in, expected, pred); in testImpl() 143 testRemoveCopyIfImpl<InIter, OutIter, SentWrapper>(in, expected, pred); in testImpl() 151 testRemoveCopyIfImpl<InIter, OutIter, SentWrapper>(in, expected, pred); in testImpl() 159 testRemoveCopyIfImpl<InIter, OutIter, SentWrapper>(in, expected, pred); in testImpl() 167 testRemoveCopyIfImpl<InIter, OutIter, SentWrapper>(in, expected, pred); in testImpl() [all …]
|
/llvm-project/libcxx/test/std/algorithms/alg.modifying.operations/alg.rotate/ |
H A D | rotate_copy.pass.cpp | 22 template <class InIter, class OutIter> 28 OutIter r = std::rotate_copy(InIter(ia), InIter(ia), InIter(ia), OutIter(ib)); in test() 31 r = std::rotate_copy(InIter(ia), InIter(ia), InIter(ia + 1), OutIter(ib)); in test() 35 r = std::rotate_copy(InIter(ia), InIter(ia + 1), InIter(ia + 1), OutIter(ib)); in test() 39 r = std::rotate_copy(InIter(ia), InIter(ia), InIter(ia + 2), OutIter(ib)); in test() 44 r = std::rotate_copy(InIter(ia), InIter(ia + 1), InIter(ia + 2), OutIter(ib)); in test() 49 r = std::rotate_copy(InIter(ia), InIter(ia + 2), InIter(ia + 2), OutIter(ib)); in test() 54 r = std::rotate_copy(InIter(ia), InIter(ia), InIter(ia + 3), OutIter(ib)); in test() 60 r = std::rotate_copy(InIter(ia), InIter(ia + 1), InIter(ia + 3), OutIter(ib)); in test() 66 r = std::rotate_copy(InIter(ia), InIter(ia + 2), InIter(ia + 3), OutIter(ib)); in test() [all …]
|
H A D | ranges.rotate_copy.pass.cpp | 53 template <class Iter, class OutIter, class Sent, int N> 57 std::same_as<std::ranges::in_out_result<Iter, OutIter>> decltype(auto) ret = in test() 61 OutIter(out.data())); in test() 69 std::same_as<std::ranges::in_out_result<Iter, OutIter>> decltype(auto) ret = in test() 70 std::ranges::rotate_copy(range, Iter(value.data() + middle), OutIter(out.data())); in test() 77 template <class Iter, class OutIter, class Sent> 80 test<Iter, OutIter, Sent, 4>({1, 2, 3, 4}, 2, {3, 4, 1, 2}); in test_iterators() 83 test<Iter, OutIter, Sent, 0>({}, 0, {}); in test_iterators() 86 test<Iter, OutIter, Sent, 1>({1}, 0, {1}); in test_iterators() 89 test<Iter, OutIter, Sent, 2>({1, 2}, 1, {2, 1}); in test_iterators() [all …]
|
/llvm-project/libcxx/test/std/algorithms/ |
H A D | ranges_robust_against_dangling.pass.cpp | 98 using OutIter = std::array<int, 6>::iterator; in test_all() typedef 142 dangling_1st<copy_result<dangling, OutIter>>(std::ranges::copy, in, out); in test_all() 143 dangling_1st<copy_backward_result<dangling, OutIter>>(std::ranges::copy_backward, in, output.end()); in test_all() 144 dangling_1st<copy_if_result<dangling, OutIter>>(std::ranges::copy_if, in, out, unary_pred); in test_all() 145 dangling_1st<move_result<dangling, OutIter>>(std::ranges::move, in, out); in test_all() 146 dangling_1st<move_backward_result<dangling, OutIter>>(std::ranges::move_backward, in, output.end()); in test_all() 160 dangling_1st<remove_copy_result<dangling, OutIter>>(std::ranges::remove_copy, in, out, x); in test_all() 161 dangling_1st<remove_copy_if_result<dangling, OutIter>>(std::ranges::remove_copy_if, in, out, unary_pred); in test_all() 164 dangling_1st<replace_copy_result<dangling, OutIter>>(std::ranges::replace_copy, in, out, x, x); in test_all() 165 dangling_1st<replace_copy_if_result<dangling, OutIter>>(st in test_all() [all...] |
/llvm-project/libcxx/test/libcxx/algorithms/alg.modifying.operations/ |
H A D | copy_move_unwrap_reverse.pass.cpp | 40 template <class InIter, template <class> class SentWrapper, class OutIter, std::size_t W1, size_t W2, class Func> 43 using To = std::iter_value_t<OutIter>; in test_one() 53 auto out = wrap_n_times<W2>(OutIter(output)); in test_one() 63 template <class InIter, template <class> class SentWrapper, class OutIter, std::size_t W1, size_t W2> 67 test_one<InIter, SentWrapper, OutIter, W1, W2>([](auto first, auto last, auto out, std::size_t) { in test_copy_and_move() 70 test_one<InIter, SentWrapper, OutIter, W1, W2>([](auto first, auto last, auto out, std::size_t n) { in test_copy_and_move() 73 test_one<InIter, SentWrapper, OutIter, W1, W2>([](auto first, auto, auto out, std::size_t n) { in test_copy_and_move() 76 test_one<InIter, SentWrapper, OutIter, W1, W2>([](auto first, auto last, auto out, std::size_t) { in test_copy_and_move() 79 test_one<InIter, SentWrapper, OutIter, W1, W2>([](auto first, auto last, auto out, std::size_t n) { in test_copy_and_move() 85 test_one<InIter, SentWrapper, OutIter, W in test_copy_and_move() [all...] |
H A D | copy_move_nontrivial.pass.cpp | 166 template <class InIter, template <class> class SentWrapper, class OutIter, class Func> 169 using To = typename std::iterator_traits<OutIter>::value_type; in test_one() 180 auto out = OutIter(output); in test_one() 200 auto out = OutIter(output); in test_one() 207 template <class InIter, template <class> class SentWrapper, class OutIter> 211 test_one<InIter, SentWrapper, OutIter>([](auto first, auto last, auto out, std::size_t) { in test_copy() 214 test_one<InIter, SentWrapper, OutIter>([](auto first, auto last, auto out, std::size_t n) { in test_copy() 217 test_one<InIter, SentWrapper, OutIter>([](auto first, auto, auto out, std::size_t n) { in test_copy() 223 test_one<InIter, SentWrapper, OutIter>([](auto first, auto last, auto out, std::size_t) { in test_copy() 226 test_one<InIter, SentWrapper, OutIter>([](auto first, auto last, auto out, std::size_t n) { in test_copy() [all …]
|
H A D | copy_move_trivial.pass.cpp | 128 template <class InIter, template <class> class SentWrapper, class OutIter, class Func> 131 using To = std::iter_value_t<OutIter>; in test_one() 143 auto out = OutIter(output); in test_one() 161 template <class InIter, template <class> class SentWrapper, class OutIter> 165 test_one<InIter, SentWrapper, OutIter>([](auto first, auto last, auto out, std::size_t) { in test_copy_and_move() 168 test_one<InIter, SentWrapper, OutIter>([](auto first, auto last, auto out, std::size_t n) { in test_copy_and_move() 171 test_one<InIter, SentWrapper, OutIter>([](auto first, auto, auto out, std::size_t n) { in test_copy_and_move() 174 test_one<InIter, SentWrapper, OutIter>([](auto first, auto last, auto out, std::size_t) { in test_copy_and_move() 177 test_one<InIter, SentWrapper, OutIter>([](auto first, auto last, auto out, std::size_t n) { in test_copy_and_move() 183 test_one<InIter, SentWrapper, OutIter>([](auto first, auto last, auto out, std::size_t) { in test_copy_and_move() [all …]
|
/llvm-project/libcxx/test/std/algorithms/alg.modifying.operations/alg.unique/ |
H A D | ranges_unique_copy.pass.cpp | 46 class OutIter = int*, 50 requires(InIter&& in, Sent&& sent, OutIter&& out, Comp&& comp, Proj&& proj) { 54 std::forward<OutIter>(out), 152 template < class Range, class OutIter = int*, class Comp = std::ranges::equal_to, class Proj = std:… 154 requires(Range&& range, OutIter&& out, Comp&& comp, Proj&& proj) { 156 …std::forward<Range>(range), std::forward<OutIter>(out), std::forward<Comp>(comp), std::forward<Pro… 181 template <class InIter, class OutIter, template <class> class SentWrapper, std::size_t N1, std::siz… 188 std::same_as<std::ranges::unique_copy_result<InIter, OutIter>> decltype(auto) result = in testUniqueCopyImpl() 189 …std::ranges::unique_copy(InIter{in.data()}, Sent{InIter{in.data() + in.size()}}, OutIter{out.data(… in testUniqueCopyImpl() 199 std::same_as<std::ranges::unique_copy_result<InIter, OutIter>> decltype(auto) result = in testUniqueCopyImpl() [all …]
|
H A D | unique_copy.pass.cpp | 51 template <class InIter, class OutIter> 58 OutIter r = std::unique_copy(InIter(ia), InIter(ia+sa), OutIter(ja)); in test() 65 r = std::unique_copy(InIter(ib), InIter(ib+sb), OutIter(jb)); in test() 73 r = std::unique_copy(InIter(ic), InIter(ic+sc), OutIter(jc)); in test() 80 r = std::unique_copy(InIter(id), InIter(id+sd), OutIter(jd)); in test() 88 r = std::unique_copy(InIter(ie), InIter(ie+se), OutIter(je)); in test() 97 r = std::unique_copy(InIter(ig), InIter(ig+sg), OutIter(jg)); in test() 105 r = std::unique_copy(InIter(ih), InIter(ih+sh), OutIter(jh)); in test() 113 r = std::unique_copy(InIter(ii), InIter(ii+si), OutIter(ji)); in test()
|
H A D | unique_copy_pred.pass.cpp | 51 template <class InIter, class OutIter> 59 OutIter r = std::unique_copy(InIter(ia), InIter(ia+sa), OutIter(ja), count_equal()); in test() 68 r = std::unique_copy(InIter(ib), InIter(ib+sb), OutIter(jb), count_equal()); in test() 78 r = std::unique_copy(InIter(ic), InIter(ic+sc), OutIter(jc), count_equal()); in test() 87 r = std::unique_copy(InIter(id), InIter(id+sd), OutIter(jd), count_equal()); in test() 97 r = std::unique_copy(InIter(ie), InIter(ie+se), OutIter(je), count_equal()); in test() 108 r = std::unique_copy(InIter(ig), InIter(ig+sg), OutIter(jg), count_equal()); in test() 118 r = std::unique_copy(InIter(ih), InIter(ih+sh), OutIter(jh), count_equal()); in test() 128 r = std::unique_copy(InIter(ii), InIter(ii+si), OutIter(ji), count_equal()); in test()
|
/llvm-project/libcxx/test/std/algorithms/alg.modifying.operations/alg.reverse/ |
H A D | ranges.reverse_copy.pass.cpp | 53 template <class Iter, class OutIter, class Sent, int N> 57 std::same_as<std::ranges::in_out_result<Iter, OutIter>> decltype(auto) ret = in test() 60 OutIter(out.data())); in test() 68 std::same_as<std::ranges::in_out_result<Iter, OutIter>> decltype(auto) ret = in test() 69 std::ranges::reverse_copy(range, OutIter(out.data())); in test() 76 template <class Iter, class OutIter, class Sent> 79 test<Iter, OutIter, Sent, 4>({1, 2, 3, 4}, {4, 3, 2, 1}); in test_iterators() 82 test<Iter, OutIter, Sent, 0>({}, {}); in test_iterators() 85 test<Iter, OutIter, Sent, 1>({1}, {1}); in test_iterators() 88 test<Iter, OutIter, Sent, 2>({1, 2}, {2, 1}); in test_iterators()
|
H A D | reverse_copy.pass.cpp | 34 template <class InIter, class OutIter> 41 OutIter r = std::reverse_copy(InIter(ia), InIter(ia), OutIter(ja)); in test() 44 r = std::reverse_copy(InIter(ia), InIter(ia+sa), OutIter(ja)); in test() 50 r = std::reverse_copy(InIter(ib), InIter(ib+sb), OutIter(jb)); in test() 58 r = std::reverse_copy(InIter(ic), InIter(ic+sc), OutIter(jc)); in test() 67 r = std::reverse_copy(InIter(id), InIter(id+sd), OutIter(jd)); in test()
|
/llvm-project/libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.union/ |
H A D | ranges_set_union.pass.cpp | 43 …InIter1 = int*, class Sent1 = int*, class InIter2 = int*, class Sent2 = int*, class OutIter = int*> 45 … requires(InIter1&& inIter1, InIter2&& inIter2, OutIter&& outIter, Sent1&& sent1, Sent2&& sent2) { 51 std::forward<OutIter>(outIter)); 77 template <class Range1, class Range2, class OutIter> 79 requires(Range1&& range1, Range2&& range2, OutIter&& outIter) { 81 … std::forward<Range1>(range1), std::forward<Range2>(range2), std::forward<OutIter>(outIter)); 245 template <class InIter2, class OutIter> 248 testImpl<cpp20_input_iterator<int*>, InIter2, OutIter>(); in withAllPermutationsOfInIter1() 249 testImpl<forward_iterator<int*>, InIter2, OutIter>(); in withAllPermutationsOfInIter1() 250 testImpl<bidirectional_iterator<int*>, InIter2, OutIter>(); in withAllPermutationsOfInIter1() [all …]
|
/llvm-project/libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.symmetric.difference/ |
H A D | ranges_set_symmetric_difference.pass.cpp | 40 …InIter1 = int*, class Sent1 = int*, class InIter2 = int*, class Sent2 = int*, class OutIter = int*> 42 … requires(InIter1&& inIter1, InIter2&& inIter2, OutIter&& outIter, Sent1&& sent1, Sent2&& sent2) { 48 std::forward<OutIter>(outIter)); 74 template <class Range1, class Range2, class OutIter> 76 requires(Range1&& range1, Range2&& range2, OutIter&& outIter) { 78 … std::forward<Range1>(range1), std::forward<Range2>(range2), std::forward<OutIter>(outIter)); 245 template <class InIter2, class OutIter> 248 testImpl<cpp20_input_iterator<int*>, InIter2, OutIter>(); in withAllPermutationsOfInIter1() 249 testImpl<forward_iterator<int*>, InIter2, OutIter>(); in withAllPermutationsOfInIter1() 250 testImpl<bidirectional_iterator<int*>, InIter2, OutIter>(); in withAllPermutationsOfInIter1() [all …]
|
/llvm-project/libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.intersection/ |
H A D | ranges_set_intersection.pass.cpp | 41 template <class InIter1 = int*, class Sent1 = int*, class InIter2 = int*, class Sent2 = int*, class OutIter = int*> 43 requires(InIter1&& inIter1, InIter2&& inIter2, OutIter&& outIter, Sent1&& sent1, Sent2&& sent2) { 49 std::forward<OutIter>(outIter)); 75 template <class Range1, class Range2, class OutIter> 77 requires(Range1&& range1, Range2&& range2, OutIter&& outIter) { 79 std::forward<Range1>(range1), std::forward<Range2>(range2), std::forward<OutIter>(outIter)); 241 template <class InIter2, class OutIter> in withAllPermutationsOfInIter1() 244 testImpl<cpp20_input_iterator<int*>, InIter2, OutIter>(); in withAllPermutationsOfInIter1() 245 testImpl<forward_iterator<int*>, InIter2, OutIter>(); in withAllPermutationsOfInIter1() 246 testImpl<bidirectional_iterator<int*>, InIter2, OutIter>(); in withAllPermutationsOfInIter1() [all...] |
/llvm-project/libcxx/test/std/algorithms/alg.sorting/alg.set.operations/set.difference/ |
H A D | ranges_set_difference.pass.cpp | 43 class OutIter, 47 … requires(InIter1&& inIter1, InIter2&& inIter2, OutIter&& outIter, Sent1&& sent1, Sent2&& sent2) { 53 std::forward<OutIter>(outIter)); 79 template <class Range1, class Range2, class OutIter> 81 requires(Range1&& range1, Range2&& range2, OutIter&& outIter) { 83 … std::forward<Range1>(range1), std::forward<Range2>(range2), std::forward<OutIter>(outIter)); 226 template <class InIter2, class OutIter> 229 testImpl<cpp20_input_iterator<int*>, InIter2, OutIter>(); in withAllPermutationsOfInIter1() 230 testImpl<forward_iterator<int*>, InIter2, OutIter>(); in withAllPermutationsOfInIter1() 231 testImpl<bidirectional_iterator<int*>, InIter2, OutIter>(); in withAllPermutationsOfInIter1() [all …]
|
/llvm-project/libcxx/test/std/algorithms/alg.modifying.operations/alg.move/ |
H A D | move_backward.pass.cpp | 44 template <class OutIter> 52 OutIter r = std::move_backward(InIter(ia), InIter(ia+N), OutIter(ib+N)); in operator ()() 70 template <class OutIter> 78 OutIter r = std::move_backward(InIter(ia), InIter(ia+N), OutIter(ib+N)); in operator ()()
|
H A D | move.pass.cpp | 45 template <class OutIter> 53 OutIter r = std::move(InIter(ia), InIter(ia+N), OutIter(ib)); in operator ()() 71 template <class OutIter> 79 OutIter r = std::move(InIter(ia), InIter(ia+N), OutIter(ib)); in operator ()()
|
/llvm-project/libcxx/test/std/algorithms/alg.sorting/alg.merge/ |
H A D | merge.pass.cpp | 27 template<class T, class Iter1, class Iter2, class OutIter> 35 OutIter end = std::merge(Iter1(a), Iter1(a+4), Iter2(b), Iter2(b+5), OutIter(result)); in test4() 44 OutIter end = std::merge(Iter1(b), Iter1(b+5), Iter2(a), Iter2(a+4), OutIter(result)); in test4()
|