I see a public std::istream_iterator::_M_equal member function in my C++ implementation (it is used to compare istream iterators by other standard global functions). The standard does not require that member function to be available to the user.
I would like to know if implementations providing more public member functions other than those required by the standard can still be considered “standard”.
Yes, this is allowed by the standard.
The required interface is described by the standard document, but generally not the exact way to implement it. Names starting with underscore+uppercase letter, like
_M_equal, are specifically reserved to the implementation.