A type that provides a bidirectional iterator that can read or modify any element in a map.
The iterator defined by map points to elements that are objects of value_type, that is of type pair<const Key, Type>, whose first member is the key to the element and whose second member is the mapped datum held by the element.
To dereference an iterator Iter pointing to an element in a map, use the -> operator.
To access the value of the key for the element, use Iter -> first, which is equivalent to (*Iter).first. To access the value of the mapped datum for the element, use Iter -> second, which is equivalent to (*Iter).second.