std::experimental::basic_string_view
Merged into ISO C++ The functionality described on this page was merged into the mainline ISO C++ standard as of 3/2016, see std::basic_string_view (since C++17)
The class template basic_string_view describes an object that can refer to a constant contiguous sequence of char-like objects with the first element of the sequence at position zero.
A typical implementation holds only two members: a pointer to constant CharT 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
[edit ] Template parameters
CharT
-
character type
Traits
-
traits class specifying the operations on the character type
[edit ] Member types
Member type
Definition
traits_type
Traits
value_type
CharT
pointer
CharT*
const_pointer
const CharT*
reference
CharT&
const_reference
const CharT&
const_iterator
implementation-defined LegacyRandomAccessIterator
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 and const_iterator are the same type because string views are views into constant character sequences.
[edit ] Member functions
(constructor)
constructs a basic_string_view (public member function) [edit]
operator=
assigns a view (public member function) [edit]
Iterators
begincbegin
returns an iterator to the beginning (public member function) [edit]
endcend
returns an iterator to the end (public member function) [edit]
rbegincrbegin
returns a reverse iterator to the beginning (public member function) [edit]
rendcrend
returns a reverse iterator to the end (public member function) [edit]
Element access
operator[]
access specified character (public member function) [edit]
at
access specified character with bounds checking (public member function) [edit]
front
accesses the first character (public member function) [edit]
back
accesses the last character (public member function) [edit]
data
returns a pointer to the first character of a view (public member function) [edit]
Capacity
sizelength
returns the number of characters (public member function) [edit]
max_size
returns the maximum number of characters (public member function) [edit]
empty
checks whether the view is empty (public member function) [edit]
Modifiers
remove_prefix
shrinks the view by moving its start forward (public member function) [edit]
remove_suffix
shrinks the view by moving its end backward (public member function) [edit]
swap
swaps the contents (public member function) [edit]
Operations
to_stringoperator basic_string
creates a string from the view (public member function) [edit]
copy
copies characters (public member function) [edit]
substr
returns a substring (public member function) [edit]
compare
compares two views (public member function) [edit]
find
find characters in the view (public member function) [edit]
rfind
find the last occurrence of a substring (public member function) [edit]
find_first_of
find first occurrence of characters (public member function) [edit]
find_last_of
find last occurrence of characters (public member function) [edit]
find_first_not_of
find first absence of characters (public member function) [edit]
find_last_not_of
find last absence of characters (public member function) [edit]
Constants
npos [static]
special value. The exact meaning depends on the context (public static member constant) [edit]
[edit ] Non-member functions [edit ] Helper classes [edit ] Feature test macros
__cpp_lib_experimental_string_view
a value of at least 201411 indicates that basic_string_view template is supported (macro constant)