std::generate
возвращает void
:
template<typename ForwardIterator, typename Generator>
void generate(ForwardIterator first, ForwardIterator last, Generator gen);
Пока std::for_each
возвращает Function
:
template<typename InputIterator, typename Function>
Function for_each(InputIterator first, InputIterator last, Function f);
Документация SGI предполагает, что результат for_each
полезен для возврата любого состояния, которое могло измениться во время алгоритма. Разве это не так для generate
? Это упущение, или есть ли разница в интерфейсе?