Namespaces
Variants
Actions

std::basic_streambuf<CharT,Traits>::showmanyc

From cppreference.com
< cpp‎ | io‎ | basic streambuf
 
C++
 
Input/output library
 
std::basic_streambuf
protected:
virtual std::streamsize showmanyc();

Estimates the number of characters available for input in the associated character sequence. underflow() is guaranteed not to return Traits::eof() or throw an exception until at least that many characters are extracted.

Contents

[edit] Parameters

(none)

[edit] Return value

The number of characters that are certainly available in the associated character sequence, or -1 if showmanyc can determine, without blocking, that no characters are available. If showmanyc returns -1, underflow() and uflow() will definitely return Traits::eof or throw.

The base class version returns 0, which has the meaning of "unsure if there are characters available in the associated sequence".

[edit] Notes

The name of this function stands for "stream: how many characters?", so it is pronounced "S how many C", rather than "show many C".

[edit] Example

[edit] Defect reports

The following behavior-changing defect reports were applied retroactively to previously published C++ standards.

DR Applied to Behavior as published Correct behavior
LWG 159 C++98 underflow() is guaranteed not to fail until
at least showmanyc() characters are supplied
extended the guarantee to allow at least
showmanyc() characters to be extracted

[edit] See also

obtains the number of characters immediately available in the get area
(public member function) [edit]
[virtual]
optionally provides the number of characters available for input from the file
(virtual protected member function of std::basic_filebuf<CharT,Traits>) [edit]

Follow Lee on X/Twitter - Father, Husband, Serial builder creating AI, crypto, games & web tools. We are friends :) AI Will Come To Life!

Check out: eBank.nz (Art Generator) | Netwrck.com (AI Tools) | Text-Generator.io (AI API) | BitBank.nz (Crypto AI) | ReadingTime (Kids Reading) | RewordGame | BigMultiplayerChess | WebFiddle | How.nz | Helix AI Assistant