Espacios de nombres
Variantes
Acciones

std::basic_string_view

De cppreference.com
< cpp‎ | string

Plantilla:cpp/string/basic string view/navbar

Definido en el archivo de encabezado <string_view>
template<

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

> class basic_string_view;
(desde C++17)

La plantilla de clase basic_string_view describe un objeto que puede referirse a una secuencia constante y contigua de objetos como char con el primer elemento de la secuencia en la posición cero.

Una implementación típica mantiene solamente dos miembros: un puntero a un CharT constante y un tamaño.

Se proveen varias definiciones de tipo para tipos de carácter comunes:

Definido en el archivo de encabezado <string_view>
Tipo Definición
std::string_view std::basic_string_view<char>
std::wstring_view std::basic_string_view<wchar_t>
std::u8string_view std::basic_string_view<char8_t> (C++20)
std::u16string_view std::basic_string_view<char16_t>
std::u32string_view std::basic_string_view<char32_t>

Contenido

[editar] Parámetros de plantilla

CharT - tipo de carácter
Traits - CharTraits La clase que especifica las operaciones sobre el tipo de carácter. Al igual que basic_string, Traits::char_type tiene que nombrar el mismo tipo que CharT o de otra manera el programa está mal formado.

[editar] Tipos miembro

Member type Definition
traits_type Traits
value_type CharT
pointer CharT*
const_pointer const CharT*
reference CharT&
const_reference const CharT&
const_iterator RandomAccessIterator constante definido por la implementación , ConstexprIterator (desde C++20) y ContiguousIterator cuyo value_type es CharT
iterator const_iterator
const_reverse_iterator std::reverse_iterator<const_iterator>
reverse_iterator const_reverse_iterator
size_type std::size_t
difference_type std::ptrdiff_t

Nota: iterator y const_iterator son del mismo tipo porque las vistas sobre cadenas son vistas sobre una secuencia de caracteres.

Todos los requerimientos para los tipos de iteradores de un Container también se aplican al iterator y a los tipos de const_iterator de la basic_string_view.

[editar] Funciones miembro

Plantilla:cpp/string/basic string view/dsc constructorPlantilla:cpp/string/basic string view/dsc operator=Plantilla:cpp/string/basic string view/dsc beginPlantilla:cpp/string/basic string view/dsc endPlantilla:cpp/string/basic string view/dsc rbeginPlantilla:cpp/string/basic string view/dsc rendPlantilla:cpp/string/basic string view/dsc operator atPlantilla:cpp/string/basic string view/dsc atPlantilla:cpp/string/basic string view/dsc frontPlantilla:cpp/string/basic string view/dsc backPlantilla:cpp/string/basic string view/dsc dataPlantilla:cpp/string/basic string view/dsc sizePlantilla:cpp/string/basic string view/dsc max sizePlantilla:cpp/string/basic string view/dsc emptyPlantilla:cpp/string/basic string view/dsc remove prefixPlantilla:cpp/string/basic string view/dsc remove suffixPlantilla:cpp/string/basic string view/dsc swapPlantilla:cpp/string/basic string view/dsc copyPlantilla:cpp/string/basic string view/dsc substrPlantilla:cpp/string/basic string view/dsc comparePlantilla:cpp/string/basic string view/dsc starts withPlantilla:cpp/string/basic string view/dsc ends withPlantilla:cpp/string/basic string view/dsc findPlantilla:cpp/string/basic string view/dsc rfindPlantilla:cpp/string/basic string view/dsc find first ofPlantilla:cpp/string/basic string view/dsc find last ofPlantilla:cpp/string/basic string view/dsc find first not ofPlantilla:cpp/string/basic string view/dsc find last not ofPlantilla:cpp/string/basic string view/dsc npos
Iteradores
Acceso a elementos
Capacidad
Modificadores
Operaciones

Constantes

[editar] Funciones no-miembro

Plantilla:cpp/string/basic string view/dsc operator cmpPlantilla:cpp/string/basic string view/dsc begin end nonmemPlantilla:cpp/string/basic string view/dsc operator ltlt
Input/output

[editar] Literales

Plantilla:cpp/string/basic string view/dsc operator""sv
Definido en el espacio de nombres std::literals::string_view_literals

[editar] Clases asistentes

Plantilla:cpp/string/basic string view/dsc hash

[editar] Notas

Es la responsabilidad del programador asegurarse de que la std::string_view no tenga una duración más allá que la del array de caracteres a los que apunta:

std::string_view bien("un literal de cadena");   // de acuerdo: "bien" apunta a un array estático
std::string_view mal("una cadena temporal"s);    // "mal" mantiene un puntero colgante