File tree Expand file tree Collapse file tree 1 file changed +1
-13
lines changed
libcxx/include/__algorithm Expand file tree Collapse file tree 1 file changed +1
-13
lines changed Original file line number Diff line number Diff line change 1919
2020_LIBCPP_BEGIN_NAMESPACE_STD
2121
22- template <class _Generator >
23- struct __generate_assigner {
24- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 __generate_assigner (_Generator& __gen) : __gen_(__gen) {}
25-
26- template <class _Tp >
27- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void operator ()(_Tp&& __element) const {
28- std::forward<_Tp>(__element) = __gen_ ();
29- }
30-
31- _Generator& __gen_;
32- };
33-
3422template <class _ForwardIterator , class _Generator >
3523inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void
3624generate (_ForwardIterator __first, _ForwardIterator __last, _Generator __gen) {
37- std::for_each (__first, __last, __generate_assigner<_Generator>( __gen) );
25+ std::for_each (__first, __last, [&]( decltype (*__first) __element) { __element = __gen (); } );
3826}
3927
4028_LIBCPP_END_NAMESPACE_STD
You can’t perform that action at this time.
0 commit comments