| member type | definition | notes | 
|---|
| key_type | the first template parameter (Key) |  | 
| value_type | the first template parameter (Key) | The same as key_type | 
| hasher | the second template parameter (Hash) | defaults to: hash<key_type> | 
| key_equal | the third template parameter (Pred) | defaults to: equal_to<key_type> | 
| allocator_type | the fourth template parameter (Alloc) | defaults to: allocator<value_type> | 
| reference | allocator_traits<value_type>::reference | for the default allocator: value_type& | 
| const_reference | allocator_traits<value_type>::const_reference | for the default allocator: const value_type& | 
| pointer | allocator_traits<value_type>::pointer | for the default allocator: value_type* | 
| const_pointer | allocator_traits<value_type>::const_pointer | for the default allocator: const value_type* | 
| iterator | a forward iterator to const value_type | * convertible to const_iterator | 
| const_iterator | a forward iterator to const value_type | * | 
| local_iterator | a forward iterator to const value_type | * convertible to const_local_iterator | 
| const_local_iterator | a forward iterator to const value_type | * | 
| size_type | an unsigned integral type | usually the same as size_t | 
| difference_type | a signed integral type | usually the same as ptrdiff_t | 
*Note: All iterators in an