Руководство по стандартной библиотеке шаблонов STL

Смежная разность (Adjacent difference)


template <class InputIterator, class OutputIterator> OutputIterator adjacent_difference(InputIterator first, InputIterator last, OutputIterator result); template <class InputIterator, class OutputIterator, class BinaryOperation> OutputIterator adjacent_difference(InputIterator first, InputIterator last, OutputIterator result, BinaryOperation binary_op);

     adjacent_difference присваивает каждому элементу, указываемому итератором i в диапазоне [result + 1, result + (last - first)) значение, соответственно равное *(first + (i - result)) - *(first + (i - result) - 1) или binary_op(*(first + (i - result)), *(first + (i - result) - 1)). Элемент, указываемый result, получает значение *first. Функция adjacent_difference возвращает result + (last - first). Применяется binary_op точно (last - first) - 1 раз. Ожидается, что binary_op не имеет каких-либо побочных эффектов. result может быть равен first.



Содержание раздела