Namespaces
Variants

std::experimental:: basic_string_view

From cppreference.net
Определено в заголовочном файле <experimental/string_view>
template <

class CharT,
class Traits = std:: char_traits < CharT >

> class basic_string_view ;
(техническая спецификация библиотеки fundamentals)

Шаблон класса basic_string_view описывает объект, который может ссылаться на постоянную непрерывную последовательность char -подобных объектов с первым элементом последовательности в позиции ноль.

Типичная реализация содержит только два члена: указатель на константу CharT и размер.

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

Определено в заголовочном файле <experimental/string_view>
Тип Определение
std::experimental::string_view std :: experimental :: basic_string_view < char >
std::experimental::wstring_view std :: experimental :: basic_string_view < wchar_t >
std::experimental::u16string_view std :: experimental :: basic_string_view < char16_t >
std::experimental::u32string_view std :: experimental :: basic_string_view < char32_t >

Содержание

Параметры шаблона

CharT - тип символа
Traits - класс характеристик, определяющий операции над типом символа

Типы членов

Тип члена Определение
traits_type Traits
value_type CharT
pointer CharT*
const_pointer const CharT*
reference CharT&
const_reference const CharT&
const_iterator определяется реализацией LegacyRandomAccessIterator
iterator const_iterator
reverse_iterator const_reverse_iterator
const_reverse_iterator std:: reverse_iterator < const_iterator >
size_type std::size_t
difference_type std::ptrdiff_t

Примечание: iterator и const_iterator являются одним и тем же типом, поскольку строковые представления являются представлениями постоянных символьных последовательностей.

Функции-члены

создает basic_string_view
(публичная функция-член)
присваивает представление
(публичная функция-член)
Итераторы
возвращает итератор на начало
(публичная функция-член)
возвращает итератор на конец
(публичная функция-член)
возвращает обратный итератор на начало
(публичная функция-член)
возвращает обратный итератор на конец
(публичная функция-член)
Доступ к элементам
доступ к указанному символу
(публичная функция-член)
доступ к указанному символу с проверкой границ
(публичная функция-член)
обращается к первому символу
(публичная функция-член)
обращается к последнему символу
(публичная функция-член)
возвращает указатель на первый символ представления
(публичная функция-член)
Ёмкость
возвращает количество символов
(публичная функция-член)
возвращает максимальное количество символов
(публичная функция-член)
проверяет, является ли представление пустым
(публичная функция-член)
Модификаторы
уменьшает представление, перемещая его начало вперед
(публичная функция-член)
уменьшает представление, перемещая его конец назад
(публичная функция-член)
обменивает содержимое
(публичная функция-член)
Операции
создает строку из представления
(публичная функция-член)
копирует символы
(публичная функция-член)
возвращает подстроку
(публичная функция-член)
сравнивает два представления
(публичная функция-член)
найти символы в представлении
(публичная функция-член)
найти последнее вхождение подстроки
(публичная функция-член)
найти первое вхождение символов
(публичная функция-член)
найти последнее вхождение символов
(публичная функция-член)
найти первое отсутствие символов
(публичная функция-член)
найти последнее отсутствие символов
(публичная функция-член)

Константы

[static]
специальное значение. Точное значение зависит от контекста
(public static member constant)

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

лексикографически сравнивает два представления
(шаблон функции)
Ввод/вывод
выполняет потоковый вывод для представлений
(шаблон функции)

Вспомогательные классы

поддержка хеширования для представлений
(специализация шаблона класса)

Макросы проверки возможностей

__cpp_lib_experimental_string_view
значение не менее 201411 указывает, что шаблон basic_string_view поддерживается
(макрос-константа)