If I am not wrong, only iterators from std::vector and std::string are random access iterator.