На этом шаге мы приведем общие сведения о пользовательских потоковых буферах.
Потоковые буферы предназначены для выполнения ввода-вывода, а их интерфейс определяется классом basic_streambuf. Для типов символов char и wchar_t определены специализации streambuf и wstreambuf. Эти классы используются в качестве базовых при реализации взаимодействий через специальные каналы ввода-вывода, однако для этого необходимо хорошо понимать принципы работы потоковых буферов.
Центральный интерфейс буферов состоит из трех указателей для каждого из двух буферов. Указатели, возвращаемые функциями eback(), gptr() и egptr(), образуют интерфейс к буферу чтения. Указатели, возвращаемые функциями pbase(), pptr() и epptr(), образуют интерфейс к буферу записи. Операции чтения и записи работают с этими указателями, что приводит к соответствующей реакции в канале ввода или вывода. В следующих шагах операции чтения и записи рассматриваются отдельно.
На следующем шаге мы рассмотрим пользовательские буферы вывода.