30 Input/output library [input.output]

30.6 Stream buffers [stream.buffers]

30.6.3 Class template basic_­streambuf [streambuf]

30.6.3.4 basic_­streambuf virtual functions [streambuf.virtuals]

30.6.3.4.4 Putback [streambuf.virt.pback]

int_type pbackfail(int_type c = traits::eof());

Remarks: Общедоступные функции basic_­streambuf вызывают эту виртуальную функцию только тогда, когда возвращается значение gptr() null gptr() == eback(), или . Другие вызовы также должны удовлетворять этому ограничению.traits​::​eq(traits​::​to_­char_­type(c), gptr()[-1])false

pending sequence Определяется как для underflow(), с изменениями , которые

  • Если traits​::​eq_­int_­type(c, traits​::​eof()) возвращается true, то входная последовательность копируется на один символ до того, как будет определена ожидающая последовательность.

  • Если traits​::​eq_­int_­type(c, traits​::​eof()) возвращается false, то c добавляется. Не указано, выполняется ли резервная копия входной последовательности или изменяется каким-либо иным образом.

Postconditions: В свою очередь, ограничения gptr(), eback()и pptr() такие же , как для underflow().

Returns: traits​::​eof() для обозначения отказа. Сбой может произойти из-за невозможности резервного копирования входной последовательности или из-за того, что по какой-либо другой причине указатели не могут быть установлены в соответствии с ограничениями. pbackfail() вызывается только тогда, когда возвращение действительно не удалось.

Возвращает какое-то значение, отличное от traits​::​eof() успешного.

Default behavior: Возврат traits​::​eof().