Repository navigation
NBT_CPP
重大更新
vcpkg 2.0.0
注意:1.0.3作为修改过渡版本,版本命名规则有误,理应作为与2.0.0合并的更新,其中对于接口有部分破坏性命名修改
NBT_List.hpp
- 允许存储复合类型而非单一类型限定
- 删除了多余的接口与类型限定校验
- 移除
GetTag()/SetTag()方法 - 移除所有带
NoCheck_T参数的构造函数 - 接口修改方法改为返回引用而非迭代器
- 移除带
bNoCheck模板参数的插入/修改函数
- 移除
- 新增了
Resize的一个重载
注意:如果你在旧版中使用GetTag()/SetTag(),那么在新版本中,你需要修改为对列表的每个成员使用NBT_Node的接口进行判断/设置类型
NBT_Print.hpp
- 新增
NBT_Print_Level枚举 - 新增仿函数重载,允许控制输出等级(Info/Warn/Err)
- 允许传入
NULL文件指针以禁用特定等级的输出 - 默认仿函数运算符使用Info输出等级
NBT_Read.hpp && NBT_Write.hpp
- 已支持包含混合类型元素的列表
- 在写出时自动使用
NBT_Type::Compound封装不一致类型 - 在读取时可选自动解包使用
NBT_Type::Compound封装的不一致类型 - 使用错误等级输出信息,用以区分警告与错误信息
注意:如果你实现了NBT_Print的旧版模拟接口并传递给NBT_Read/NBT_Write接口,那么在新版本中,你需要增加允许控制输出等级的仿函数重载
NBT_Type.hpp
- 新增
IsNumericTag、IsIntegerTag、IsFloatingTag、IsArrayTag、IsContainerTag、IsStringTag、IsListTag、IsCompoundTag运行时标签判断 - 新增
IsNumericType_V、IsIntegerType_V、IsFloatingType_V、IsArrayType_V、IsContainerType_V、IsStringType_V、IsListType_V、IsCompoundType_V编译期类型判断
NBT_String.hpp
- 增加从它继承的父类类型构造它本身的接口
- 增加从
std::basic_string_view<char>、std::basic_string_view<char8_t>、std::basic_string_view<char16_t>、std::basic_string_view<wchar_t>构造的接口
NBT_Helper.hpp
- 修复输出到文件时
,与\b残留的问题
其它
- 部分Bug修复
- 部分注释修复
- 文档更新