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


Класс basic_istringstream

Описывает объект, который управляет извлечением элементов и закодированными объектами из буфера потока класса basic_stringbuf<Elem, Tr, . Alloc>

Синтаксис

template <class Elem, class Tr = char_traits<Elem>, class Alloc = allocator<Elem>>
class basic_istringstream : public basic_istream<Elem, Tr>

Параметры

Alloc
Класс распределителя.

Elem
Тип основного элемента строки.

Tr
Признаки символа, соответствующие основному элементу строки.

Замечания

Шаблон класса описывает объект, который управляет извлечением элементов и закодированными объектами из буфера потока класса basic_stringbuf<Elem, Tr, Alloc>с элементами типа Elem, признаки символов которого определяются классом Tr, и элементы которого выделяются распределителем класса Alloc. Объект сохраняет объект класса basic_stringbuf<Elem, Tr, Alloc>.

Конструкторы

Конструктор Description
basic_istringstream Создает объект типа basic_istringstream.

Определения типов

Введите имя Description
allocator_type Этот тип является синонимом для параметра шаблона Alloc.

Функции элементов

Функция-член Description
rdbuf Возвращает адрес буфера хранимого потока типа pointer в basic_stringbuf<Elem, Tr, . Alloc>
str Задает или получает текст в буфере строк без изменения позиции записи.
swap Обмен значениями в этом basic_istringstream объекте для предоставленного объекта.

Операторы

Operator Description
operator= Назначает значения этому объекту basic_istringstream из параметра объекта.

Требования

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

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

basic_istringstream::allocator_type

Этот тип является синонимом для параметра шаблона Alloc.

typedef Alloc allocator_type;

basic_istringstream::basic_istringstream

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

explicit basic_istringstream(
    ios_base::openmode _Mode = ios_base::in);

explicit basic_istringstream(
    const basic_string<Elem, Tr, Alloc>& str,
    ios_base::openmode _Mode = ios_base::in);

basic_istringstream(
    basic_istringstream&& right);

Параметры

_Режим
Одно из перечислений в ios_base::openmode.

str
Объект типа basic_string.

right
Ссылка rvalue на объект basic_istringstream.

Замечания

Первый конструктор инициализирует базовый класс путем вызова basic_istream]( sb ), где sb хранится объект класса basic_stringbuf< Elem, Tr, Alloc>. Он также инициализируется sb путем вызова basic_stringbuf< Elem, Tr, Alloc >( _Mode | ios_base::in ). Дополнительные сведения см. в разделах basic_istream и basic_stringbuf.

Второй конструктор инициализирует базовый класс путем вызова basic_istream( sb ). Он также инициализируется sb путем вызова basic_stringbuf< Elem, Tr, Alloc >( str, _Mode | ios_base::in ).

Третий конструктор инициализирует объект с содержимым правого значения, который рассматривается как ссылка rvalue.

basic_istringstream::operator=

Назначает значения этому объекту basic_istringstream из параметра объекта.

basic_istringstream& operator=(basic_istringstream&& right);

Параметры

right
Ссылка rvalue на объект basic_istringstream.

Замечания

Оператор-член заменяет содержимое объекта содержимым справа, который рассматривается как назначение ссылочного перемещения rvalue.

basic_istringstream::rdbuf

Возвращает адрес буфера хранимого потока типа pointer для basic_stringbuf<Elem, Tr, . Alloc>

basic_stringbuf<Elem, Tr, Alloc> *rdbuf() const;

Возвращаемое значение

Адрес буфера хранимого потока типа pointer для basic_stringbuf<Elem, Tr, Alloc>.

Пример

Пример, в котором используется rdbuf, см. в разделе basic_filebuf::close.

basic_istringstream::str

Задает или получает текст в буфере строк без изменения позиции записи.

basic_string<Elem, Tr, Alloc> str() const;

void str(
    const basic_string<Elem, Tr, Alloc>& _Newstr);

Параметры

_Newstr
Новая строка.

Возвращаемое значение

Возвращает объект класса basic_string<Elem, Tr, Alloc>контролируемый последовательностью которого является копия последовательности, *thisуправляемой.

Замечания

Первая функция-член возвращает rdbuf ->str. Вторая функция-член вызывает rdbuf ->str( _Newstr).

Пример

Пример использования strсм. в разделе basic_stringbuf::str.

basic_istringstream::swap

Меняет местами значения двух объектов basic_istringstream.

void swap(basic_istringstream& right);

Параметры

right
Ссылка lvalue на объект basic_istringstream.

Замечания

Функция-член обменивается значениями этого объекта и значениями справа.

См. также

Потокобезопасность в стандартной библиотеке C++
Программирование iostream
Соглашения iostreams