#pragma once #include #include namespace mbgl { namespace util { template void hash_combine(std::size_t& seed, const T& v) { seed ^= std::hash()(v) + 0x9e3779b9 + (seed << 6) + (seed >> 2); } template std::size_t hash(Args&&... args) { std::size_t seed = 0; ignore({ (hash_combine(seed, args), 0)... }); return seed; } } // namespace util } // namespace mbgl