Several iterator modifiers defined later derive itself from the corresponding basis iterator. A built-in pointer is a valid iterator; however, the C++ syntax rules don't allow inheritance from a pointer, since it's not a class.
This wrapper solves this problem: it behaves exactly the same as a pointer, and is a valid base class to be derived from.