Namespaces
Variants

std::experimental:: basic_string_view

From cppreference.net
定义于头文件 <experimental/string_view>
template <

class CharT,
class Traits = std:: char_traits < CharT >

> class basic_string_view ;
(库基础技术规范)

类模板 basic_string_view 描述了一个对象,该对象可以引用一个常量连续序列的类 char 对象,且该序列的首元素位于零位置。

典型实现仅包含两个成员:指向常量 CharT 的指针和大小值。

提供了多种常见字符类型的类型定义:

定义于头文件 <experimental/string_view>
类型 定义
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 >

目录

模板参数

CharT - 字符类型
Traits - 特征类,用于指定字符类型的操作

成员类型

成员类型 定义
traits_type Traits
value_type CharT
pointer CharT*
const_pointer const CharT*
reference CharT&
const_reference const CharT&
const_iterator 由实现定义的 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

注意: iterator const_iterator 是相同类型,因为 string views 是常量字符序列的视图。

成员函数

构造 basic_string_view
(公开成员函数)
赋值视图
(公开成员函数)
迭代器
返回指向起始位置的迭代器
(公开成员函数)
返回指向末尾位置的迭代器
(公开成员函数)
返回指向起始位置的反向迭代器
(公开成员函数)
返回指向末尾位置的反向迭代器
(公开成员函数)
元素访问
访问指定字符
(公开成员函数)
带边界检查访问指定字符
(公开成员函数)
访问首字符
(公开成员函数)
访问末字符
(公开成员函数)
返回指向视图首字符的指针
(公开成员函数)
容量
返回字符数量
(公开成员函数)
返回最大字符数量
(公开成员函数)
检查视图是否为空
(公开成员函数)
修改器
通过前移起始位置缩小视图
(公开成员函数)
通过后移末尾位置缩小视图
(公开成员函数)
交换内容
(公开成员函数)
操作
从视图创建字符串
(公开成员函数)
复制字符
(公开成员函数)
返回子串
(公开成员函数)
比较两个视图
(公开成员函数)
在视图中查找字符
(公开成员函数)
<a href="basic_string_view/r

非成员函数

按字典序比较两个视图
(函数模板)
输入/输出
对视图执行流输出操作
(函数模板)

辅助类

视图的哈希支持
(类模板特化)

特性测试宏

__cpp_lib_experimental_string_view
值至少为 201411 表示支持 basic_string_view 模板
(宏常量)