basic_streambuf::underflow
Protected виртуальная функция, извлекающая текущий элемент из входного потока.
virtual int_type underflow( );
Возвращаемое значение
Текущий элемент.
Заметки
Защищенный виртуальный функцию-член стремится извлечь текущий элемент ch из входного потока, без перемещения положения текущего потока и возвращает его в виде traits_type::to_int_type(ch).Он может сделать различными способами:
Если позиция чтения доступна, ch элемент, хранящийся в позицию чтения.Дополнительные сведения см. в подразделе " примечания " basic_streambuf Class.
Он может сделать доступными позицию чтения, выбрав новым или дополнительная память для входного буфера, затем перемещая позицию чтения в от какого-либо внешнего источника, один или несколько элементов.Дополнительные сведения см. в подразделе " примечания " basic_streambuf Class.
Если функция не может завершиться успешно, возвращается traits_type::eof() или вызывает исключение.В противном случае возвращается текущий элемент во входном потоке, преобразованном, как описано выше.По умолчанию возвращает значение traits_type::eof().
Виртуальная функция underflow с функциями синхронизация и переполнение, указывающее характеристики streambuf- производный класс.Каждый производный класс может реализовать интерфейс underflow по-другому, но с вызывающим классом потока совпадают.
Функция underflow наиболее часто называется общим функциями streambuf как sgetc и sgetn когда область получение пуста, но другие классы, включая классы потока, могут вызвать underflow в любое время.
Функция underflow предоставляет область действия получения с символами из источника входных данных.Если область получение содержит символы, то underflow возвращает первый символ.Если область получение пуста, то он заполняет область get и возвращает следующий символ (который она отображается область получение)., Если больше нет доступных символов, то underflow возвращает EOF и покидает область получение пустой.
В классе strstreambuf, underflow обрабатывает указатель egptr в хранилище доступа, динамически выделяется при вызове overflow.
Требования
заголовок: <streambuf>
std пространство имен: