std::experi..._string_view(3)
π NAME π
okay so this page is std::experi..._string_view(3) from the C++ Standard Libary manual (their spelling, not mine, bestie π
).
The NAME is std::experimental::basic_string_view::basic_string_view β and yes, that's std::experimental::basic_string_view::basic_string_view again, because this is literally the constructor page for std::experimental::basic_string_view. No cap. β¨
β¨ Synopsis β¨
Here's the whole overload lineup, bestie:
constexpr basic_string_view() noexcept; (1) (library fundamentals TS)
constexpr basic_string_view( const basic_string_view& other ) noexcept = default; (2) (library fundamentals TS)
template<class Allocator>
basic_string_view( const std::basic_string<CharT, Traits, Allocator>& str ) noexcept; (3) (library fundamentals TS)
constexpr basic_string_view( const CharT* s, size_type count ); (4) (library fundamentals TS)
constexpr basic_string_view( const CharT* s ); (5) (library fundamentals TS)
- Default constructor. Constructs an empty
basic_string_view. - Copy constructor. Constructs a view of the same content as
other. - Constructs a view of the first
str.size()characters of the character array starting with the element pointed bystr.data(). - Constructs a view of the first
countcharacters of the character array starting with the element pointed bys.scan contain null characters. The behavior is undefined if[s, s + count)is not a valid range (even though the constructor may not access any of the elements of this range). β οΈ - Constructs a view of the null-terminated character string pointed to by
s, not including the terminating null character. The length of the view is determined as if byTraits::length(s). The behavior is undefined if[s, s + Traits::length(s))is not a valid range (even though the constructor may not access any of the elements of this range). β οΈ
bestie, those undefined-behavior notes are not a vibe check you wanna fail π
π Parameters π
otherβ another view to initialize the view withstrβ a C++ string object to initialize view withsβ pointer to a character array or a C string to initialize the view withcountβ number of characters to include in the view
π«Ά Exceptions π«Ά
4,5) Throws nothing. That's it. No drama, no surprise, just peace πβ¨
π₯ Complexity π₯
1-4)Constant.5)Linear in length ofs.
πΈ Example πΈ
// Run this code
#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';
}
π Output π
Foo
Bar
5
π¦ See also π¦
operator=β assigns a view (public member function)
π Category π
* Noindexed pages
okay that's the whole page, bestie π β source/version: http://cppreference.com, date: 2024.06.10, page: std::experi..._string_view(3). Mwah! π
β¨
π¦ where this page comes from
- nixpkgs unstable: stdman 2024.07.05
- opensuse-leap 16.0: stdman 2024.07.05-bp160.1.9 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms