Поделиться через


basic_streambuf Class

Описание абстрактный базовый класс для извлечения буфер потока, который управляет передачей элементы определенного представление потока.

template<class Elem, class Tr = char_traits<Elem> >
   class basic_streambuf;

Параметры

Заметки

Класс шаблона описывает абстрактный базовый класс для извлечения буфер потока, который управляет передачей элементы определенного представление потока.Объект класса 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> содержит шесть указатели описано выше.Также сохраняет языковой стандарт объекта в объект типа язык для возможности использования, производные потока буфера.

9h24a8cd.collapse_all(ru-ru,VS.110).gifКонструкторы

basic_streambuf

Создает объект типа basic_streambuf.

9h24a8cd.collapse_all(ru-ru,VS.110).gifОпределения типов

char_type

Связывает имя типа с Elem параметр шаблона.

int_type

Связывает имя типа в basic_streambuf область с Elem параметр шаблона.

off_type

Связывает имя типа в basic_streambuf область с Elem параметр шаблона.

pos_type

Связывает имя типа в basic_streambuf область с Elem параметр шаблона.

traits_type

Связывает имя типа с Tr параметр шаблона.

9h24a8cd.collapse_all(ru-ru,VS.110).gifФункции-члены

eback

Защищенную функцию, возвращающую указатель в начало входного буфера.

egptr

Защищенные функция, возвращающая указатель пределы входного буфера.

epptr

Защищенные функция, возвращающая указатель пределы выходного буфера.

gbump

Защищенную функцию, которая добавляет _Count для следующего указателя для входного буфера.

getloc

Получает basic_streambuf языковой стандарт объекта.

gptr

Защищенную функцию, возвращающую указатель на следующий элемент входного буфера.

imbue

A защищенных виртуальных функций, вызываемых pubimbue.

in_avail

Возвращает число элементов, которые готовы для чтения из буфера.

переполнение

Защищенные виртуальной функции, которые могут вызываться при вставке нового знака в полный буфер.

pbackfail

Защищенный виртуальный член функции, которая пытается поместить элемент в входной поток, затем сделать его текущего элемента (на которую ссылается указатель следующей).

pbase

Защищенную функцию, возвращающую указатель в начало выходного буфера.

pbump

Защищенную функцию, которая добавляет count на следующий указатель в выходной буфер.

pptr

Защищенную функцию, возвращающую указатель на следующий элемент в выходной буфер.

pubimbue

Наборы basic_streambuf языковой стандарт объекта.

pubseekoff

Вызовы seekoff, защищенные виртуальные функции, которая переопределяется в производном классе.

pubseekpos

Вызовы seekpos, защищенной виртуальной функции переопределен в производном классе, возвращает текущую позицию указателя.

pubsetbuf

Вызовы setbuf, защищенные виртуальные функции, которая переопределяется в производном классе.

pubsync

Вызовы синхронизации, защищенной виртуальной функции, переопределяется в производном классе обновляет внешний поток, связанный с этого буфера.

sbumpc

Считывает и возвращает текущий элемент, перемещая указатель потока.

seekoff

Защищенный виртуальный член функции пытается изменить текущее положение управляемых потоков.

seekpos

Защищенный виртуальный член функции пытается изменить текущее положение управляемых потоков.

setbuf

Защищенный виртуальный член функция выполняет операции, специфичные для каждого производного потока буфера.

setg

Защищенные функции, которая хранит _Gbeg в начале указатель _Gnext в следующий указатель и _Gend в конце указателя для входного буфера.

войти

Защищенные функции, которая хранит _Pbeg в начале указатель и _Pend в конце указателя для выходного буфера.

sgetc

Возвращает текущий элемент без изменения положения в потоке.

sgetn

Возвращает число элементов, чтение.

showmanyc

Защищенный виртуальный член функции, возвращающей счетчик число символов, которые могут быть извлечены из входного потока и убедитесь, что программа не будет разрывать ожидания.

snextc

Считывает текущий элемент и возвращает следующий элемент.

sputbackc

Помещает char_type в потоке.

sputc

Помещает символ в поток.

sputn

Помещает в поток строку символов.

stossc

Переместить за пределы текущего элемента в поток.

sungetc

Возвращает знак из потока.

горячей замены

Обменивается значениями в данный объект значения в предоставленном basic_streambuf параметром объекта.

Синхронизация

Защищенный виртуальный функция, которая пытается выполнить синхронизацию с любой связанный внешних потоков управляемых потоков.

uflow

Защищенный виртуальный функция, которая извлекает текущий элемент из входного потока.

потеря значимости

Защищенный виртуальный функция, которая извлекает текущий элемент из входного потока.

xsgetn

Защищенный виртуальный функция, которая извлекает элементы из входного потока.

xsputn

Защищенные виртуальной функции для вставки элементов в выходной поток.

9h24a8cd.collapse_all(ru-ru,VS.110).gifОператоры

operator=

Присваивает значения этого объекта из другого basic_streambuf объект.

Требования

Заголовок: <streambuf>

Пространство имен: std

См. также

Ссылки

Потокобезопасность в стандартной библиотеке C++

программирование iostream

соглашения iostreams

Другие ресурсы

члены basic_streambuf

члены<streambuf>