streamsize showmanyc();300
Returns: Оценка количества символов, доступных в последовательности, или -1. Если он возвращает положительное значение, то последовательные вызовы underflow() не будут возвращаться traits::eof() до тех пор, пока из потока не будет извлечено хотя бы это количество символов. Если showmanyc() возвращается -1, вызовы underflow() или uflow() завершатся ошибкой.301
streamsize xsgetn(char_type* s, streamsize n);
Effects: Присваивает до n символов последовательным элементам массива, первый элемент которого обозначен s. Назначенные символы считываются из входной последовательности, как если бы при повторных вызовах sbumpc(). Назначение прекращается, когда либо n были назначены символы, либоsbumpc() возвращался вызов traits::eof().
int_type underflow();
Remarks: Открытые члены basic_streambuf вызывают эту виртуальную функцию только в том случае, если она gptr() равна нулю или gptr() >= egptr()
Returns: traits::to_int_type(c), где c является первым character из pending sequence, без перемещения позиции входной последовательности за ним. Если ожидающая последовательность пуста, функция возвращается, traits::eof() чтобы указать на сбой.
Это result character первый символ ожидающей последовательности, если он не пуст, в противном случае - следующий символ, который будет считан из входной последовательности.
Это backup sequence пустая последовательность, если она eback() равна нулю, в противном случае символы в [eback(), gptr()).
Effects: Функция устанавливает gptr() и так egptr() , что если ожидающая последовательность непуста, то не egptr() является нулевой, а символы в [gptr(), egptr()) являются символами в ожидающей последовательности, в противном случае либо gptr() имеет значение null, либо gptr() == egptr().
Если eback() и не gptr() равны нулю, функция не ограничена в отношении их содержимого, но «обычное условие резервного копирования» состоит в том, что либо
резервная последовательность содержит как минимум gptr() - eback() символы, и в этом случае символы [eback(), gptr()) соответствуют последним gptr() - eback() символам резервной последовательности, или
символы [gptr() - n, gptr()) соответствуют резервной последовательности (где n - длина резервной последовательности).
int_type uflow();
Requires: Ограничения те же, что и для underflow(), за исключением того, что символ результата должен быть перенесен из ожидающей последовательности в резервную последовательность, а ожидающая последовательность не должна быть пустой перед передачей.
Default behavior: Звонки underflow(). Если underflow() возвращается traits::eof(), возвращается traits::eof(). В противном случае возвращает значение traits::to_int_type(*gptr()) и увеличивает значение следующего указателя для входной последовательности.
Морфемы слова showmanyc «es-how-many-see», а не «show-manic».
underflow или uflow может потерпеть неудачу из-за преждевременного создания исключения. Намерение состоит не только в том, чтобы звонки не возвращались, eof() но и в том, чтобы они вернулись «немедленно».
Классы, производные от, basic_streambuf могут предоставить более эффективные способы реализации xsgetn() и xsputn() переопределения этих определений из базового класса.