dice-hash
Hash function for stl types and container
|
Home of the DiceHash implementation. More...
#include "dice/hash/internal/Container_trait.hpp"
#include "dice/hash/internal/DiceHashPolicies.hpp"
#include <cstring>
#include <map>
#include <memory>
#include <set>
#include <span>
#include <string>
#include <string_view>
#include <tuple>
#include <unordered_map>
#include <unordered_set>
#include <utility>
#include <variant>
#include <vector>
Go to the source code of this file.
Classes | |
struct | dice::hash::dice_hash_overload< Policy, T > |
Helper struct for defining the hash for custom structs. More... | |
struct | dice::hash::dice_hash_overload< Policy, T >::AlwaysFalse< typename > |
Helper type. More... | |
class | dice::hash::dice_hash_templates< Policy > |
Class which contains all dice_hash functions. More... | |
struct | dice::hash::DiceHash< T, Policy > |
Wrapper class for the dice::hash::dice_hash function. More... | |
Namespaces | |
namespace | dice::hash |
Home of the DiceHash. | |
Typedefs | |
template<typename T > | |
using | dice::hash::DiceHashMartinus = DiceHash< T, Policies::Martinus > |
template<typename T > | |
using | dice::hash::DiceHashxxh3 = DiceHash< T, Policies::xxh3 > |
template<typename T > | |
using | dice::hash::DiceHashwyhash = DiceHash< T, Policies::wyhash > |
Home of the DiceHash implementation.
To speed up tests of the Hypertrie and Tentris we needed to be able to serialize a Hypertrie and save it. However the last hash function was not "stable", i.e. it chose two different random seeds, so the results differed. Because of that (and to not worry about versioning problems) this hash function was created.