Le 21 Marsst le comité des normes a voté pour approuver le retrait de l' std::iterator
proposé dans P0174:
La longue séquence de la vacuité des arguments est beaucoup moins clair pour le lecteur que de simplement fournir des attendus de l'
typedef
s dans la définition de la classe elle-même, qui est l'approche adoptée par l'actuel projet de travail, suivant le modèle défini en C++14
Pré-C++17 héritage std::iterator
a été encouragé à éliminer l'ennui de itérateur passe-partout de mise en œuvre. Mais la dépréciation aura besoin de l'une de ces choses:
- Un itérateur standard devra inclure toutes les
typedef
s - Les algorithmes de travail avec les itérateurs devrez maintenant utiliser
auto
plutôt que selon l'itérateur de déclarer les types de -
Loki Astari a suggéré qu'
std::iterator_traits
peut être mis à jour pour fonctionner sans hériter destd::iterator
Quelqu'un peut-il m'éclairer sur laquelle de ces options je devrais attendre, comme je l'ai design personnalisé itérateurs avec un oeil vers C++17 de compatibilité?