Spec-Zone.ru › C++

std::basic_stringbuf

Определено в заголовке <sstream>
template<
    class CharT,
    class Traits = std::char_traits<CharT>,
    class Allocator = std::allocator<CharT>
> class basic_stringbuf
    : public std::basic_streambuf<CharT, Traits>

std::basic_stringbuf — это std::basic_streambuf, чья ассоциированная последовательность символов — это резидентная в памяти последовательность произвольных символов, которая может быть инициализирована из или представлена как экземпляр std::basic_string.

Типичные реализации std::basic_stringbuf хранят объект типа std::basic_string или эквивалентный перестраиваемый контейнер последовательностей непосредственно как член данных и используют его как управляемую последовательность символов (массив, куда указывают шесть указателей std::basic_streambuf) и как ассоциированную последовательность символов (источник символов для всех операций ввода и целевой объект для вывода).

Кроме того, типичная реализация хранит член данных типа std::ios_base::openmode для указания режима ввода-вывода связанного потока (только вход, только выход, вход/выход, конец потока и т. д.).

Если стратегия перераспределения используется overflow(), может быть сохранен дополнительный указатель верхнего отметки, чтобы отслеживать последний инициализированный символ.

(с C++11)

Предоставлены несколько определений типов для распространённых типов символов:

Определено в заголовке <sstream>
Тип Определение
std::stringbuf std::basic_stringbuf<char>
std::wstringbuf std::basic_stringbuf<wchar_t>

Типы членов

Тип члена Определение
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
allocator_type Allocator

Члены, используемые только для иллюстрации

buf используемый в качестве базового буфера std::basic_string<CharT, Traits, Allocator>
(член объекта, используемый только для иллюстрации*)
mode режим связанного потока
(член объекта, используемый только для иллюстрации*)
init_buf_ptrs
инициализирует последовательности ввода и вывода
(член функции, используемый только для иллюстрации*)

Публичные члены-функции

(конструктор)
строит объект basic_stringbuf
(публичная функция-член)
operator=
(C++11)
присваивает объект basic_stringbuf
(публичная функция-член)
swap
(C++11)
меняет местами два объекта basic_stringbuf
(публичная функция-член)
(деструктор)
[virtual] (неявное объявление)
уничтожает объект basic_stringbuf и строку, которую он содержит
(виртуальная публичная функция-член)
str
заменяет или получает копию связанной строки символов
(публичная функция-член)
get_allocator
(C++20)
получает копию аллокатора, связанного с внутренним контейнером последовательности
(публичная функция-член)
view
(C++20)
получает представление над подлежащей последовательностью символов
(публичная функция-член)

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

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

Функции, не являющиеся членами

std::swap(std::basic_stringbuf)
(C++11)
специализирует алгоритм std::swap
(шаблон функции)
END_OF_DOCUMENT_MARKER

Наследуется от 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/basic_stringbuf

Spec-Zone.ru

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