|
|
| DefaultInputStream (const T &&_tData, size_t szStartIdx=0)=delete |
| | 禁止使用临时对象构造
|
| | DefaultInputStream (const T &_tData, size_t szStartIdx=0) |
| | 构造函数
|
|
| ~DefaultInputStream (void)=default |
| | 默认析构函数
|
|
| DefaultInputStream (const DefaultInputStream &)=delete |
| | 禁止拷贝构造
|
|
| DefaultInputStream (DefaultInputStream &&)=delete |
| | 禁止移动构造
|
|
DefaultInputStream & | operator= (const DefaultInputStream &)=delete |
| | 禁止拷贝赋值
|
|
DefaultInputStream & | operator= (DefaultInputStream &&)=delete |
| | 禁止移动赋值
|
| const ValueType & | operator[] (size_t szIndex) const noexcept |
| | 下标访问运算符
|
| const ValueType & | GetNext () noexcept |
| | 获取下一个字节并推进读取位置
|
| void | GetRange (void *pDest, size_t szSize) noexcept |
| | 从流中读取一段数据
|
| void | UnGet () noexcept |
| | 回退一个字节的读取
|
| const ValueType * | CurData () const noexcept |
| | 获取当前读取位置的指针
|
| size_t | AddIndex (size_t szSize) noexcept |
| | 向后推进读取
|
| size_t | SubIndex (size_t szSize) noexcept |
| | 向前撤销读取
|
| bool | IsEnd () const noexcept |
| | 检查是否已到达流末尾
|
| size_t | Size () const noexcept |
| | 获取流的总大小
|
| bool | HasAvailData (size_t szSize) const noexcept |
| | 检查是否还有足够的数据可供读取
|
|
void | Reset () noexcept |
| | 重置流读取位置到起始处
|
| const ValueType * | BaseData () const noexcept |
| | 获取底层数据的起始指针
|
| size_t | Index () const noexcept |
| | 获取当前读取位置(只读)
|
| size_t & | Index () noexcept |
| | 获取当前读取位置(可写)
|
template<typename T = std::vector<uint8_t>>
class NBT_IO::DefaultInputStream< T >
默认输入流类,用于从标准库容器中读取数据
- 模板参数
-
| T | 数据容器类型,必须满足以下要求:
- value_type的大小必须为1字节
- value_type必须是可平凡复制的类型
|
- 注解
- 这个类用于标准库的顺序容器,非标准库容器顺序请使用其它的自定义流对象,而非使用此对象, 因为此对象对标准库容器的部分实现存在假设,其它非标准库容器极有可能不兼容导致未定义行为。 可以注意到部分接口在类中并未使用,这是未来扩展时可能用到的,如果自定义流对象,则可以省略部分未使用的接口。