std::basic_streambuf<CharT,Traits>::uflow
protected: virtual int_type uflow(); |
Обеспечивает наличие как минимум одного символа в области ввода, обновляя указатели на область ввода (при необходимости). В случае успеха возвращает значение этого символа и сдвигает указатель чтения на один символ. В случае ошибки возвращает traits::eof().
Функция может обновить указатели gptr, egptr и eback, чтобы определить местоположение вновь загруженных данных (если таковые имеются). В случае ошибки функция гарантирует, что либо gptr() == nullptr, либо gptr() == egptr.
Версия функции из базового класса вызывает underflow() и увеличивает gptr().
Параметры
(нет)
Возвращаемое значение
Значение символа, на который указывал указатель чтения до его сдвига на один символ, или traits::eof() в противном случае.
Версия функции из базового класса возвращает значение, возвращённое underflow().
Примечание
Общедоступные функции std::streambuf вызывают эту функцию только в том случае, если gptr() == nullptr или gptr() >= egptr().
Пользовательские классы streambuf, которые не используют область чтения и не устанавливают указатели области чтения в basic_streambuf, должны переопределять эту функцию.
Пример
См. также
|
[виртуальная] | считывает символы из связанной входной последовательности в область чтения (виртуальная защищённая функция-член) |
|
[виртуальная] | записывает символы из области записи в связанную выходную последовательность (виртуальная защищённая функция-член) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/io/basic_streambuf/uflow