| title | iterator Struct | Microsoft Docs | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ms.custom | ||||||||||||||
| ms.date | 11/04/2016 | |||||||||||||
| ms.reviewer | ||||||||||||||
| ms.suite | ||||||||||||||
| ms.technology |
|
|||||||||||||
| ms.tgt_pltfrm | ||||||||||||||
| ms.topic | article | |||||||||||||
| f1_keywords |
|
|||||||||||||
| dev_langs |
|
|||||||||||||
| helpviewer_keywords |
|
|||||||||||||
| ms.assetid | c74c8000-8b18-4829-9b71-6103c4229b74 | |||||||||||||
| caps.latest.revision | 18 | |||||||||||||
| author | corob-msft | |||||||||||||
| ms.author | corob | |||||||||||||
| manager | ghogen | |||||||||||||
| translation.priority.ht |
|
An empty base struct used to ensure that a user-defined iterator class works properly with iterator_traits.
struct iterator {
typedef Category iterator_category;
typedef Type value_type;
typedef Distance difference_type;
typedef Distance distance_type;
typedef Pointer pointer;
typedef Reference reference;
};
The template struct serves as a base type for all iterators. It defines the member types
-
iterator_category(a synonym for the template parameterCategory). -
value_type(a synonym for the template parameter Type). -
difference_type(a synonym for the template parameterDistance). -
distance_type(a synonym for the template parameterDistance) -
pointer(a synonym for the template parameterPointer). -
reference(a synonym for the template parameterReference).
Note that value_type should not be a constant type even if pointer points at an object of const Type and reference designates an object of const Type.
See iterator_traits for an example of how to declare and use the types in the iterator base class.
Header: <iterator>
Namespace: std
<iterator>
Thread Safety in the C++ Standard Library
C++ Standard Library Reference