Partager via


iterator, struct

Une structure de base vide utilisé pour garantir qu'une classe définie par l'utilisateur d'itérateur fonctionne correctement avec iterator_traitS.

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;
    };

Notes

La structure de modèle sert de type de base pour tous les itérateurs. Il définit les types de membres

  • iterator_category (un synonyme pour le paramètre Categoryde modèle).

  • value_type (un synonyme pour le paramètre Typede modèle).

  • difference_type (un synonyme pour le paramètre Distancede modèle).

  • distance_type (un synonyme pour le paramètre Distancede modèles)

  • pointer (un synonyme pour le paramètre Pointerde modèle).

  • reference (un synonyme pour le paramètre Referencede modèle).

Notez qu' value_type ne doit pas être un type de constante même si les points de pointer à un objet de Type const et de référence indique un objet de Typeconst.

Exemple

Voir le iterator_traits pour obtenir un exemple de la façon dont déclarer et utiliser les types dans la classe de base d'itération.

Configuration requise

itérateur<deEn-tête : >

Espace de noms : std

Voir aussi

Référence

<iterator>

Sécurité des threads dans la bibliothèque standard C++

Bibliothèque STL (Standard Template Library)