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.
>Solution :
There is no need to assume anything, it is all documented. According to cppreference the iterators are LegacyRandomAccessIterator.
Type requirements
-RandomIt must meet the requirements of ValueSwappable and LegacyRandomAccessIterator.
-The type of dereferenced RandomIt must meet the requirements of MoveAssignable and MoveConstructible.
The page for LegacyRandomAccessIterator describes what such an iterator looks like.