[all-commits] [llvm/llvm-project] a81cc1: [libcxx][ranges] Create a test tool `ProxyIterator...

Hui via All-commits all-commits at lists.llvm.org
Thu Jul 7 16:15:41 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a81cc1fc071247dea4367d077a1faf2dca15ccc1
      https://github.com/llvm/llvm-project/commit/a81cc1fc071247dea4367d077a1faf2dca15ccc1
  Author: Hui Xie <hui.xie1990 at gmail.com>
  Date:   2022-07-08 (Fri, 08 Jul 2022)

  Changed paths:
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_backward.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_if.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_n.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/ranges.move.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/ranges.move_backward.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.reverse/ranges.reverse.pass.cpp
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.swap/ranges.swap_ranges.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.sort/sort/ranges.sort.pass.cpp
    M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/ranges.stable.sort.pass.cpp
    M libcxx/test/std/iterators/iterator.primitives/iterator.operations/advance.pass.cpp
    A libcxx/test/support/test.support/test_proxy.pass.cpp
    M libcxx/test/support/test_iterators.h

  Log Message:
  -----------
  [libcxx][ranges] Create a test tool `ProxyIterator` that customises `iter_move` and `iter_swap`

It is meant to be used in ranges algorithm tests.
It is much simplified version of C++23's tuple + zip_view.
Using std::swap would cause compilation failure and using `std::move` would not create the correct rvalue proxy which would result in copies.

Differential Revision: https://reviews.llvm.org/D129099




More information about the All-commits mailing list