| title | <string_view> | |
|---|---|---|
| ms.date | 04/18/2019 | |
| helpviewer_keywords |
|
|
| ms.assetid | a2fb9d00-d7ae-4170-bfea-2dc337aa37cf |
Defines the class template basic_string_view and related types and operators. (Requires compiler option std:c++17 or later.)
#include <string_view>The string_view family of template specializations provides an efficient way to pass a read-only, exception-safe, non-owning handle to the character data of any string-like objects with the first element of the sequence at position zero. A function parameter of type string_view (which is a typedef for basic_string_view<char>) can accept arguments such as std::string, char*, or any other string-like class of narrow characters for which an implicit conversion to string_view is defined. Similarly, a parameter of wstring_view, u16string_view or u32string_view can accept any string type for which an implicit conversion is defined. For more information, see basic_string_view Class.
| Type name | Description |
|---|---|
| string_view | A specialization of the class template basic_string_view with elements of type char. |
| wstring_view | A specialization of the class template basic_string_view with elements of type wchar_t. |
| u16string_view | A specialization of the class template basic_string_view with elements of type char16_t. |
| u32string_view | A specialization of the class template basic_string_view with elements of type char32_t. |
The <string_view> operators can compare string_view objects to objects of any convertible string types.
| Operator | Description |
|---|---|
| operator!= | Tests if the object on the left side of the operator is not equal to the object on the right side. |
| operator== | Tests if the object on the left side of the operator is equal to the object on the right side. |
| operator< | Tests if the object on the left side of the operator is less than to the object on the right side. |
| operator<= | Tests if the object on the left side of the operator is less than or equal to the object on the right side. |
| operator<< | A template function that inserts a string_view into an output stream. |
| operator> | Tests if the object on the left side of the operator is greater than to the object on the right side. |
| operator>= | Tests if the object on the left side of the operator is greater than or equal to the object on the right side. |
| Operator | Description |
|---|---|
| sv | Constructs a string_view, wstring_view, u16string_view, or u32string_view depending on the type of the string literal to which it is appended. |
| Class | Description |
|---|---|
| basic_string_view Class | A class template that provides a read-only view into a sequence of arbitrary character-like objects. |
| hash | Function object that produces a hash value for a string_view. |
-
Header: <string_view>
-
Namespace: std
-
Compiler Option: std:c++17 (or later)