Inherit from std::iterator