Skip to content

File hash.hpp

File List > atlas > core > utilities > hash.hpp

Go to the documentation of this file

#pragma once
#include <cstdint>
#include <unordered_map>

namespace atlas {
    template<typename T, typename... Rest>
    void hash_combine(size_t& seed, const T& v, const Rest&... rest) {
        seed ^= std::hash<T>()(v) + 0x9e3779b9 + (seed << 6) + (seed << 2);
        (hash_combine(seed, rest), ...);
    }

};