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
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
boost::unordered_node_set
boost::unordered_node_map
boost::unordered_flat_(set|map)
providing pointer stability.boost::concurrent_flat_set
boost::concurrent_flat_map
boost::concurrent_node_set
boost::concurrent_node_map
boost::concurrent_flat_(set|map)
providing pointer stability.Boost.Unordered can be installed in a number of ways:
conanfile.txt
(the example requires at least Boost 1.86):
[requires]
boost/[>=1.86.0]
[options]
boost:header_only=True
vcpkg install boost-unordered
[unordered]
tag at the beginning of the subject line)