|
| | DefaultOutputStream (T &_tData, size_t szStartIdx=0) |
| | 构造函数
|
|
| ~DefaultOutputStream (void)=default |
| | 默认析构函数
|
|
| DefaultOutputStream (const DefaultOutputStream &)=delete |
| | 禁止拷贝构造
|
|
| DefaultOutputStream (DefaultOutputStream &&)=delete |
| | 禁止移动构造
|
|
DefaultOutputStream & | operator= (const DefaultOutputStream &)=delete |
| | 禁止拷贝赋值
|
|
DefaultOutputStream & | operator= (DefaultOutputStream &&)=delete |
| | 禁止移动赋值
|
| const ValueType & | operator[] (size_t szIndex) const noexcept |
| | 下标访问运算符
|
template<typename V>
requires (std::is_constructible_v<ValueType, V &&>) |
| void | PutOnce (V &&c) |
| | 向流中写入写入单个值
|
| void | PutRange (const ValueType *pData, size_t szSize) |
| | 向流中写入一段数据
|
| void | AddReserve (size_t szAddSize) |
| | 预分配额外容量
|
|
void | UnPut (void) noexcept |
| | 删除(撤销)最后一个写入的字节
|
| size_t | Size (void) const noexcept |
| | 获取当前字节流中已有的数据大小
|
|
void | Reset (void) noexcept |
| | 重置流,清空所有数据
|
| const T & | Data (void) const noexcept |
| | 获取底层数据的常量引用
|
| T & | Data (void) noexcept |
| | 获取底层数据的非常量引用
|
template<typename T = std::vector<uint8_t>>
class NBT_IO::DefaultOutputStream< T >
默认输出流类,用于将数据写入到标准库容器中
- 模板参数
-
| T | 数据容器类型,必须满足以下要求:
- value_type的大小必须为1字节
- value_type必须是可平凡复制的类型
|
- 注解
- 这个类用于标准库的顺序容器,非标准库容器顺序请使用其它的自定义流对象,而非使用此对象, 因为此对象对标准库容器的部分实现存在假设,其它非标准库容器极有可能不兼容导致未定义行为。 可以注意到部分接口在类中并未使用,这是未来扩展时可能用到的,如果自定义流对象,则可以省略部分未使用的接口。