std:: strstreambuf
|
Определено в заголовочном файле
<strstream>
|
||
|
class
strstreambuf
:
public
std::
basic_streambuf
<
char
>
|
(устарело в C++98)
(удалено в C++26) |
|
std::strstreambuf
является
std::basic_streambuf
, чья связанная символьная последовательность представляет собой массив символов, который может быть константным (например, строковым литералом), изменяемым, но не динамическим (например, массивом в стеке), или динамическим. В последнем случае
std::strstreambuf
может быть разрешено перераспределять массив по мере необходимости для размещения выходных данных (например, путем вызова
delete
[
]
и
new
[
]
или пользовательских функций).
Типичная реализация
std::strstreambuf
содержит четыре приватных члена данных:
Содержание |
Примечания
После любого вызова
str()
для потока с динамическим буфером требуется вызов
freeze(false)
чтобы позволить деструктору
strstreambuf
освободить буфер при необходимости.
strstreambuf
устарел начиная с C++98 и удалён начиная с C++26
. Рекомендуемой заменой является
std::spanbuf
(начиная с C++23)
.
Функции-члены
Публичные функции-члены |
|
создает объект
strstreambuf
(публичная функция-член) |
|
|
[virtual]
|
уничтожает объект
strstreambuf
, опционально освобождая массив символов
(виртуальная публичная функция-член) |
|
устанавливает/снимает замороженное состояние буфера
(публичная функция-член) |
|
|
помечает буфер замороженным и возвращает указатель на начало входной последовательности
(публичная функция-член) |
|
|
возвращает разницу между следующим указателем и указателем начала в выходной последовательности: количество записанных символов
(публичная функция-член) |
|
Защищенные функции-члены |
|
|
[virtual]
|
читает символ из входной последовательности без перемещения следующего указателя
(виртуальная защищенная функция-член) |
|
[virtual]
|
откатывает входную последовательность для возврата символа
(виртуальная защищенная функция-член) |
|
[virtual]
|
добавляет символ в выходную последовательность, может перераспределить или первоначально выделить буфер, если он динамический и не заморожен
(виртуальная защищенная функция-член) |
|
[virtual]
|
пытается заменить управляемую последовательность символов массивом
(виртуальная защищенная функция-член) |
|
[virtual]
|
перемещает следующий указатель во входной последовательности, выходной последовательности или обеих, используя относительную адресацию
(виртуальная защищенная функция-член) |
|
[virtual]
|
перемещает следующий указатель во входной последовательности, выходной последовательности или обеих, используя абсолютную адресацию
(виртуальная защищенная функция-член) |
Унаследовано от 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>
)
|
Локали |
|
|
изменяет связанную локаль и вызывает
imbue
(
)
(публичная функция-член
std::basic_streambuf<CharT,Traits>
)
|
|
|
получает копию связанной локали
(публичная функция-член
std::basic_streambuf<CharT,Traits>
)
|
|
Позиционирование |
|
|
вызывает
setbuf
(
)
(публичная функция-член
std::basic_streambuf<CharT,Traits>
)
|
|
|
вызывает
seekoff
(
)
(публичная функция-член
std::basic_streambuf<CharT,Traits>
)
|
|
|
вызывает
seekpos
(
)
(публичная функция-член
std::basic_streambuf<CharT,Traits>
)
|
|
|
вызывает
sync
(
)
(публичная функция-член
std::basic_streambuf<CharT,Traits>
)
|
|
Область получения |
|
|
получает количество символов, немедленно доступных в области получения
(публичная функция-член
std::basic_streambuf<CharT,Traits>
)
|
|
|
продвигает входную последовательность, затем читает один символ без дальнейшего продвижения
(публичная функция-член
std::basic_streambuf<CharT,Traits>
)
|
|
|
(удалено в C++17)
|
читает один символ из входной последовательности и продвигает последовательность
(публичная функция-член
std::basic_streambuf<CharT,Traits>
)
|
|
читает один символ из входной последовательности без продвижения последовательности
(публичная функция-член
std::basic_streambuf<CharT,Traits>
)
|
|
|
вызывает
xsgetn
(
)
(публичная функция-член
std::basic_streambuf<CharT,Traits>
)
|
|
Область записи |
|
|
записывает один символ в область записи и продвигает указатель следующего символа
(публичная функция-член
std::basic_streambuf<CharT,Traits>
)
|
|
|
вызывает
xsputn
(
)
(публичная функция-член
std::basic_streambuf<CharT,Traits>
)
|
|
Возврат |
|
|
возвращает один символ обратно во входную последовательность
(публичная функция-член
std::basic_streambuf<CharT,Traits>
)
|
|
|
перемещает указатель следующего символа во входной последовательности назад на один
(публичная функция-член
std::basic_streambuf<CharT,Traits>
)
|
|
Защищенные функции-члены
создаёт объект
basic_streambuf
(защищённая функция-член) |
|
|
(C++11)
|
заменяет объект
basic_streambuf
(защищённая функция-член) |
|
(C++11)
|
меняет местами два
basic_streambuf
объекта
(защищённая функция-член) |
Локали |
|
|
[virtual]
|
реагирует на изменение связанной локали
(виртуальная защищённая функция-член
std::basic_streambuf<CharT,Traits>
)
|
Позиционирование |
|
|
[virtual]
|
заменяет буфер пользовательским массивом, если разрешено
(виртуальная защищённая функция-член
std::basic_streambuf<CharT,Traits>
)
|
|
[virtual]
|
перемещает следующий указатель во входной последовательности, выходной последовательности или в обеих, используя относительную адресацию
(виртуальная защищённая функция-член
std::basic_streambuf<CharT,Traits>
)
|
|
[virtual]
|
перемещает следующий указатель во входной последовательности, выходной последовательности или в обеих, используя абсолютную адресацию
(виртуальная защищённая функция-член
std::basic_streambuf<CharT,Traits>
)
|
|
[virtual]
|
синхронизирует буферы с ассоциированной последовательностью символов
(виртуальная защищённая функция-член
std::basic_streambuf<CharT,Traits>
)
|
Получить площадь |
|
|
[virtual]
|
получает количество символов, доступных для ввода в связанной входной последовательности, если известно
(виртуальная защищённая функция-член
std::basic_streambuf<CharT,Traits>
)
|
|
[virtual]
|
читает символы из связанной входной последовательности в область получения
(виртуальная защищенная функция-член
std::basic_streambuf<CharT,Traits>
)
|
|
[virtual]
|
читает символы из связанной входной последовательности в область получения и перемещает указатель следующего символа
(виртуальная защищённая функция-член
std::basic_streambuf<CharT,Traits>
)
|
|
[virtual]
|
считывает несколько символов из входной последовательности
(виртуальная защищенная функция-член
std::basic_streambuf<CharT,Traits>
)
|
|
возвращает указатель на начало, текущий символ и конец области получения
(защищённая функция-член) |
|
|
перемещает указатель следующего элемента во входной последовательности
(защищенная функция-член) |
|
|
переставляет указатели начала, следующего и конца входной последовательности
(защищенная функция-член) |
|
Область размещения |
|
|
[virtual]
|
записывает несколько символов в выходную последовательность
(виртуальная защищенная функция-член
std::basic_streambuf<CharT,Traits>
)
|
|
[virtual]
|
записывает символы в связанную выходную последовательность из области вывода
(виртуальная защищенная функция-член
std::basic_streambuf<CharT,Traits>
)
|
|
возвращает указатель на начало, текущий символ и конец области вывода
(защищённая функция-член) |
|
|
перемещает указатель следующего элемента выходной последовательности
(защищённая функция-член) |
|
|
изменяет позиции указателей начала, следующего и конца выходной последовательности
(защищённая функция-член) |
|
Putback |
|
|
[virtual]
|
помещает символ обратно во входную последовательность, возможно изменяя входную последовательность
(виртуальная защищенная функция-член
std::basic_streambuf<CharT,Traits>
)
|