iterator-Struktur
Eine niedrige leere Struktur verwendet, um sicherzustellen, dass eine benutzerdefinierte Iteratorklasse ordnungsgemäß mit iterator_trait. S funktioniert.
template<class Category, class Type, class Distance = ptrdiff_t
class Pointer = Type*, class Reference = Type&>
struct iterator {
typedef Category iterator_category;
typedef Type value_type;
typedef Distance difference_type;
typedef Distance distance_type;
typedef Pointer pointer;
typedef Reference reference;
};
Hinweise
Die Vorlagenstruktur dient als Basistyp für alle Iteratoren. Sie definiert die auszublendende Membertypen
iterator_category (ein Synonym für den Vorlagenparameter Category).
value_type (ein Synonym für den Vorlagenparameter Typ).
difference_type (ein Synonym für den Vorlagenparameter Distance).
distance_type (ein Synonym für den Vorlagenparameter Distance)
pointer (ein Synonym für den Vorlagenparameter Pointer).
reference (ein Synonym für den Vorlagenparameter Reference).
Beachten Sie, dass value_type keine Konstantentyp sein sollte, wenn pointer Punkte dargestellt ein Objekt von const Typ und von Verweis ein Objekt aus const Typ.
Beispiel
Unter iterator_traits finden Sie ein Beispiel, wie Sie die Typen in der Iteratorbasisklasse deklariert und verwendet.
Anforderungen
Header: <Iterator>
Namespace: std