В STL есть несколько типов итераторов
http://www.cplusplus.com/reference/iterator/
Только не могу найти соответствующих под-типов. Или разница только в iterator tag
terator tag Category of iterators
input_iterator_tag Input Iterator
output_iterator_tag Output Iterator
forward_iterator_tag Forward Iterator
bidirectional_iterator_tag Bidirectional Iterator