protected virtual member function
<streambuf> <iostream>

std::basic_streambuf::overflow

int_type overflow (int_type c = traits_type::eof());
Put character on overflow
Virtual function called by other member functions to put a character into the controlled output sequence without changing the current position.

It is called by public member functions such as sputc to write a character when there are no writing positions available at the put pointer (pptr).

Its default behavior in basic_streambuf is to always return traits_type::eof() (indicating failure), but derived classes can override this behavior to attempt to write the character directly and/or to alter pptr and other internal pointers so that more storage is provided, potentially writing unwritten characters to the controlled output sequence. Both basic_filebuf and basic_stringbuf override this virtual member function.

Parameters

c
Character to be put.
If this is the end-of-file value (traits_type::eof()), no character is put, but the other effects of calling this function are attempted.
Member type int_type is an integral type able to represent any character value or the special end-of-file value.

Return Value

In case of success, the character put is returned, converted to a value of type int_type using member traits_type::to_int_type.
Otherwise, it returns the end-of-file value (traits_type::eof()) either if called with this value as argument c or to signal a failure (some implementations may throw an exception instead).
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 stream buffer object.
Concurrent access to the same stream buffer object may introduce data races.

Exception safety

Basic guarantee: if an exception is thrown, the stream buffer is in a valid state.

See also