iterator tags(3)
NAME
Iterator Tags - 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.