JSON for Modern C++ 3.10.5 发布,现代 C++ 的 JSON 库
JSON for Modern C++ 3.10.5 发布了,它在 C++ 下使用的 JSON 库。
去年 10 月的 3.10.4 版本引入了将 std::filesystem 对象和 JSON 相互转换的功能支持,当时是假设任何支持 C++17 的编译器都会有适当的文件系统支持,但现在看来并非如此。因此在最新的 3.10.5 版本引入了预处理器检查(以及对应方法),确保在检测到编译器支持此功能时才编译转换。
完整更新内容如下:
Bug 修复
(将 JSON_HAS_FILESYSTEM 和 JSON_HAS_EXPERIMENTAL_FILESYSTEM 设置为 0 ,可以完全不使用此功能)
Warnings
改进
- 向
update函数添加参数,以递归地合并具有公共键的对象。#3006 #3069 - 扩展
std::hash和std::swap以专门为nlohmann::basic_json工作,而不限于nlohmann::json。#3121
其他变更
测试和 CI
- 更新 CI 以使用 Clang 14、GCC 6 和 Clang-Tidy 14 #3088
- 更新 cpplint。#3225
- 为 Nvidia CUDA 编译器 (NVCC) 添加构建步骤。#3227
- 删除 Travis CI。#3087 #3233
- 使用 C++17 编译并执行测试套件。#3101
此外还有一些文档变更,细节可查看更新公告:https://github.com/nlohmann/json/releases/tag/v3.10.5