std :: function вместо шаблонов для предикатов

Многие стандартные библиотечные алгоритмы принимают предикатные функции. Однако тип этих предикатов является произвольным предоставленным пользователем параметром шаблона. Почему нетC ++ 11 указывает, что они принимают определенный тип, напримерstd::function вместо? Например:

template< class InputIt >
InputIt find_if( InputIt first, InputIt last,
             std::function p );

Isn»использовать это вместо шаблона в качестве типа аргумента, не намного более чистый?

Ответы на вопрос(3)

Ваш ответ на вопрос