Namespaces
Variants

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

From cppreference.net
constexpr basic_string_view ( ) noexcept ;
(1) (biblioteca de fundamentos TS)
constexpr basic_string_view ( const basic_string_view & other ) noexcept = default ;
(2) (biblioteca de fundamentos TS)
template < class Allocator >
basic_string_view ( const std:: basic_string < CharT, Traits, Allocator > & str ) noexcept ;
(3) (biblioteca de fundamentos TS)
constexpr basic_string_view ( const CharT * s, size_type count ) ;
(4) (biblioteca de fundamentos TS)
constexpr basic_string_view ( const CharT * s ) ;
(5) (biblioteca de fundamentos TS)
1) Constructor por defecto. Construye un basic_string_view vacío.
2) Constructor de copia. Construye una vista del mismo contenido que other .
3) Construye una vista de los primeros str. size ( ) caracteres del array de caracteres que comienza con el elemento apuntado por str. data ( ) .
4) Construye una vista de los primeros count caracteres del array de caracteres que comienza con el elemento apuntado por s . s puede contener caracteres nulos. El comportamiento es indefinido si [ s , s + count ) no es un rango válido (aunque el constructor podría no acceder a ninguno de los elementos de este rango).
5) Construye una vista de la cadena de caracteres terminada en nulo apuntada por s , sin incluir el carácter nulo terminador. La longitud de la vista se determina como si fuera por Traits :: length ( s ) . El comportamiento es indefinido si [ s , s + Traits :: length ( s ) ) no es un rango válido (aunque el constructor podría no acceder a ninguno de los elementos de este rango).

Contenidos

Parámetros

other - otra vista con la cual inicializar la vista
str - un objeto string de C++ con el cual inicializar la vista
s - puntero a un arreglo de caracteres o una cadena C con la cual inicializar la vista
count - número de caracteres a incluir en la vista

Excepciones

4,5) No lanza nada.

Complejidad

1-4) Constante.
5) Lineal en la longitud de s .

Ejemplo

#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';
}

Salida:

Foo
Bar
5

Véase también

asigna una vista
(función miembro pública)