std::iterator

From cppreference.com
< cpp‎ | iterator
Defined in header <iterator>
template<

    class Category,
    class T,
    class Distance = std::ptrdiff_t,
    class Pointer = T*,
    class Reference = T&

> struct iterator;

std::iterator is the base class provided to simplify definitions of the required types for iterators.

[edit] Template parameters

Category - the category of the iterator. Must be one of iterator category tags.
T - the type of the values that can be obtained by dereferencing the iterator. This type should be void for output iterators.
Distance - a type that can be used to identify distance between iterators
Pointer - defines a pointer to the type iterated over (T)
Reference - defines a reference to the type iterated over (T)

[edit] Member types

Member type Definition
iterator_category Category
value_type T
difference_type Distance
pointer Pointer
reference Reference

[edit] See also

provides uniform interface to the properties of an iterator
(class template)
empty class types used to indicate iterator categories
(class)