[all-commits] [llvm/llvm-project] fb3477: [libc++] Unwrap reverse_iterator<reverse_iterator<...

philnik777 via All-commits all-commits at lists.llvm.org
Fri Jun 17 09:47:39 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: fb3477a4dab0fb75c4bac858c33e6006dcc173ea
      https://github.com/llvm/llvm-project/commit/fb3477a4dab0fb75c4bac858c33e6006dcc173ea
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2022-06-17 (Fri, 17 Jun 2022)

  Changed paths:
    M libcxx/include/__algorithm/copy.h
    M libcxx/include/__algorithm/unwrap_iter.h
    M libcxx/include/__iterator/reverse_iterator.h
    M libcxx/test/libcxx/algorithms/alg.modifying.operations/copy.pass.cpp
    A libcxx/test/libcxx/iterators/unwrap_iter.pass.cpp

  Log Message:
  -----------
  [libc++] Unwrap reverse_iterator<reverse_iterator<Iter>> in __unwrap_iter

Simplify the implementation of `std::copy` and `std::move` by using `__unwrap_iter` and `__rewrap_iter` to unwrap and rewrap `reverse_iterator<reverse_iterator<Iter>>` instead of specializing `__copy_impl` and `__move_impl`.

Reviewed By: ldionne, #libc

Spies: wenlei, libcxx-commits

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




More information about the All-commits mailing list