std::ios_base
来自cppreference.com
在标头 <ios> 定义
|
||
class ios_base; |
||
类 ios_base
是作为所有输入/输出流类的基类工作的多用途类。它维护几类数据:
1) 状态信息:流状态标志;
2) 控制信息:控制输入和输出序列格式化和浸染的本地环境的标志;
3) 私有存储:允许 long 和 void* 成员的有下标可扩展数据结构,它可以实现为两个任意长度的数组,有两个元素的结构体的单个数组,或另一容器;
典型实现保有对应下列 fmtflags、iostate、openmode 及 seekdir 所有值的成员常量,维护当前精度、宽度、格式化标志、异常掩码、缓冲区错误状态、保有回调的可调大小容器、当前浸染的本地环境、私有存储的成员变量及 xalloc() 所用的静态整数变量。
成员函数
构造对象 (受保护成员函数) | |
[虚] |
析构对象 (虚公开成员函数) |
赋值到流 (公开成员函数) | |
格式化 | |
管理格式标志 (公开成员函数) | |
设置特定格式标志 (公开成员函数) | |
清除特定格式的标志 (公开成员函数) | |
管理浮点操作的精度 (公开成员函数) | |
管理域的宽度 (公开成员函数) | |
本地环境 | |
设置本地环境 (公开成员函数) | |
返回当前本地环境 (公开成员函数) | |
内部可扩展数组 | |
[静态] |
返回能安全用作 pword() 和 iword() 下标的程序范围内独有的整数 (公开静态成员函数) |
如果有必要的话,调整私有存储的大小,并且访问位于提供的下标的 long 元素 (公开成员函数) | |
在需要时重置私有存储的大小,并访问位于指定下标的 void* 元素 (公开成员函数) | |
杂项 | |
注册事件回调函数 (公开成员函数) | |
[静态] |
设置 C++ 和 C 的输入/输出库是否可以互操作 (公开静态成员函数) |
成员类 | |
流异常 (公开成员类) | |
初始化标准流对象 (公开成员类) |
成员类型与常量 | |||||||||||||||||||||||||||||||||||||||
类型 | 解释 | ||||||||||||||||||||||||||||||||||||||
流打开模式类型 同时定义下列常量:
(typedef) | |||||||||||||||||||||||||||||||||||||||
格式化标志类型
亦定义下列常量:
(typedef) | |||||||||||||||||||||||||||||||||||||||
流状态类型
亦定义下列常量:
(typedef) | |||||||||||||||||||||||||||||||||||||||
寻位方向类型
亦定义下列常量:
(typedef) | |||||||||||||||||||||||||||||||||||||||
指定事件类型 (枚举) | |||||||||||||||||||||||||||||||||||||||
回调函数类型 (typedef) |
|
(C++17 前) |
缺陷报告
下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。
缺陷报告 | 应用于 | 出版时的行为 | 正确行为 |
---|---|---|---|
LWG 1357 (N3110) |
C++98 | std::ios_base 为类型 openmode 、fmtflags 和 iostate 定义了 operator~、operator& 和 operator|,违反了位掩码类型 (BitmaskType) 的要求[1] |
移除这些定义 |
- ↑ 位掩码类型 (BitmaskType) 应该自身支持逐位操作。逐位操作不应该由外部提供支持。
参阅
管理任意流缓冲 (类模板) |