# Iterator Tags

## Compounds

struct | bidirectional_iterator_tag
| Bidirectional iterators support a superset of forward iterator operations. More...
struct | forward_iterator_tag
| Forward iterators support a superset of input iterator operations. More...
struct | input_iterator_tag
| Marking input iterators. More...
struct | output_iterator_tag
| Marking output iterators. More...
struct | random_access_iterator_tag
| Random-access iterators support a superset of bidirectional iterator operations. More...

## Detailed Description

These are empty types, used to distinguish different iterators. The distinction is not made by what they contain, but simply by what they are. Different underlying algorithms can then be used based on the different operations supporetd by different iterator types.