У меня есть контейнер, заполненный парами. Я хочу повторить в нем, используя универсальные алгоритмы STL (в моем случае это будет inner_product, но считаю это общей проблемой).
Алгоритм, который я использую, ожидает итераторы первым и последним. Могу ли я предоставить специальные итераторы первыми и последними, которые будут повторяться не по парам, а по первому элементу каждой пары?
Я знаю, что могу сделать это вручную, предоставив объект-функцию ручной работы, которая будет оберткой вокруг стандартного контейнера-итератора, привязав его к первому члену пары, предназначенной для самой пары, но я думаю, что есть умный один вкладыш, чтобы сделать это для меня. Что бы это было?