Technical Specification | ||||
Filesystem library(filesystem TS) | ||||
Library fundamentals(library fundamentals TS) | ||||
Library fundamentals 2(library fundamentals TS v2) | ||||
Library fundamentals 3(library fundamentals TS v3) | ||||
Extensions for parallelism(parallelism TS) | ||||
Extensions for parallelism 2(parallelism TS v2) | ||||
Extensions for concurrency(concurrency TS) | ||||
Extensions for concurrency 2(concurrency TS v2) | ||||
Concepts(concepts TS) | ||||
Ranges(ranges TS) | ||||
Reflection(reflection TS) | ||||
Mathematical special functions(special functions TR) | ||||
Experimental Non-TS | ||||
Pattern Matching | ||||
Linear Algebra | ||||
std::execution | ||||
Contracts | ||||
2D Graphics |
experimental::basic_string_view | ||||
Type-erased and polymorphic allocators | ||||
Variable templates for type traits |
|
|
![]() | Merged into ISO C++ The functionality described on this page was merged into the mainline ISO C++ standard as of 3/2016, seestd::basic_string_view(since C++17) |
Defined in header <experimental/string_view> | ||
template< class CharT, | (library fundamentals TS) | |
The class templatebasic_string_view
describes an object that can refer to a constant contiguous sequence ofchar-like objects with the first element of the sequence at position zero.
A typical implementation holds only two members: a pointer to constantCharT
and a size.
Several typedefs for common character types are provided:
Defined in header <experimental/string_view> | |
Type | Definition |
std::experimental::string_view | std::experimental::basic_string_view<char> |
std::experimental::wstring_view | std::experimental::basic_string_view<wchar_t> |
std::experimental::u16string_view | std::experimental::basic_string_view<char16_t> |
std::experimental::u32string_view | std::experimental::basic_string_view<char32_t> |
Contents |
CharT | - | character type |
Traits | - | traits class specifying the operations on the character type |
Member type | Definition |
traits_type | Traits |
value_type | CharT |
pointer | CharT* |
const_pointer | const CharT* |
reference | CharT& |
const_reference | const CharT& |
const_iterator | implementation-definedLegacyRandomAccessIterator |
iterator | const_iterator |
reverse_iterator | const_reverse_iterator |
const_reverse_iterator | std::reverse_iterator<const_iterator> |
size_type | std::size_t |
difference_type | std::ptrdiff_t |
Note:iterator
andconst_iterator
are the same type because string views are views into constant character sequences.
constructs abasic_string_view (public member function)[edit] | |
assigns a view (public member function)[edit] | |
Iterators | |
returns an iterator to the beginning (public member function)[edit] | |
returns an iterator to the end (public member function)[edit] | |
returns a reverse iterator to the beginning (public member function)[edit] | |
returns a reverse iterator to the end (public member function)[edit] | |
Element access | |
access specified character (public member function)[edit] | |
access specified character with bounds checking (public member function)[edit] | |
accesses the first character (public member function)[edit] | |
accesses the last character (public member function)[edit] | |
returns a pointer to the first character of a view (public member function)[edit] | |
Capacity | |
returns the number of characters (public member function)[edit] | |
returns the maximum number of characters (public member function)[edit] | |
checks whether the view is empty (public member function)[edit] | |
Modifiers | |
shrinks the view by moving its start forward (public member function)[edit] | |
shrinks the view by moving its end backward (public member function)[edit] | |
swaps the contents (public member function)[edit] | |
Operations | |
creates a string from the view (public member function)[edit] | |
copies characters (public member function)[edit] | |
returns a substring (public member function)[edit] | |
compares two views (public member function)[edit] | |
find characters in the view (public member function)[edit] | |
find the last occurrence of a substring (public member function)[edit] | |
find first occurrence of characters (public member function)[edit] | |
find last occurrence of characters (public member function)[edit] | |
find first absence of characters (public member function)[edit] | |
find last absence of characters (public member function)[edit] | |
Constants | |
[static] | special value. The exact meaning depends on the context (public static member constant)[edit] |
lexicographically compares two views (function template)[edit] | |
Input/output | |
performs stream output on views (function template)[edit] |
hash support for views (class template specialization)[edit] |
__cpp_lib_experimental_string_view | a value of at least201411 indicates that basic_string_view template is supported (macro constant) |