std :: function zamiast szablonów dla predykatów

Wiele standardowych algorytmów bibliotecznych pełni funkcje predykatowe. Jednak typ tych predykatów jest dowolnym, podanym przez użytkownika parametrem szablonu. Dlaczego C ++ 11 nie określa, że ​​mają one określony typ, npstd::function zamiast? Na przykład:

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

Czy użycie tego zamiast szablonu jako typu argumentu nie jest o wiele bardziej czyste?

questionAnswers(3)

yourAnswerToTheQuestion