Source: hopscotch-map Section: libdevel Priority: optional Maintainer: Debian Med Packaging Team Uploaders: Michael R. Crusoe Build-Depends: debhelper-compat (= 13), cmake, libboost-test-dev Standards-Version: 4.5.0 Vcs-Browser: https://salsa.debian.org/med-team/hopscotch-map Vcs-Git: https://salsa.debian.org/med-team/hopscotch-map.git Homepage: https://github.com/Tessil/hopscotch-map/ Rules-Requires-Root: no Package: libtsl-hopscotch-map-dev Architecture: all Multi-Arch: foreign Depends: ${misc:Depends} Description: C++ fast hash map and hash set using hopscotch hashing The hopscotch-map library is a C++ implementation of a fast hash map and hash set using open-addressing and hopscotch hashing to resolve collisions. It is a cache-friendly data structure offering better performances than `std::unordered_map` in most cases and is closely similar to `google::dense_hash_map` while using less memory and providing more functionalities. . The library provides the following main classes: `tsl::hopscotch_map`, `tsl::hopscotch_set`, `tsl::hopscotch_pg_map` and `tsl::hopscotch_pg_set`. The first two are faster and use a power of two growth policy, the last two use a prime growth policy instead and are able to cope better with a poor hash function. Use the prime version if there is a chance of repeating patterns in the lower bits of your hash (e.g. you are storing pointers with an identity hash function). . In addition to these classes the library also provides `tsl::bhopscotch_map`, `tsl::bhopscotch_set`, `tsl::bhopscotch_pg_map` and `tsl::bhopscotch_pg_set`. These classes have an additional requirement for the key, it must be `LessThanComparable`, but they provide a better asymptotic upper bound. Nonetheless if you don't have specific requirements (risk of hash DoS attacks), `tsl::hopscotch_map` and `tsl::hopscotch_set` should be sufficient in most cases and should be your default pick as they perform better in general.