File tree Expand file tree Collapse file tree 2 files changed +4
-1
lines changed
Expand file tree Collapse file tree 2 files changed +4
-1
lines changed Original file line number Diff line number Diff line change @@ -67,6 +67,8 @@ Improvements and New Features
6767 reduced debug information.
6868
6969- The performance of ``std::find `` has been improved by up to 2x for integral types
70+ - The ``std::generate `` algorithm has been optimized for segmented iterators, resulting in a performance improvement for
71+ ``std::deque<short> `` and ``std::join_view<vector<vector<short>>> `` iterators.
7072
7173Deprecations and Removals
7274-------------------------
Original file line number Diff line number Diff line change 1111
1212#include < __algorithm/for_each.h>
1313#include < __config>
14+ #include < __utility/forward.h>
1415
1516#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
1617# pragma GCC system_header
@@ -21,7 +22,7 @@ _LIBCPP_BEGIN_NAMESPACE_STD
2122template <class _ForwardIterator , class _Generator >
2223inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void
2324generate (_ForwardIterator __first, _ForwardIterator __last, _Generator __gen) {
24- std::for_each (__first, __last, [&](auto & __element) { __element = __gen (); });
25+ std::for_each (__first, __last, [&](auto && __element) { std::forward< decltype ( __element)>(__element) = __gen (); });
2526}
2627
2728_LIBCPP_END_NAMESPACE_STD
You can’t perform that action at this time.
0 commit comments