Vorbereitung für std :: iterator wird veraltet

m 21. Mä st Das Normungsgremium stimmte der Abwertung von @ zstd::iterator vorgeschlagen in P0174:

Die lange Folge von ungültigen Argumenten ist für den Leser viel weniger klar als die einfache Angabe des erwartetentypedefs in der Klassendefinition selbst. Dies ist der Ansatz des aktuellen Arbeitsentwurfs nach dem in @ festgelegten Muste c ++ 14

Vor c ++ 17 Vererbung vonstd::iterator wurde ermutigt, das Langeweile bei der Implementierung von Iterator Boilerplate zu beseitigen. Für die Abschreibung ist jedoch eines der folgenden Dinge erforderlich:

Eine Iteratorkesselplatte muss nun alle erforderlichen @ Elemente enthaltetypedefsAlgorithmen, die mit Iteratoren arbeiten, müssen jetzt @ verwendauto anstatt vom Iterator abhängig zu sein, um Typen zu deklarierenLoki Astari hat @ vorgeschlag Dasstd::iterator_traits kann aktualisiert werden, um zu funktionieren, ohne von @ zu erbstd::iterator

Kann mir jemand erklären, welche dieser Optionen ich erwarten sollte, wenn ich benutzerdefinierte Iteratoren mit Blick auf @ entwerf c ++ 17 Kompatibilität?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage