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