summaryrefslogtreecommitdiff
path: root/src/hash.hh
AgeCommit message (Collapse)Author
2024-02-06Use different hash algorithms for strings and file hashingMaxime Coste
For hash map, using fnv1a is faster as it is a much simpler algorithm we can afford to inline. For files murmur3 should win as it processes bytes 4 by 4.
2021-11-21Replace std::enable_if with requiresMaxime Coste
Introduce some concepts for enum and flags handling, goodbye and thanks for all the fish std::enable_if.
2019-01-24Header and dependency cleanupMaxime Coste
2017-10-20Constexprify various hash functionsMaxime Coste
2017-08-18Revert "Change HashCompatible trait to a variable template"Maxime Coste
This reverts commit b58f72315cbf7ee8921659dd129fd2f6a221bcfc. Unfortunately gcc-5.1 handling of variable template partial specializations is bugged.
2017-08-14Change HashCompatible trait to a variable templateMaxime Coste
2017-07-19More uses of standard type traits aliasesMaxime Coste
2017-07-19Migrate code to c++14Maxime Coste
2017-03-06Introduce a custom HashMap implementation along with a quick benchmarkMaxime Coste
2015-06-20Add a combine_hash helper functionMaxime Coste
2015-05-26Retreat ! go back to C++11 only codeMaxime Coste
This reverts commit b42de850314e7d76f873ddc7d64c5f7d2a30eb00.
2015-05-25Migrate code to c++14Maxime Coste
2015-02-07Use parameter pack to that the default hash_value is the worst matchMaxime Coste
2015-02-02Improve code compatibilityMaxime Coste
2014-12-16Rework hashing, use a more extensible framework similar to n3876 proposalMaxime Coste
std::hash specialization is a pain to work with, stop using that, and just specialize a 'size_t hash_value(const T&)' free function.