std::ios_base
来自 cppreference.cn
定义于头文件 <ios> |
||
class ios_base; |
||
类 ios_base
是一个多用途类,它是所有 I/O 流类的基类。它维护几种数据:
1) 状态信息:流状态标志。
2) 控制信息:控制输入和输出序列格式化的标志以及被注入的区域设置。
3) 私有存储:索引可扩展数据结构,允许 long 和 void* 成员,这可以实现为两个任意长度的数组或一个包含双元素结构体的数组或另一个容器。
典型的实现包含对应于 fmtflags、iostate、openmode 和 seekdir 所有值的成员常量(如下所示),用于维护当前精度、宽度和格式化标志的成员变量,异常掩码、缓冲区错误状态、保存回调的可调整大小的容器、当前注入的区域设置、私有存储以及用于 xalloc() 的静态整数变量。
目录 |
[编辑] 成员函数
构造对象 (受保护的成员函数) | |
[virtual] |
析构对象 (虚公共成员函数) |
赋值给流 (公共成员函数) | |
格式化 | |
管理格式标志 (公共成员函数) | |
设置特定格式标志 (公共成员函数) | |
清除特定格式标志 (公共成员函数) | |
管理浮点运算的十进制精度 (公共成员函数) | |
管理字段宽度 (公共成员函数) | |
区域设置 | |
设置区域设置 (公共成员函数) | |
返回当前区域设置 (公共成员函数) | |
内部可扩展数组 | |
[静态] |
返回一个程序范围内的唯一整数,可以安全地用作 pword() 和 iword() 的索引 (公共静态成员函数) |
必要时调整私有存储的大小,并访问给定索引处的 long 元素 (公共成员函数) | |
必要时调整私有存储的大小,并访问给定索引处的 void* 元素 (公共成员函数) | |
杂项 | |
注册事件回调函数 (公共成员函数) | |
[静态] |
设置 C++ 和 C I/O 库是否可互操作 (公共静态成员函数) |
成员类 | |
流异常 (公共成员类) | |
初始化标准流对象 (公共成员类) |
成员类型和常量 | |||||||||||||||||||||||||||||||||||||||
类型 | 解释 | ||||||||||||||||||||||||||||||||||||||
流打开模式类型 以下常量也被定义
(类型别名) | |||||||||||||||||||||||||||||||||||||||
格式化标志类型 以下常量也被定义
(类型别名) | |||||||||||||||||||||||||||||||||||||||
流状态类型 以下常量也被定义
(类型别名) | |||||||||||||||||||||||||||||||||||||||
定位方向类型 以下常量也被定义
(类型别名) | |||||||||||||||||||||||||||||||||||||||
指定事件类型 (枚举) | |||||||||||||||||||||||||||||||||||||||
回调函数类型 (类型别名) |
|
(直到 C++17) |
[编辑] 缺陷报告
以下行为变更缺陷报告被追溯应用到先前发布的 C++ 标准。
DR | 应用于 | 已发布的行为 | 正确的行为 |
---|---|---|---|
LWG 1357 (N3110) |
C++98 | std::ios_base 定义了 operator~, operator&和 operator| 用于类型 openmode , fmtflags 和iostate ,违反了 BitmaskType[1] 的要求 |
移除了这些定义 |
- ↑ BitmaskType 需要支持对其自身进行位运算。位运算支持不应在外部提供。
[编辑] 参见
管理任意流缓冲区 (类模板) |