libstdc++: Iterator Tags (original) (raw)

Collaboration diagram for Iterator Tags:

Classes
struct std::bidirectional_iterator_tag
struct std::contiguous_iterator_tag
struct std::forward_iterator_tag
struct std::input_iterator_tag
struct std::output_iterator_tag
struct std::random_access_iterator_tag

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 supported by different iterator types.