Boost.Unordered
This is an older version and was released in 2023. The current version is 1.86.0
C++
11
Added in Boost
1.36.0
Categories:
Containers
Unordered associative containers.
Maintainers & Contributors
Adam Wulkiewicz
Alexander Grund
Beman Dawes
Braden Ganetsky
Braden Ganetsky
Chris Elrod
Chris Needham
Christian Mazakas
Daniel James
Daniela Engert
Dmitry
Edward Diener
Flamefire
Glen Fernandes
Joaquín M. López Muñoz
John Maddock
LeonineKing1199
Marshall Clow
Michael A. Jackson
NamaNamazu
Peter Dimov
Rene Rivera
sdarwin
Stephen Kelly
Troy D. Straszheim
Zoey Greer
Boost.Unordered
Boost.Unordered offers a catalog of hash containers with different standards compliance levels, performances and intented usage scenarios:
boost::unordered_set
boost::unordered_map
boost::unordered_multiset
boost::unordered_multimap
- Fully conformant implementations of
std::unordered_[multi](set|map)
,
but faster and up to the latest revisions of the standard even if you're working in an older version of C++ (heterogeneous lookup,
try_emplace
, contains
, etc.)boost::unordered_flat_set
boost::unordered_flat_map
- The fastest of the lot. Based on open addressing, these containers slightly
deviate from the standard in exchange for top performance.
boost::unordered_node_set
boost::unordered_node_map
- Variations of
boost::unordered_flat_(set|map)
providing pointer stability.boost::concurrent_flat_set
boost::concurrent_flat_map
- High performance for multithreaded scenarios. Introducing a new non-standard, iterator-free API.
Learn about Boost.Unordered
- Online documentation
- Some benchmarks
- Technical articles on Boost.Unordered internal design:
Get the library
Boost.Unordered can be installed in a number of ways:
- Download Boost and you're ready to go (this is a header-only library requiring no building).
- Using Conan 2: In case you don't have it yet, add an entry for Boost in your
conanfile.txt
(the example requires at least Boost 1.83):
[requires]
boost/[>=1.83.0]
- If you're not using any compiled Boost library, the following will skip building altogether:
[options]
boost:header_only=True
- Using vcpkg: Execute the command
vcpkg install boost-unordered
- Using CMake: Boost CMake support infrastructure allows you to use CMake directly to download, build and consume all of Boost or some specific libraries.
Support
- Join the #boost-unordered discussion group at cpplang.slack.com (ask for an invite if you’re not a member of this workspace yet)
- Ask in the Boost Users mailing list
(add the
[unordered]
tag at the beginning of the subject line) - File an issue
Contribute
- Pull requests against develop branch are most welcome. Note that by submitting patches you agree to license your modifications under the Boost Software License, Version 1.0.