Several algorithms in the C++ STL require to specify explicitly two iterators. For example, sorting a std::vector<T> v is done with std::sort(v.begin(), v.end()). Since processing the entire container (e.g. with std::sort, std::find, etc.) is a fairly common situation, I'm wondering why a simple version of these algorithms that accepts just the container is not implemented. I mean something like std::sort(v), that uses v.begin() and v.end() iterators by default.
Is there some underlying technical reason that I'm not aware of? Thank you in advance.
std::sort.