Как свернуть контейнер STL?

Мне нужен аналог функции Haskell foldl для сворачивания любых контейнеров STL. Ожидаемая сигнатура выглядит следующим образом:

template Iterator, FoldingFunction, Result
Result foldl(
  Iterator begin, 
  Iterator end, 
  FoldingFunction f, 
  Result initValue);

Стандартный STL не имеет такой функции. Boost есть?

Я знаю, что это довольно просто реализовать, но я хотел бы знать, есть ли готовая стандартизированная реализация.

И еще один вопрос: как вы обычно сворачиваете списки данных в C ++ / STL?

26
задан Null 4 April 2016 в 21:31
поделиться