...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
boost::compute::transform_reduce
// In header: <boost/compute/algorithm/transform_reduce.hpp> template<typename InputIterator, typename OutputIterator, typename UnaryTransformFunction, typename BinaryReduceFunction> void transform_reduce(InputIterator first, InputIterator last, OutputIterator result, UnaryTransformFunction transform_function, BinaryReduceFunction reduce_function, command_queue & queue = system::default_queue()); template<typename InputIterator1, typename InputIterator2, typename OutputIterator, typename BinaryTransformFunction, typename BinaryReduceFunction> void transform_reduce(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, OutputIterator result, BinaryTransformFunction transform_function, BinaryReduceFunction reduce_function, command_queue & queue = system::default_queue());