Investigating the data available.
Declared in <bslstl_syncbuf.h>
virtual
streamsize
showmanyc();
If it returns a positive value, then successive calls to underflow() will not return traits::eof() until at least that number of characters have been supplied. If showmanyc() returns -1, then calls to underflow() or uflow() will fail. [27.5.2.4.3]/1
Base class version does nothing, returns zero.
The standard adds that the intention is not only that the calls [to underflow or uflow]will not return eof() but that they will return immediately.
The standard adds that the morphemes of showmanyc are es-how-many-see, not show-manic.
An estimate of the number of characters available in the input sequence, or -1.