Iterator category              Ability             Providers


Input iterator              reads forward           istream

Output iterator             writes forward      ostream, inserter

Forward iterator            reads and writes
                                forward

Bidirectional iterator      reads and writes    list, set, multiset,
                          forward and backward     map, multimap

Random access iterator       reads and writes       vector, deque,
                            with random access      string, array