Многие стандартные библиотечные алгоритмы используют предикатные функции. Однако тип этих предикатов является произвольным параметром шаблона, предоставленным пользователем. Почему С++ 11 не указывает, что они принимают определенный тип, например std::function
? Например:
template< class InputIt >
InputIt find_if( InputIt first, InputIt last,
std::function<bool()> p );
Не использует это вместо шаблона в качестве типа аргумента не намного чище?