Partager via


iterator Struct

Une structure de base vide utilisé pour s'assurer 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 à tous les itérateurs.Elle définit les types de membres

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

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

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

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

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

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

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

Exemple

Consultez l' iterator_traits pour obtenir un exemple de la déclaration et utiliser les types de la classe de base d'itérateur.

Configuration requise

en-tête : <iterator>

l'espace de noms : type

Voir aussi

Référence

<iterator>

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

Modèles Standard