std::basic_string_view<CharT,Traits>::basic_string_view - cppreference.com
De cppreference.com
|
|
(1) | (desde C++17) |
|
|
(2) | (desde C++17) |
|
|
(3) | (desde C++17) |
|
|
(4) | (desde C++17) |
|
|
(5) | (desde C++20) |
1) Constructor por defecto. Construye una vista sobre cadena vacía (basic_string_view). Después de la construcción, data() es igual a nullptr, y size() es igual a 0.
2) Constructor de copia. Construye una vista sobre cadena con el mismo contenido que other. Después de la construcción, data() es igual a other.data(), y size() es igual a other.size().
3) Construye una vista sobre cadena de los primeros count caracteres del array de caracteres iniciando con el elemento al que apunta s. s puede contener caracteres nulos. El comportamiento es indefinido si [s, s+count) no es un rango válido (aun cuando el constructor no pueda acceder a ninguno de los elementos de este rango). Después de la construcción, data() es igual a s, and size() es igual a count.
4) Construye una vista sobre cadena a partir de la cadena terminada en nulo a la que apunta s, no incluyendo el caracter terminador nulo. La longitud de la vista se determina como si fuera mediante Traits::length(s). El comportamiento es indefinido si [s, s+Traits::length(s)) no es un rango válido. Después de la construcción, data() es igual a s, y size() es igual a Traits::length(s).
5) Construye una vista sobre cadena (basic_string_view) sobre el rango [first, last). El comportamiento es indefinido si [first, last) no es un rango válido, si It en realidad no modela a contiguous_iterator, o si End en realidad no modela a sized_sentinel_for para It. Después de la construcción, data() es igual a std::to_address(first), y size() es igual a last - first.
Esta sobrecarga solo participa en la resolución de sobrecargas si
Itsatisface acontiguous_iterator,Endsatisface asized_sentinel_forparaIt,std::iter_value_t<It>yCharTson el mismo tipo, yEndno es convertible a std::size_t.
Parámetros
| other | - | Otra vista con la cual inicializar la vista sobre cadena. |
| s | - | Puntero a un array de caracteres o a una cadena estilo C con la cual inicializar la vista sobre cadena. |
| count | - | El número de caracteres a incluir en la vista sobre cadena. |
| first | - | Iterador al primer carácter de la secuencia. |
| last | - | Iterador al último carácter de la secuencia más uno u otro centinela. |
Complejidad
1-3,5) Constante.
4) Lineal en la longitud de s.
Ejemplo
#include <iostream> #include <string> #include <string_view> int main() { std::wstring_view wcstr_v = L"xyzzy"; char array[3] = {'B', 'a', 'r'}; std::string_view array_v(array, std::size(array)); std::string cppstr = "Foo"; std::string_view cppstr_v(cppstr); std::cout << cppstr_v << '\n' << array_v << '\n' << wcstr_v.size() << '\n'; }
Salida: