basic_streambuf::uflow

virtual int_type uflow();

The protected virtual member function endeavors to extract the current element c from the input stream, then advance the current stream position, and return the element as T::to_int_type(c). It can do so in various ways:

If the function cannot succeed, it returns T::eof(), or throws an exception. Otherwise, it returns the current element c in the input stream, converted as described above, and advances the next pointer for the input buffer. The default behavior is to call underflow() and, if that function returns T::eof(), to return T::eof(). Otherwise, the function returns the current element c in the input stream, converted as described above, and advances the next pointer for the input buffer.