|
template<class _CharT , class _Traits >
Definition at line 700 of file _fstream.c. {
// If we're in error mode, leave it.
_M_in_error_mode = false;
// Flush the output buffer if we're in output mode, and (conditionally)
// emit an unshift sequence.
if (_M_in_output_mode) {
bool __ok = !traits_type::eq_int_type(this->overflow(traits_type::eof()),
traits_type::eof());
if (__do_unshift)
__ok = __ok && this->_M_unshift();
if (!__ok) {
_M_in_output_mode = false;
_M_in_error_mode = true;
this->setp(0, 0);
return false;
}
}
// Discard putback characters, if any.
if (_M_in_input_mode && _M_in_putback_mode)
_M_exit_putback_mode();
return true;
}
|