std::basic_istringstream
Определено в заголовке <sstream> | ||
|---|---|---|
template<
class CharT,
class Traits = std::char_traits<CharT>,
class Allocator = std::allocator<CharT>
> class basic_istringstream : public basic_istream<CharT, Traits>;
|
Шаблон класса std::basic_istringstream реализует операции ввода для потоков, основанных на строках. Он эффективно хранит экземпляр std::basic_string и выполняет операции ввода над ним.
На низком уровне класс фактически оборачивает реализацию устройства для сырой строки std::basic_stringbuf в интерфейс более высокого уровня std::basic_istream. Предоставляется полный интерфейс к уникальным членам std::basic_stringbuf.
Диаграмма наследования
Предоставляются несколько определений типов символов для общих типов символов:
Определено в заголовке <sstream> |
|
|---|---|
| Тип | Определение |
std::istringstream | std::basic_istringstream<char> |
std::wistringstream | std::basic_istringstream<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 |
Члены только для демонстрации
| Имя | Определение |
|---|---|
sb | используемый в качестве базового буфера std::basic_stringbuf<CharT, Traits, Allocator> (объект члена только для демонстрации*) |
Члены-функции
| создаёт строковый поток (публичная функция-член) |
|
|
(C++11) | перемещает строковый поток (публичная функция-член) |
|
(C++11) | меняет местами два строковых потока (публичная функция-член) |
| возвращает базовый объект устройства сырой строки (публичная функция-член) |
|
Операции со строками |
|
| получает или устанавливает содержимое базового объекта устройства строки (публичная функция-член) |
|
|
(C++20) | получает представление содержимого базового объекта устройства строки (публичная функция-член) |
Функции, не являющиеся членами
|
(C++11) | специализирует алгоритм std::swap (шаблон функции) |
Наследуется от std::basic_istream
Члены-функции
Форматированный ввод |
|
| извлекает отформатированные данные (публичная функция-член std::basic_istream<CharT,Traits>) |
|
Неформатированный ввод |
|
| извлекает символы (публичная функция-член std::basic_istream<CharT,Traits>) |
|
| считывает следующий символ без извлечения его (публичная функция-член std::basic_istream<CharT,Traits>) |
|
| отменяет извлечение символа (публичная функция-член std::basic_istream<CharT,Traits>) |
|
| помещает символ в поток ввода (публичная функция-член std::basic_istream<CharT,Traits>) |
|
| извлекает символы до тех пор, пока не будет найден заданный символ (публичная функция-член std::basic_istream<CharT,Traits>) |
|
| извлекает и игнорирует символы до тех пор, пока не будет найден заданный символ (публичная функция-член std::basic_istream<CharT,Traits>) |
|
| извлекает блоки символов (публичная функция-член std::basic_istream<CharT,Traits>) |
|
| извлекает уже доступные блоки символов (публичная функция-член std::basic_istream<CharT,Traits>) |
|
| возвращает количество извлеченных символов последней операцией неформатированного ввода (публичная функция-член std::basic_istream<CharT,Traits>) |
|
Позиционирование |
|
| возвращает указатель позиции ввода (публичная функция-член std::basic_istream<CharT,Traits>) |
|
| устанавливает указатель позиции ввода (публичная функция-член std::basic_istream<CharT,Traits>) |
|
Разное |
|
| синхронизируется с базовым устройством хранения (публичная функция-член std::basic_istream<CharT,Traits>) |
|
Вложенные классы
| реализует базовые логику подготовки потока для операций ввода (публичный вложенный класс std::basic_istream<CharT,Traits>) |
Наследуется от std::basic_ios
Типы-члены
| Тип-член | Определение |
|---|---|
char_type | CharT |
traits_type | Traits |
int_type | Traits::int_type |
pos_type | Traits::pos_type |
off_type | Traits::off_type |
Члены-функции
Функции состояния |
|
| проверяет, не произошло ли ошибки, т.е. доступны операции ввода-вывода (публичная функция-член std::basic_ios<CharT,Traits>) |
|
| проверяет, достигнут ли конец файла (публичная функция-член std::basic_ios<CharT,Traits>) |
|
| проверяет, произошла ли ошибка (публичная функция-член std::basic_ios<CharT,Traits>) |
|
| проверяет, произошла ли невосстановимая ошибка (публичная функция-член std::basic_ios<CharT,Traits>) |
|
проверяет, произошла ли ошибка (синоним fail()) (публичная функция-член std::basic_ios<CharT,Traits>) |
|
проверяет, не произошла ли ошибка (синоним !fail()) (публичная функция-член std::basic_ios<CharT,Traits>) |
|
| возвращает флаги состояния (публичная функция-член std::basic_ios<CharT,Traits>) |
|
| устанавливает флаги состояния (публичная функция-член std::basic_ios<CharT,Traits>) |
|
| изменяет флаги состояния (публичная функция-член std::basic_ios<CharT,Traits>) |
|
Форматирование |
|
| копирует информацию о форматировании (публичная функция-член std::basic_ios<CharT,Traits>) |
|
| управляет символом заполнения (публичная функция-член std::basic_ios<CharT,Traits>) |
|
Разное |
|
| управляет маской исключений (публичная функция-член std::basic_ios<CharT,Traits>) |
|
| устанавливает локаль (публичная функция-член std::basic_ios<CharT,Traits>) |
|
| управляет связанным буфером потока (публичная функция-член std::basic_ios<CharT,Traits>) |
|
| управляет связанным потоком (публичная функция-член std::basic_ios<CharT,Traits>) |
|
| сужает символы (публичная функция-член std::basic_ios<CharT,Traits>) |
|
| расширяет символы (публичная функция-член std::basic_ios<CharT,Traits>) |
|
Унаследовано от std::ios_base
Члены-функции
Форматирование |
|
| управляет флагами форматирования (публичная функция-член std::ios_base) |
|
| устанавливает определённые флаги форматирования (публичная функция-член std::ios_base) |
|
| сбрасывает определённые флаги форматирования (публичная функция-член std::ios_base) |
|
| управляет десятичной точностью операций с плавающей точкой (публичная функция-член std::ios_base) |
|
| управляет шириной поля (публичная функция-член std::ios_base) |
|
Локали |
|
| устанавливает локаль (публичная функция-член std::ios_base) |
|
| возвращает текущую локаль (публичная функция-член std::ios_base) |
|
Внутренний расширяемый массив |
|
|
[статический] | возвращает уникальный целочисленный идентификатор, который безопасно использовать как индекс к pword() и iword() (публичная статическая функция-член std::ios_base) |
| при необходимости изменяет размер приватного хранилища и получает доступ к элементу типа long по данному индексу (публичная функция-член std::ios_base) |
|
| при необходимости изменяет размер приватного хранилища и получает доступ к элементу типа void* по данному индексу (публичная функция-член std::ios_base) |
|
Разное |
|
| регистрирует функцию обратного вызова событий (публичная функция-член std::ios_base) |
|
|
[статический] | устанавливает, взаимодействуют ли C++ и C библиотеки ввода-вывода (публичная статическая функция-член std::ios_base) |
Вложенные классы |
|
| исключение потока (публичный вложенный класс std::ios_base) |
|
| инициализирует стандартные объекты потоков (публичный вложенный класс std::ios_base) |
|
Типы и константы членов |
|||||||||||||||||||||||||||||||||||||||
| Тип | Объяснение | ||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Тип режима открытия потока Определены следующие константы:
(typedef) |
|||||||||||||||||||||||||||||||||||||||
| тип флагов форматирования Определены следующие константы:
(typedef) |
|||||||||||||||||||||||||||||||||||||||
| тип состояния потока Определены следующие константы:
(typedef) |
|||||||||||||||||||||||||||||||||||||||
| тип направления поиска Определены следующие константы:
(typedef) |
|||||||||||||||||||||||||||||||||||||||
| указывает тип события (enum) |
|||||||||||||||||||||||||||||||||||||||
| тип обратного вызова функции (typedef) |
|||||||||||||||||||||||||||||||||||||||
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/io/basic_istringstream