Program Listing for File inclusive_scan.h
↰ Return to documentation for file (src/pcms/utility/inclusive_scan.h)
#ifndef PCMS_INCLUSIVE_SCAN_H
#define PCMS_INCLUSIVE_SCAN_H
namespace pcms
{
template <typename InputIt, typename OutputIt>
OutputIt inclusive_scan(InputIt first, InputIt last, OutputIt d_first)
{
typename InputIt::value_type last_val = 0;
for (auto it = first; it != last; ++it) {
last_val = last_val + *it;
*d_first = last_val;
++d_first;
}
return d_first;
}
} // namespace pcms
#endif