std::iterator
From cppreference.com
                    
                                        
                    
                    
                                                            
                    |   Defined in header <iterator>
   | 
||
|   template< class Category,           class T,  | 
||
std::iterator is the base class provided to simplify definitions of the required types for iterators.
[edit] Member types
| Member type | Definition | 
| value_type | T | 
| difference_type | Distance | 
| pointer | Pointer | 
| reference | Reference | 
| iterator_category | Category | 
[edit] See also
|    provides uniform interface to the properties of an iterator  (class template)  | |
|    empty class types used to indicate iterator categories  (class)  | |