本次发布
依赖项
Boost.Unordered
Boost.Unordered 提供了一个具有不同标准合规级别、性能和预期使用场景的哈希容器目录
boost::unordered_set
boost::unordered_map
boost::unordered_multiset
boost::unordered_multimap
- 完全符合标准的
std::unordered_[multi](set|map)
实现,但速度更快,并且即使您正在使用旧版本的 C++,也能支持最新的标准修订(异构查找、try_emplace
、contains
等)boost::unordered_flat_set
boost::unordered_flat_map
- 这些是其中最快的。基于开放寻址,这些容器为了获得顶级性能,在标准上略有偏差。
boost::unordered_node_set
boost::unordered_node_map
boost::unordered_flat_(set|map)
的变体,提供指针稳定性。boost::concurrent_flat_set
boost::concurrent_flat_map
- 为多线程场景提供高性能。引入了新的非标准、无迭代器的 API。
boost::concurrent_node_set
boost::concurrent_node_map
boost::concurrent_flat_(set|map)
的变体,提供指针稳定性。了解 Boost.Unordered
Boost.Unordered 可以通过多种方式安装
- 下载 Boost 即可开始使用(这是一个仅头文件库,无需编译)。
- 使用 Conan 2:如果您还没有安装,请在您的
conanfile.txt
中添加 Boost 条目(示例要求至少 Boost 1.86)
[requires]
boost/[>=1.86.0]
- 如果您不使用任何编译的 Boost 库,以下操作将跳过编译
[options]
boost:header_only=True
- 使用 vcpkg:执行命令
vcpkg install boost-unordered
- 使用 CMake:Boost CMake 支持基础设施允许您直接使用 CMake 下载、构建和使用所有 Boost 或特定库。
支持
- 加入 #boost-unordered 讨论组:cpplang.slack.com (如果您还不是该工作区的成员,请申请邀请)
- 在 Boost 用户邮件列表中提问(请在主题行开头添加
[unordered]
标签) - 提交问题
贡献
- 非常欢迎对 develop 分支提交拉取请求。请注意,提交补丁即表示您同意根据 Boost 软件许可证,1.0 版许可您的修改。