virtual int_type overflow(int_type c = T::eof());
If c does not compare equal to T::eof(), the protected virtual member function endeavors to insert the element
T::to_char_type(c) into the output stream. It can do so in various ways:
If the function cannot succeed, it returns T::eof() or throws an exception. Otherwise, it returns
T::not_eof(c). The default behavior is to return T::eof().