`std::iterator` Is Deprecated
In C++17 you must not derive from `std::iterator`. Instead it requires you to write the trait `typedefs` explicitly.
We'll cover the following...
The Standard Library API requires that each iterator type has to expose five typedef
s:
iterator_category
- the type of the iteratorvalue_type
- type stored in the iteratordifference_type
- the type that is the result of subtracting two iteratorspointer
- pointer type of the stored typereference
- the reference type of the stored type
iterator_category
must be one of ...