commit 92d5df45f3e62d31bebcdea9c1568b0877d0fe0e
Author: Jonathan Wakely <jwakely@redhat.com>
Date: Tue Oct 1 20:34:22 2019 +0100
Make some new algorithms work in parallel mode
* include/experimental/algorithm (experimental::sample): Qualify call
to __sample correctly.
* include/parallel/algo.h (sample, for_each_n): Add using-declarations
for algorithms that don't have parallel implementations.
@@ -77,9 +77,9 @@ inline namespace fundamentals_v2
"sample size must be an integer type");
typename iterator_traits<_PopulationIterator>::difference_type __d = __n;
- return std::__sample(__first, __last, __pop_cat{}, __out, __samp_cat{},
- __d,
- std::forward<_UniformRandomNumberGenerator>(__g));
+ return _GLIBCXX_STD_A::
+ __sample(__first, __last, __pop_cat{}, __out, __samp_cat{}, __d,
+ std::forward<_UniformRandomNumberGenerator>(__g));
}
template<typename _PopulationIterator, typename _SampleIterator,
@@ -2189,6 +2189,11 @@ namespace __parallel
return __min_element_switch(__begin, __end, __comp,
std::__iterator_category(__begin));
}
+
+#if __cplusplus >= 201703L
+ using _GLIBCXX_STD_A::for_each_n;
+ using _GLIBCXX_STD_A::sample;
+#endif
} // end namespace
} // end namespace