Home

Awesome

Boost.Unordered

Branch CI Drone status Build status codecov Deps Documentation Enter the Matrix<br/> Branch CI Drone status Build status codecov Deps Documentation Enter the Matrix<br/> BSL 1.0 <img alt="C++11 required" src="https://img.shields.io/badge/standard-C%2b%2b11-blue.svg"> <img alt="Header-only library" src="https://img.shields.io/badge/build-header--only-blue.svg">

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

<ul>Fully conformant implementations of <code>std::unordered_[multi](set|map)</code>, but faster and up to the latest revisions of the standard even if you're working in an older version of C++ (heterogeneous lookup, <code>try_emplace</code>, <code>contains</code>, etc.)</ul>

boost::unordered_flat_set boost::unordered_flat_map

<ul>The fastest of the lot. Based on open addressing, these containers slightly deviate from the standard in exchange for top performance.</ul>

boost::unordered_node_set boost::unordered_node_map

<ul>Variations of <code>boost::unordered_flat_(set|map)</code> providing pointer stability.</ul>

boost::concurrent_flat_set boost::concurrent_flat_map

<ul>High performance for multithreaded scenarios. Introducing a new non-standard, iterator-free API.</ul>

Learn about Boost.Unordered

Get the library

Boost.Unordered can be installed in a number of ways:

[requires]
boost/[>=1.83.0]
<ul>If you're not using any compiled Boost library, the following will skip building altogether:</ul>
[options]
boost:header_only=True
vcpkg install boost-unordered

Support

Contribute