Namespaces
Variants

std::experimental::basic_string_view<CharT,Traits>:: basic_string_view

From cppreference.net
constexpr basic_string_view ( ) noexcept ;
(1) (библиотека fundamentals TS)
constexpr basic_string_view ( const basic_string_view & other ) noexcept = default ;
(2) (библиотека fundamentals TS)
template < class Allocator >
basic_string_view ( const std:: basic_string < CharT, Traits, Allocator > & str ) noexcept ;
(3) (библиотека fundamentals TS)
constexpr basic_string_view ( const CharT * s, size_type count ) ;
(4) (библиотека fundamentals TS)
constexpr basic_string_view ( const CharT * s ) ;
(5) (библиотека fundamentals TS)
1) Конструктор по умолчанию. Создает пустой basic_string_view .
2) Конструктор копирования. Создает представление того же содержимого, что и other .
3) Создает представление первых str. size ( ) символов массива символов, начинающегося с элемента, на который указывает str. data ( ) .
4) Создает представление первых count символов массива символов, начиная с элемента, на который указывает s . s может содержать нулевые символы. Поведение не определено, если [ s , s + count ) не является допустимым диапазоном (даже если конструктор может не обращаться к любым элементам этого диапазона).
5) Создает представление строки символов с нулевым завершением, на которую указывает s , не включая завершающий нулевой символ. Длина представления определяется как если бы с помощью Traits :: length ( s ) . Поведение не определено, если [ s , s + Traits :: length ( s ) ) не является допустимым диапазоном (даже если конструктор может не обращаться ни к одному из элементов этого диапазона).

Содержание

Параметры

other - другое представление для инициализации текущего представления
str - объект строки C++ для инициализации представления
s - указатель на массив символов или C-строку для инициализации представления
count - количество символов для включения в представление

Исключения

4,5) Ничего не выбрасывает.

Сложность

1-4) Константа.
5) Линейная по длине s .

Пример

#include <experimental/string_view>
#include <iostream>
int main()
{
    std::string cppstr = "Foo";
    char array[3] = {'B', 'a', 'r'};
    std::experimental::string_view cppstr_v(cppstr);
    std::experimental::string_view array_v(array, sizeof array);
    std::experimental::wstring_view wcstr_v = L"xyzzy";
    std::cout << cppstr_v << '\n'
              << array_v << '\n'
              << wcstr_v.size() << '\n';
}

Вывод:

Foo
Bar
5

Смотрите также

присваивает представление
(публичная функция-член)