|
chenjunfu2-nbt-cpp v2.1.3
一个基于CPP20的NBT(Named Binary Tag)库
|
用于提供nbt文件读写,解压与压缩功能 更多...
#include <NBT_IO.hpp>
类 | |
| class | DefaultInputStream |
| 默认输入流类,用于从标准库容器中读取数据 更多... | |
| class | DefaultOutputStream |
| 默认输出流类,用于将数据写入到标准库容器中 更多... | |
静态 Public 成员函数 | |
| template<typename T = std::vector<uint8_t>, typename InfoFunc = NBT_Print> | |
| static bool | WriteFile (const std::filesystem::path &pathFileName, const T &tData, InfoFunc funcInfo=InfoFunc{}) noexcept |
| 从任意顺序容器写出字节流数据到指定文件名的文件中 | |
| template<typename T = std::vector<uint8_t>, typename InfoFunc = NBT_Print> | |
| static bool | ReadFile (const std::filesystem::path &pathFileName, T &tData, InfoFunc funcInfo=InfoFunc{}) noexcept |
| 从指定文件名的文件中读取字节流数据到任意顺序容器中 | |
| static bool | IsFileExist (const std::filesystem::path &pathFileName) |
| 判断指定文件名的文件是否存在 | |
| static bool | IsZlib (uint8_t u8DataFirst, uint8_t u8DataSecond) |
| 通过字节流开始的两个字节判断是否可能是Zlib压缩 | |
| static bool | IsGzip (uint8_t u8DataFirst, uint8_t u8DataSecond) |
| 通过字节流开始的两个字节判断是否可能是Gzip压缩 | |
| template<typename T> | |
| static bool | IsDataZipped (const T &tData) |
| 判断一个顺序容器存储的字节流是否可能存在压缩 | |
| template<typename I, typename O> | |
| static void | DecompressData (O &oData, const I &iData) |
| 解压数据,自动判断Zlib或Gzip并解压,如果失败则抛出异常 | |
| template<typename I, typename O> | |
| static void | CompressData (O &oData, const I &iData, int iLevel=Z_DEFAULT_COMPRESSION) |
| 压缩数据,默认压缩为Gzip,也就是NBT格式的标准压缩类型,如果失败则抛出异常 | |
| template<typename I, typename O, typename InfoFunc = NBT_Print> | |
| static bool | DecompressDataNoThrow (O &oData, const I &iData, InfoFunc funcInfo=InfoFunc{}) noexcept |
| 解压数据,但是不抛出异常,而是通过funcInfo打印异常信息并返回成功与否 | |
| template<typename I, typename O, typename InfoFunc = NBT_Print> | |
| static bool | CompressDataNoThrow (O &oData, const I &iData, int iLevel=Z_DEFAULT_COMPRESSION, InfoFunc funcInfo=InfoFunc{}) noexcept |
| 压缩数据,但是不抛出异常,而是通过funcInfo打印异常信息并返回成功与否 | |
用于提供nbt文件读写,解压与压缩功能
|
inlinestatic |
压缩数据,默认压缩为Gzip,也就是NBT格式的标准压缩类型,如果失败则抛出异常
| I | 输入的顺序容器类型 |
| O | 输出的顺序容器类型 |
| [out] | oData | 输入的顺序容器引用 |
| iData | 输出的顺序容器引用 | |
| iLevel | 压缩等级 |
|
inlinestaticnoexcept |
压缩数据,但是不抛出异常,而是通过funcInfo打印异常信息并返回成功与否
| I | 输入的顺序容器类型 |
| O | 输出的顺序容器类型 |
| InfoFunc | 打印异常信息的仿函数类型 |
| [out] | oData | 输入的顺序容器引用 |
| iData | 输出的顺序容器引用 | |
| iLevel | 压缩等级 | |
| funcInfo | 打印异常信息的仿函数 |
|
inlinestatic |
解压数据,自动判断Zlib或Gzip并解压,如果失败则抛出异常
| I | 输入的顺序容器类型 |
| O | 输出的顺序容器类型 |
| [out] | oData | 输入的顺序容器引用 |
| iData | 输出的顺序容器引用 |
|
inlinestaticnoexcept |
解压数据,但是不抛出异常,而是通过funcInfo打印异常信息并返回成功与否
| I | 输入的顺序容器类型 |
| O | 输出的顺序容器类型 |
| InfoFunc | 打印异常信息的仿函数类型 |
| [out] | oData | 输入的顺序容器引用 |
| iData | 输出的顺序容器引用 | |
| funcInfo | 打印异常信息的仿函数 |
|
inlinestatic |
判断一个顺序容器存储的字节流是否可能存在压缩
| T | 任意顺序容器类型 |
| tData | 顺序容器类型的引用 |
|
inlinestatic |
判断指定文件名的文件是否存在
| pathFileName | 目标文件名 |
|
inlinestatic |
通过字节流开始的两个字节判断是否可能是Gzip压缩
| u8DataFirst | 字节流的第一个字节 |
| u8DataSecond | 字节流的第二个字节 |
|
inlinestatic |
通过字节流开始的两个字节判断是否可能是Zlib压缩
| u8DataFirst | 字节流的第一个字节 |
| u8DataSecond | 字节流的第二个字节 |
|
inlinestaticnoexcept |
从指定文件名的文件中读取字节流数据到任意顺序容器中
| T | 任意顺序容器类型 |
| InfoFunc | 打印异常信息的仿函数类型 |
| pathFileName | 目标文件名 | |
| [out] | tData | 顺序容器的引用 |
| funcInfo | 打印异常信息的仿函数 |
|
inlinestaticnoexcept |
从任意顺序容器写出字节流数据到指定文件名的文件中
| T | 任意顺序容器类型 |
| InfoFunc | 打印异常信息的仿函数类型 |
| pathFileName | 目标文件名 |
| tData | 顺序容器的引用 |
| funcInfo | 打印异常信息的仿函数 |