[libcxx-commits] [PATCH] D124328: [libc++] Forward more often to memmove in copy
Louis Dionne via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Thu Jun 2 08:25:59 PDT 2022
ldionne accepted this revision.
ldionne added a comment.
This revision is now accepted and ready to land.
LGTM, but let's fix the failing CI tests. Thanks!
================
Comment at: libcxx/include/__algorithm/copy.h:113
+pair<reverse_iterator<reverse_iterator<_InIter> >, reverse_iterator<reverse_iterator<_OutIter> > >
+__copy_impl(reverse_iterator<reverse_iterator<_InIter> > __first,
+ reverse_iterator<reverse_iterator<_Sent> > __last,
----------------
I would like to investigate (in a different patch if the experiment turns out positive) the possibility of overloading `__unwrap_iter` (and `__rewrap_iter`) for `reverse_iterator<reverse_iterator<It>>` more generally. If that works out, we would get some added benefits in other algorithms as well for free, and this overload could go away entirely.
================
Comment at: libcxx/test/libcxx/algorithms/alg.modifying.operations/copy.pass.cpp:14
+
+// this test checks that std::copy forwards to memmove when appropriate.
+
----------------
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D124328/new/
https://reviews.llvm.org/D124328
More information about the libcxx-commits
mailing list