The Iterator concept describes types that can be used to identify and traverse the elements of a container.
Iterator is the base concept used by other iterator types: InputIterator, OutputIterator, ForwardIterator, BidirectionalIterator, and RandomAccessIterator. Iterators can be thought of as an abstraction of pointers.
Requirements
The type It satisfies Iterator if.
The type It satisfies CopyConstructible, and The type It satisfies CopyAssignable, and The type It satisfies Destructibl