30 Input/output library [input.output]

30.6 Stream buffers [stream.buffers]

30.6.3 Class template basic_­streambuf [streambuf]

30.6.3.2 basic_­streambuf public member functions [streambuf.members]

30.6.3.2.3 Get area [streambuf.pub.get]

streamsize in_avail();

Returns: If a read position is available, returns egptr() - gptr(). Otherwise returns showmanyc().

int_type snextc();

Effects: Calls sbumpc().

Returns: If that function returns traits​::​eof(), returns traits​::​eof(). Otherwise, returns sgetc().

int_type sbumpc();

Returns: If the input sequence read position is not available, returns uflow(). Otherwise, returns traits​::​to_­int_­type(*gptr()) and increments the next pointer for the input sequence.

int_type sgetc();

Returns: If the input sequence read position is not available, returns underflow(). Otherwise, returns traits​::​to_­int_­type(*gptr()).

streamsize sgetn(char_type* s, streamsize n);

Returns: xsgetn(s, n).