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