std::strstreambuf
Определено в заголовке <strstream> | ||
|---|---|---|
class strstreambuf : public std::basic_streambuf<char> | (устаревшее в C++98) |
std::strstreambuf является std::basic_streambuf, чья ассоциированная последовательность символов — массив символов, который может быть константным (например, строковая константа), изменяемым, но не динамическим (например, массив, выделенный на стеке), или динамическим, в этом случае std::strstreambuf может быть разрешено перевыделять массив по мере необходимости для размещения вывода (например, вызывая delete[] и new[] или предоставленные пользователем функции).
Типичная реализация std::strstreambuf содержит четыре закрытых члена данных:
eback())Примечания
После любого вызова str() на потоке с динамическим буфером требуется вызов freeze(false), чтобы разрешить деструктору strstreambuf освободить буфер при необходимости.
Члены
Публичные члены |
|
создаёт объект strstreambuf (публичный член) |
|
|
[виртуальный] | уничтожает объект strstreambuf, при необходимости освобождая символьный массив (виртуальный публичный член) |
| устанавливает/сбрасывает состояние замороженности буфера (публичный член) |
|
| помечает буфер как замороженный и возвращает указатель на начало входной последовательности (публичный член) |
|
| возвращает разницу между текущим указателем и началом выходной последовательности: количество записанных символов (публичный член) |
|
Защищённые члены |
|
|
[виртуальный] | считывает символ из входной последовательности без продвижения текущего указателя (виртуальный защищённый член) |
|
[виртуальный] | возвращает входную последовательность, чтобы вернуть прочитанный символ (виртуальный защищённый член) |
|
[виртуальный] | добавляет символ к выходной последовательности, может перевыделить или изначально выделить буфер, если он динамический и не замороженный (виртуальный защищённый член) |
|
[виртуальный] | пытается заменить управляемую последовательность символов массивом (виртуальный защищённый член) |
|
[виртуальный] | перепозиционирует указатель на следующий элемент в входной или выходной последовательности, или в обеих, с использованием относительной адресации (виртуальный защищённый член) |
|
[виртуальный] | перепозиционирует указатель на следующий элемент в входной или выходной последовательности, или в обеих, с использованием абсолютной адресации (виртуальный защищённый член) |
Унаследованно от 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>) |
| возвращает указатель на начало, текущий символ и конец области записи (защищённый член-функция) |
|
| перемещает указатель на следующий символ в последовательности вывода (защищённый член-функция) |
|
| переустанавливает указатели начала, текущего и конечного символов в последовательности вывода (защищённый член-функция) |
|
Возврат символа |
|
|
[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