Skip to content

boostorg/unordered

Repository files navigation

Boost.Unordered

Branch 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 C++11 required Header-only library

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

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

Support

Contribute