joaquintides 15cfef6967
Fixed support for allocators with explicit copy constructors (#234)
* added tests for explicit allocators

* made explicit_alloc_ctor_tests work
by adhering to the principle that classes templated with Allocator should accept exactly Allocator objects

* removed TMP machinery older compilers choke about

* initialized variables

* updated release notes

* fixed PR number
2024-02-17 18:58:48 +01:00
2023-02-24 08:59:45 +01:00
2022-06-09 11:04:20 +02:00
2023-01-12 01:35:35 +02:00
2018-04-15 22:39:33 +01:00
2023-11-30 17:40:41 +02:00
2022-02-01 02:35:29 +02:00
2022-06-09 10:40:52 +02:00
2023-11-19 18:45:21 +01:00

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

Description
Boost.org unordered module
Readme BSL-1.0 31 MiB
Languages
C++ 98.7%
Python 0.7%
CMake 0.5%