C++
11
Added in Boost
1.36.0
Categories:
Containers
Unordered associative containers.
This Release
Daniel James
Daniel James
Author
Joaquin M. López Muñoz
Joaquin M. López Muñoz
Maintainer
Christian Mazakas
Christian Mazakas
Maintainer
braden
braden
Contributor
Peter Dimov
Peter Dimov
Contributor
Dependencies
Assert
Config
Container Hash
Core
Mp11
Predef
ThrowException
Boost.Unordered
Header-only libraryC++11 requiredBranch CI Drone status Build status codecov Deps Documentation Enter the Matrix
Branch CI Drone status Build status codecov Deps Documentation Enter the Matrix
BSL 1.0
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.
boost::concurrent_node_set
boost::concurrent_node_map
- Variations of
boost::concurrent_flat_(set|map)
providing pointer stability.Learn about Boost.Unordered
- Online documentation
- Some benchmarks
- Technical articles on Boost.Unordered internal design:
- Debugging visualizers for Boost.Unordered:
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.86):
[requires]
boost/[>=1.86.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.
All Time
Daniel James
Daniel James
Contributor
Rene Rivera
Rene Rivera
Contributor
Beman Dawes
Beman Dawes
Contributor
Marshall Clow
Marshall Clow
Contributor
Alexander Grund
Alexander Grund
Contributor
Troy D. Straszheim
Troy D. Straszheim
Contributor
John Maddock
John Maddock
Contributor
sdarwin
sdarwin
Contributor
Michael A. Jackson
Michael A. Jackson
Contributor
Edward Diener
Edward Diener
Contributor
Zoey Greer
Zoey Greer
Contributor
Dmitry
Dmitry
Contributor
Stephen Kelly
Stephen Kelly
Contributor
Daniela Engert
Daniela Engert
Contributor
Adam Wulkiewicz
Adam Wulkiewicz
Contributor
NamaNamazu
NamaNamazu
Contributor
Flamefire
Flamefire
Contributor
Glen Fernandes
Glen Fernandes
Contributor
Chris Needham
Chris Needham
Contributor
LeonineKing1199
LeonineKing1199
Contributor
Chris Elrod
Chris Elrod
Contributor