Let's say :
std::sort(beg1, beg2, pred);
This algorithm takes a range of iterators for the container and a predicate. It takes an LegacyRandomAccessIterator. I do understand the the 5 iterator categories are categorised by their operators. Albeit I'm having a hard time assuming which iterator the algorithm uses.
There is no need to assume anything, it is all documented. According to cppreference the iterators are
LegacyRandomAccessIterator.The page for LegacyRandomAccessIterator describes what such an iterator looks like.