std::basic_ispanstream
来自 cppreference.com
定义在头文件 <spanstream> 中 |
||
template< class CharT, |
(自 C++23 起) | |
类模板 std::basic_ispanstream
在基于固定缓冲区的流上实现输入操作。
在底层,该类本质上将 std::basic_spanbuf 的原始设备实现包装到 std::basic_istream 的更高级别接口中。提供了对唯一 std::basic_spanbuf 成员的完整接口。
继承图
为常见字符类型提供了几个类型定义
定义在头文件
<spanstream> 中 | |
类型 | 定义 |
std::ispanstream
|
std::basic_ispanstream<char> |
std::wispanstream
|
std::basic_ispanstream<wchar_t> |
内容 |
[编辑] 成员类型
成员类型 | 定义 |
char_type
|
CharT |
traits_type
|
Traits ; 如果 Traits::char_type 不是 CharT ,则程序格式错误。 |
int_type
|
Traits::int_type |
pos_type
|
Traits::pos_type |
off_type
|
Traits::off_type |
[编辑] 数据成员
成员对象 | 定义 |
sb (私有) |
包装的 std::basic_spanbuf。 (仅用于说明目的的成员对象*) |
[编辑] 成员函数
(C++23) |
构造 basic_ispanstream (公有成员函数) |
(析构函数) [虚函数] (C++23) |
销毁 basic_ispanstream (虚函数) |
(C++23) |
移动赋值 basic_ispanstream (公有成员函数) |
(C++23) |
交换两个 basic_ispanstream 对象(公有成员函数) |
(C++23) |
获取包装的原始 span 设备对象的地址(公有成员函数) |
底层缓冲区操作 | |
(C++23) |
获取或设置包装的 span 设备对象的底层缓冲区(公有成员函数) |
[编辑] 非成员函数
专门化 std::swap 算法 (函数模板) |
从 std::basic_istream 继承
成员函数
格式化输入 | |
提取格式化数据 ( std::basic_istream<CharT,Traits> 的公有成员函数) | |
非格式化输入 | |
提取字符 ( std::basic_istream<CharT,Traits> 的公有成员函数) | |
读取下一个字符但不提取它 ( std::basic_istream<CharT,Traits> 的公有成员函数) | |
取消提取一个字符 ( std::basic_istream<CharT,Traits> 的公有成员函数) | |
将一个字符放回输入流 ( std::basic_istream<CharT,Traits> 的公有成员函数) | |
提取字符直到找到给定字符 ( std::basic_istream<CharT,Traits> 的公有成员函数) | |
提取并丢弃字符直到找到给定字符 ( std::basic_istream<CharT,Traits> 的公共成员函数) | |
提取字符块 ( std::basic_istream<CharT,Traits> 的公共成员函数) | |
提取已有的字符块 ( std::basic_istream<CharT,Traits> 的公共成员函数) | |
返回最后一次非格式化输入操作提取的字符数量 ( std::basic_istream<CharT,Traits> 的公共成员函数) | |
gcount | |
tellg 返回输入位置指示器 | |
seekg 设置输入位置指示器 | |
(
| |
sync 与底层存储设备同步 |
(std::basic_istream<CharT,Traits>
的公共成员函数)
sentry 实现用于准备输入操作流的基本逻辑 |
(std::basic_istream<CharT,Traits>
的公共成员类)
从 std::basic_ios 继承
成员类型 | 定义 |
char_type
|
成员类型
|
traits_type
|
CharT
|
int_type
|
Traits
|
pos_type
|
Traits::int_type
|
off_type
|
Traits::pos_type
|
成员函数
Traits::off_type | |
good 检查是否没有发生错误,即 I/O 操作可用 | |
eof 检查是否已到达文件末尾 | |
fail 检查是否已发生错误 | |
bad 检查是否已发生不可恢复的错误 | |
operator! 检查是否已发生错误(fail() 的同义词) | |
operator bool 检查是否没有发生错误( ! fail() 的同义词) | |
rdstate 返回状态标志 | |
setstate 设置状态标志 | |
clear 修改状态标志 | |
(
| |
copyfmt 复制格式信息 | |
fill 管理填充字符 | |
(
| |
exceptions 管理异常掩码 | |
imbue 设置区域设置 | |
(std::basic_ios<CharT,Traits> 的公共成员函数) 管理关联的流缓冲区 | |
tie 管理绑定的流 | |
narrow 缩小字符 | |
widen 扩展字符 |
(std::basic_ios<CharT,Traits>
的公共成员函数)
成员函数
(
| |
flags 管理格式标志 | |
setf 设置特定的格式标志 | |
unsetf 清除特定的格式标志 | |
precision 管理浮点运算的十进制精度 | |
width 管理字段宽度 | |
(
| |
区域设置 设置区域设置 | |
getloc 返回当前区域设置 | |
(
| |
xalloc |
[静态] 返回一个程序范围内的唯一整数,可以安全地用作 pword() 和 iword() 的索引 |
iword 如果需要,调整私有存储大小并访问给定索引处的 long 元素 | |
pword 如果需要,调整私有存储大小并访问给定索引处的 void* 元素 | |
(
| |
register_callback 注册事件回调函数 | |
xalloc |
sync_with_stdio 设置 C++ 和 C I/O 库是否可互操作 |
(
| |
failure 流异常 | |
Init 初始化标准流对象 |
(
| |||||||||||||||||||||||||||||||||||||||
类型 | 成员类型和常量 | ||||||||||||||||||||||||||||||||||||||
openmode 流打开模式类型
(typedef) | |||||||||||||||||||||||||||||||||||||||
格式化标志类型 流打开模式类型
(typedef) | |||||||||||||||||||||||||||||||||||||||
流类型状态 流打开模式类型
(typedef) | |||||||||||||||||||||||||||||||||||||||
寻求方向类型 流打开模式类型
(typedef) | |||||||||||||||||||||||||||||||||||||||
指定事件类型 (enum) | |||||||||||||||||||||||||||||||||||||||
回调函数类型 (typedef) |
[编辑] 注释
功能测试 宏 | 值 | Std | 功能 |
---|---|---|---|
__cpp_lib_spanstream |
202106L | (C++23) | std::spanbuf, std::spanstream |