protected virtual member function
<fstream>
Get character on underflow
Returns the character at the current input position, without advancing the input position pointer.
Before that, this function attempts to read characters from the associated file and -if the object keeps an intermediate buffer- makes them available by altering the internal input buffer pointers (gptr, egptr and eback) as needed.
If there are no more characters available and the function did not succeed in reading more characters from the associated file, it returns the end-of-file value (traits_type::eof()
), indicating failure.
This virtual member function overrides the inherited member basic_streambuf::underflow, called by members such as sgetc to request a new character when there are no read positions available at the get pointer (gptr).
The behavior of this member function is similar to that of uflow, except that the input position is not advanced.
Return Value
The character at the current position of the controlled input sequence, converted to a value of type int_type using member traits_type::to_int_type.
If there are no more characters to read from the controlled input sequence, it returns the end-of-file value (traits_type::eof()
).
Member type int_type is an integral type able to represent any character value or the special end-of-file value.
Data races
Modifies the basic_filebuf object.
Concurrent access to the same file stream buffer object may introduce data races.
Exception safety
Basic guarantee: if an exception is thrown, the file stream buffer is in a valid state.