There are six algorithms that will output a range(which is denoted by an output iterator) in <numeric>: adjacent_difference, partial_sum, inclusive_scan, exclusive_scan, transform_inclusive_scan and transform_exclusive_scan. Can their input ranges overlap with output ranges? What about their parallel version?
I've tried to find some hints in the C++ standard with no luck.
inclusive_scan"d_first - the beginning of the destination range; may be equal to first".