20 lines
		
	
	
		
			395 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			20 lines
		
	
	
		
			395 B
		
	
	
	
		
			C++
		
	
	
	
	
	
 | 
						|
 | 
						|
#pragma once
 | 
						|
 | 
						|
#if !defined(MIJIN_UTIL_HASH_HPP_INCLUDED)
 | 
						|
#define MIJIN_UTIL_HASH_HPP_INCLUDED 1
 | 
						|
 | 
						|
#include <functional>
 | 
						|
 | 
						|
namespace mijin
 | 
						|
{
 | 
						|
template<typename T, typename THasher = std::hash<T>>
 | 
						|
inline void hashCombine(std::size_t& seed, const T& value, const THasher& hasher = {})
 | 
						|
{
 | 
						|
    seed ^= hasher(value) + 0x9e3779b9 + (seed << 6) + (seed >> 2);
 | 
						|
}
 | 
						|
}
 | 
						|
 | 
						|
#endif // MIJIN_UTIL_HASH_HPP_INCLUDED
 |