basic_streambuf Class
Описание абстрактный базовый класс для извлечения буфер потока, который управляет передачей элементы определенного представление потока.
template<class Elem, class Tr = char_traits<Elem> >
class basic_streambuf;
Параметры
Elem
A char_type.Tr
Знак traits_type.
Заметки
Класс шаблона описывает абстрактный базовый класс для извлечения буфер потока, который управляет передачей элементы определенного представление потока.Объект класса basic_streambuf помогает контролировать поток с элементами типа Tr, также известный как char_type, которого признаков символ определяется класс char_traits, также известный как traits_type.
Каждый буфер потока концептуально управляет двумя независимыми потоками: один для в итоговом (input) и один для вставки (output).Определенные представления могут тем не менее, запретите одного или обоих этих потоков.Как правило, поддерживает некоторые отношения между двумя потоками.Вставить в выходной поток basic_stringbuf<Elem, Tr> объект, например, — что вы позже извлечь из своего входного потока.При расположении один поток basic_filebuf<Elem, Tr> объект, поместите в поток в тандеме.
Общий интерфейс для шаблона класса basic_streambuf предоставляет операции, которые являются общими для всех буферов потока, однако специализированные.Защищенный интерфейс предоставляет операций, необходимых для представления конкретного потока для выполнения своей работы.Защищенный виртуальный член функции позволяют адаптировать поведение буфера потока производных для конкретного представления потока.Каждый производный потока буфера в этой библиотеке описывает, как он занимается поведение функций защищенный виртуальный член.Поведение по умолчанию для базового класса, который часто является не предпринимать никаких действий, описанных в этом разделе.
Оставшиеся защищенный член функции управления копирование в и из предоставленного буфера передачи для памяти и потоков.Входной буфер, например, характеризуется:
eback, указатель на начало буфера.
gptr, указатель мыши на следующий элемент для чтения.
egptr, указатель только за пределами буфера.
Аналогичным образом характеризуется выходного буфера:
pbase, указатель на начало буфера.
pptr, указатель для следующего элемента для записи.
epptr, указатель только за пределами буфера.
Для любой буфер используется следующий протокол:
Если следующий указатель равен null, не существует буфера.В противном случае все три указатели точка в той же последовательности.Они могут безопасно сравниваться для заказа.
Для выходного буфера меньше, чем указатель конца сравнивает следующий указатель можно сохранить элемент позиции записи указывает следующий указатель.
Если следующий указатель сравнивает меньше, чем указатель конца входного буфера, можно прочитать элемент указывает следующий указатель позиции чтения.
Входного буфера меньше, чем следующий указатель сравнивает указатель начала можно поместить обратно элемент позиции putback, назначенному с помощью уменьшается следующий указатель.
Любой защищенный виртуальный член функции записи для класса, производного от basic_streambuf<Elem, Tr> необходимо сотрудничать в поддержку этого протокола.
An object of class basic_streambuf<Elem, Tr> содержит шесть указатели описано выше.Также сохраняет языковой стандарт объекта в объект типа язык для возможности использования, производные потока буфера.
Конструкторы
Создает объект типа basic_streambuf. |
Определения типов
Связывает имя типа с Elem параметр шаблона. |
|
Связывает имя типа в basic_streambuf область с Elem параметр шаблона. |
|
Связывает имя типа в basic_streambuf область с Elem параметр шаблона. |
|
Связывает имя типа в basic_streambuf область с Elem параметр шаблона. |
|
Связывает имя типа с Tr параметр шаблона. |
Функции-члены
Защищенную функцию, возвращающую указатель в начало входного буфера. |
|
Защищенные функция, возвращающая указатель пределы входного буфера. |
|
Защищенные функция, возвращающая указатель пределы выходного буфера. |
|
Защищенную функцию, которая добавляет _Count для следующего указателя для входного буфера. |
|
Получает basic_streambuf языковой стандарт объекта. |
|
Защищенную функцию, возвращающую указатель на следующий элемент входного буфера. |
|
A защищенных виртуальных функций, вызываемых pubimbue. |
|
Возвращает число элементов, которые готовы для чтения из буфера. |
|
Защищенные виртуальной функции, которые могут вызываться при вставке нового знака в полный буфер. |
|
Защищенный виртуальный член функции, которая пытается поместить элемент в входной поток, затем сделать его текущего элемента (на которую ссылается указатель следующей). |
|
Защищенную функцию, возвращающую указатель в начало выходного буфера. |
|
Защищенную функцию, которая добавляет count на следующий указатель в выходной буфер. |
|
Защищенную функцию, возвращающую указатель на следующий элемент в выходной буфер. |
|
Наборы basic_streambuf языковой стандарт объекта. |
|
Вызовы seekoff, защищенные виртуальные функции, которая переопределяется в производном классе. |
|
Вызовы seekpos, защищенной виртуальной функции переопределен в производном классе, возвращает текущую позицию указателя. |
|
Вызовы setbuf, защищенные виртуальные функции, которая переопределяется в производном классе. |
|
Вызовы синхронизации, защищенной виртуальной функции, переопределяется в производном классе обновляет внешний поток, связанный с этого буфера. |
|
Считывает и возвращает текущий элемент, перемещая указатель потока. |
|
Защищенный виртуальный член функции пытается изменить текущее положение управляемых потоков. |
|
Защищенный виртуальный член функции пытается изменить текущее положение управляемых потоков. |
|
Защищенный виртуальный член функция выполняет операции, специфичные для каждого производного потока буфера. |
|
Защищенные функции, которая хранит _Gbeg в начале указатель _Gnext в следующий указатель и _Gend в конце указателя для входного буфера. |
|
Защищенные функции, которая хранит _Pbeg в начале указатель и _Pend в конце указателя для выходного буфера. |
|
Возвращает текущий элемент без изменения положения в потоке. |
|
Возвращает число элементов, чтение. |
|
Защищенный виртуальный член функции, возвращающей счетчик число символов, которые могут быть извлечены из входного потока и убедитесь, что программа не будет разрывать ожидания. |
|
Считывает текущий элемент и возвращает следующий элемент. |
|
Помещает char_type в потоке. |
|
Помещает символ в поток. |
|
Помещает в поток строку символов. |
|
Переместить за пределы текущего элемента в поток. |
|
Возвращает знак из потока. |
|
Обменивается значениями в данный объект значения в предоставленном basic_streambuf параметром объекта. |
|
Защищенный виртуальный функция, которая пытается выполнить синхронизацию с любой связанный внешних потоков управляемых потоков. |
|
Защищенный виртуальный функция, которая извлекает текущий элемент из входного потока. |
|
Защищенный виртуальный функция, которая извлекает текущий элемент из входного потока. |
|
Защищенный виртуальный функция, которая извлекает элементы из входного потока. |
|
Защищенные виртуальной функции для вставки элементов в выходной поток. |
Операторы
Присваивает значения этого объекта из другого basic_streambuf объект. |
Требования
Заголовок: <streambuf>
Пространство имен: std
См. также
Ссылки
Потокобезопасность в стандартной библиотеке C++