14 template <
typename FwIter,
typename Func>
17 FwIter second = first;
19 for (; second != end; ++first, ++second) {
37 template <
typename FwIter,
typename Func>
40 FwIter second = first;
42 for (; second != end; ++first, ++second) {
43 auto res = f(*first, *second);