Spec-Zone.ru › C++

std::strstreambuf

Определено в заголовке <strstream>
class strstreambuf : public std::basic_streambuf<char>
(устаревшее в C++98)

std::strstreambuf является std::basic_streambuf, чья ассоциированная последовательность символов — массив символов, который может быть константным (например, строковая константа), изменяемым, но не динамическим (например, массив, выделенный на стеке), или динамическим, в этом случае std::strstreambuf может быть разрешено перевыделять массив по мере необходимости для размещения вывода (например, вызывая delete[] и new[] или предоставленные пользователем функции).

Типичная реализация std::strstreambuf содержит четыре закрытых члена данных:

1) состояние буфера, тип битовой маски, который может представлять любое сочетание четырёх значений: «выделено» (деструктор выполнит освобождение), «константа» (вывод запрещён), «динамический» (вывод может перевыделить) или «замороженный» (освобождение и перевыделение запрещены)
2) размер выделенного буфера (начало буфера не нуждается в отдельном члене данных, его можно хранить в унаследованном указателе eback())
3) указатель на функцию выделения, предоставленную пользователем
4) указатель на функцию освобождения, предоставленную пользователем.

Примечания

После любого вызова str() на потоке с динамическим буфером требуется вызов freeze(false), чтобы разрешить деструктору strstreambuf освободить буфер при необходимости.

Члены

Публичные члены

(конструктор)
создаёт объект strstreambuf
(публичный член)
(деструктор)
[виртуальный]
уничтожает объект strstreambuf, при необходимости освобождая символьный массив
(виртуальный публичный член)
freeze
устанавливает/сбрасывает состояние замороженности буфера
(публичный член)
str
помечает буфер как замороженный и возвращает указатель на начало входной последовательности
(публичный член)
pcount
возвращает разницу между текущим указателем и началом выходной последовательности: количество записанных символов
(публичный член)

Защищённые члены

underflow
[виртуальный]
считывает символ из входной последовательности без продвижения текущего указателя
(виртуальный защищённый член)
pbackfail
[виртуальный]
возвращает входную последовательность, чтобы вернуть прочитанный символ
(виртуальный защищённый член)
overflow
[виртуальный]
добавляет символ к выходной последовательности, может перевыделить или изначально выделить буфер, если он динамический и не замороженный
(виртуальный защищённый член)
setbuf
[виртуальный]
пытается заменить управляемую последовательность символов массивом
(виртуальный защищённый член)
seekoff
[виртуальный]
перепозиционирует указатель на следующий элемент в входной или выходной последовательности, или в обеих, с использованием относительной адресации
(виртуальный защищённый член)
seekpos
[виртуальный]
перепозиционирует указатель на следующий элемент в входной или выходной последовательности, или в обеих, с использованием абсолютной адресации
(виртуальный защищённый член)

Унаследованно от std::basic_streambuf

Типы членов

Тип члена Определение
char_type CharT
traits_type Traits; программа некорректна, если Traits::char_type не является CharT.
int_type Traits::int_type
pos_type Traits::pos_type
off_type Traits::off_type

Члены-функции

(деструктор)
[virtual]
уничтожает объект basic_streambuf
(виртуальная общедоступная функция-член std::basic_streambuf<CharT,Traits>)
Локали
pubimbue
вызывает imbue()
(общедоступная функция-член std::basic_streambuf<CharT,Traits>)
getloc
получает копию связанной локали
(общедоступная функция-член std::basic_streambuf<CharT,Traits>)
Размещение
pubsetbuf
вызывает setbuf()
(общедоступная функция-член std::basic_streambuf<CharT,Traits>)
pubseekoff
вызывает seekoff()
(общедоступная функция-член std::basic_streambuf<CharT,Traits>)
pubseekpos
вызывает seekpos()
(общедоступная функция-член std::basic_streambuf<CharT,Traits>)
pubsync
вызывает sync()
(общедоступная функция-член std::basic_streambuf<CharT,Traits>)
Область получения
in_avail
получает количество символов, немедленно доступных в области получения
(общедоступная функция-член std::basic_streambuf<CharT,Traits>)
snextc
перемещает входную последовательность, затем считывает один символ без повторного перемещения
(общедоступная функция-член std::basic_streambuf<CharT,Traits>)
sbumpcstossc
(удалено в C++17)
считывает один символ из входной последовательности и перемещает последовательность
(общедоступная функция-член std::basic_streambuf<CharT,Traits>)
sgetc
считывает один символ из входной последовательности без перемещения последовательности
(общедоступная функция-член std::basic_streambuf<CharT,Traits>)
sgetn
вызывает xsgetn()
(общедоступная функция-член std::basic_streambuf<CharT,Traits>)
Область записи
sputc
записывает один символ в область записи и перемещает указатель следующего символа
(общедоступная функция-член std::basic_streambuf<CharT,Traits>)
sputn
вызывает xsputn()
(общедоступная функция-член std::basic_streambuf<CharT,Traits>)
Возврат в начало
sputbackc
возвращает один символ обратно в входную последовательность
(общедоступная функция-член std::basic_streambuf<CharT,Traits>)
sungetc
перемещает указатель следующего символа входной последовательности назад на один символ
(общедоступная функция-член std::basic_streambuf<CharT,Traits>)

Защищенные функции-члены

(конструктор)
создаёт объект basic_streambuf
(защищённый член-функция)
operator=
(C++11)
заменяет объект basic_streambuf
(защищённый член-функция)
swap
(C++11)
меняет местами два объекта basic_streambuf
(защищённый член-функция)
Локали
imbue
[virtual]
изменяет ассоциированную локаль
(виртуальная защищённая член-функция std::basic_streambuf<CharT,Traits>)
Позиционирование
setbuf
[virtual]
заменяет буфер на заданный пользователем массив, если разрешено
(виртуальная защищённый член-функция std::basic_streambuf<CharT,Traits>)
seekoff
[virtual]
перемещает указатель на следующий символ в последовательности ввода, вывода или обоих, используя относительную адресацию
(виртуальная защищённый член-функция std::basic_streambuf<CharT,Traits>)
seekpos
[virtual]
перемещает указатель на следующий символ в последовательности ввода, вывода или обоих, используя абсолютную адресацию
(виртуальная защищённый член-функция std::basic_streambuf<CharT,Traits>)
sync
[virtual]
синхронизирует буферы с ассоциированной последовательностью символов
(виртуальная защищённый член-функция std::basic_streambuf<CharT,Traits>)
Область получения
showmanyc
[virtual]
получает количество символов, доступных для ввода в ассоциированной последовательности ввода, если известно
(виртуальная защищённый член-функция std::basic_streambuf<CharT,Traits>)
underflow
[virtual]
считывает символы из ассоциированной последовательности ввода в область получения
(виртуальная защищённый член-функция std::basic_streambuf<CharT,Traits>)
uflow
[virtual]
считывает символы из ассоциированной последовательности ввода в область получения и перемещает указатель на следующий символ
(виртуальная защищённый член-функция std::basic_streambuf<CharT,Traits>)
xsgetn
[virtual]
считывает несколько символов из последовательности ввода
(виртуальная защищённый член-функция std::basic_streambuf<CharT,Traits>)
ebackgptregptr
возвращает указатель на начало, текущий символ и конец области получения
(защищённый член-функция)
gbump
перемещает указатель на следующий символ в последовательности ввода
(защищённый член-функция)
setg
переустанавливает указатели начала, текущего и конечного символов в последовательности ввода
(защищённый член-функция)
Область записи
xsputn
[virtual]
записывает несколько символов в последовательность вывода
(виртуальная защищённый член-функция std::basic_streambuf<CharT,Traits>)
overflow
[virtual]
записывает символы из области записи в ассоциированную последовательность вывода
(виртуальная защищённый член-функция std::basic_streambuf<CharT,Traits>)
pbasepptrepptr
возвращает указатель на начало, текущий символ и конец области записи
(защищённый член-функция)
pbump
перемещает указатель на следующий символ в последовательности вывода
(защищённый член-функция)
setp
переустанавливает указатели начала, текущего и конечного символов в последовательности вывода
(защищённый член-функция)
Возврат символа
pbackfail
[virtual]
возвращает символ обратно в последовательность ввода, возможно, изменяя последовательность ввода
(виртуальная защищённый член-функция std::basic_streambuf<CharT,Traits>)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/io/strstreambuf

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API