basic_streambuf::uflow

A protected virtual function that extracts the current element from the input stream.

virtual int_type uflow( );

Return Value

The current element.

Remarks

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

  • If a read position is available, it takes ch as the element stored in the read position and advances the next pointer for the input buffer.

  • It can read an element directly, from some external source, and deliver it as the value ch.

  • For a stream buffer with common input and output streams, it can make a read position available by writing out, to some external destination, some or all of the elements between the beginning and next pointers for the output buffer. Or it can allocate new or additional storage for the input buffer. The function then reads in, from some external source, one or more elements.

If the function cannot succeed, it returns traits_type::eof, or throws an exception. Otherwise, it returns the current element ch 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 traits_type::eof, to return traits_type::eof. Otherwise, the function returns the current element ch in the input stream, converted as previously described, and advances the next pointer for the input buffer.

Requirements

Header: <streambuf>

Namespace: std

See Also

Reference

basic_streambuf Class

iostream Programming

iostreams Conventions