|  |  |  | @ -51,17 +51,17 @@ namespace detail | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | namespace std | 
			
		
	
		
			
				
					|  |  |  |  | { | 
			
		
	
		
			
				
					|  |  |  |  | 	template <typename T> | 
			
		
	
		
			
				
					|  |  |  |  | 	template <typename T, glm::precision P> | 
			
		
	
		
			
				
					|  |  |  |  | 	GLM_FUNC_QUALIFIER size_t | 
			
		
	
		
			
				
					|  |  |  |  | 	hash<glm::tvec1<T>>::operator()(const glm::tvec1<T> &v) const | 
			
		
	
		
			
				
					|  |  |  |  | 	hash<glm::tvec1<T,P>>::operator()(const glm::tvec1<T,P> &v) const | 
			
		
	
		
			
				
					|  |  |  |  | 	{ | 
			
		
	
		
			
				
					|  |  |  |  | 		hash<T> hasher; | 
			
		
	
		
			
				
					|  |  |  |  | 		return hasher(v.x); | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	template <typename T> | 
			
		
	
		
			
				
					|  |  |  |  | 	template <typename T, glm::precision P> | 
			
		
	
		
			
				
					|  |  |  |  | 	GLM_FUNC_QUALIFIER size_t | 
			
		
	
		
			
				
					|  |  |  |  | 	hash<glm::tvec2<T>>::operator()(const glm::tvec2<T> &v) const | 
			
		
	
		
			
				
					|  |  |  |  | 	hash<glm::tvec2<T,P>>::operator()(const glm::tvec2<T,P> &v) const | 
			
		
	
		
			
				
					|  |  |  |  | 	{ | 
			
		
	
		
			
				
					|  |  |  |  | 		size_t seed = 0; | 
			
		
	
		
			
				
					|  |  |  |  | 		hash<T> hasher; | 
			
		
	
	
		
			
				
					|  |  |  | @ -70,9 +70,9 @@ namespace std | 
			
		
	
		
			
				
					|  |  |  |  | 		return seed; | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	template <typename T> | 
			
		
	
		
			
				
					|  |  |  |  | 	template <typename T, glm::precision P> | 
			
		
	
		
			
				
					|  |  |  |  | 	GLM_FUNC_QUALIFIER size_t | 
			
		
	
		
			
				
					|  |  |  |  | 	hash<glm::tvec3<T>>::operator()(const glm::tvec3<T> &v) const | 
			
		
	
		
			
				
					|  |  |  |  | 	hash<glm::tvec3<T,P>>::operator()(const glm::tvec3<T,P> &v) const | 
			
		
	
		
			
				
					|  |  |  |  | 	{ | 
			
		
	
		
			
				
					|  |  |  |  | 		size_t seed = 0; | 
			
		
	
		
			
				
					|  |  |  |  | 		hash<T> hasher; | 
			
		
	
	
		
			
				
					|  |  |  | @ -82,9 +82,9 @@ namespace std | 
			
		
	
		
			
				
					|  |  |  |  | 		return seed; | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	template <typename T> | 
			
		
	
		
			
				
					|  |  |  |  | 	template <typename T, glm::precision P> | 
			
		
	
		
			
				
					|  |  |  |  | 	GLM_FUNC_QUALIFIER size_t | 
			
		
	
		
			
				
					|  |  |  |  | 	hash<glm::tvec4<T>>::operator()(const glm::tvec4<T> &v) const | 
			
		
	
		
			
				
					|  |  |  |  | 	hash<glm::tvec4<T,P>>::operator()(const glm::tvec4<T,P> &v) const | 
			
		
	
		
			
				
					|  |  |  |  | 	{ | 
			
		
	
		
			
				
					|  |  |  |  | 		size_t seed = 0; | 
			
		
	
		
			
				
					|  |  |  |  | 		hash<T> hasher; | 
			
		
	
	
		
			
				
					|  |  |  | @ -95,9 +95,9 @@ namespace std | 
			
		
	
		
			
				
					|  |  |  |  | 		return seed; | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	template <typename T> | 
			
		
	
		
			
				
					|  |  |  |  | 	template <typename T, glm::precision P> | 
			
		
	
		
			
				
					|  |  |  |  | 	GLM_FUNC_QUALIFIER size_t | 
			
		
	
		
			
				
					|  |  |  |  | 	hash<glm::tquat<T>>::operator()(const glm::tquat<T> &q) const | 
			
		
	
		
			
				
					|  |  |  |  | 	hash<glm::tquat<T,P>>::operator()(const glm::tquat<T,P> &q) const | 
			
		
	
		
			
				
					|  |  |  |  | 	{ | 
			
		
	
		
			
				
					|  |  |  |  | 		size_t seed = 0; | 
			
		
	
		
			
				
					|  |  |  |  | 		hash<T> hasher; | 
			
		
	
	
		
			
				
					|  |  |  | @ -108,81 +108,81 @@ namespace std | 
			
		
	
		
			
				
					|  |  |  |  | 		return seed; | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	template <typename T> | 
			
		
	
		
			
				
					|  |  |  |  | 	template <typename T, glm::precision P> | 
			
		
	
		
			
				
					|  |  |  |  | 	GLM_FUNC_QUALIFIER size_t | 
			
		
	
		
			
				
					|  |  |  |  | 	hash<glm::tmat2x2<T>>::operator()(const glm::tmat2x2<T> &m) const | 
			
		
	
		
			
				
					|  |  |  |  | 	hash<glm::tmat2x2<T,P>>::operator()(const glm::tmat2x2<T,P> &m) const | 
			
		
	
		
			
				
					|  |  |  |  | 	{ | 
			
		
	
		
			
				
					|  |  |  |  | 		size_t seed = 0; | 
			
		
	
		
			
				
					|  |  |  |  | 		hash<glm::tvec2<T>> hasher; | 
			
		
	
		
			
				
					|  |  |  |  | 		hash<glm::tvec2<T,P>> hasher; | 
			
		
	
		
			
				
					|  |  |  |  | 		glm::detail::hash_combine(seed, hasher(m[0])); | 
			
		
	
		
			
				
					|  |  |  |  | 		glm::detail::hash_combine(seed, hasher(m[1])); | 
			
		
	
		
			
				
					|  |  |  |  | 		return seed; | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	template <typename T> | 
			
		
	
		
			
				
					|  |  |  |  | 	template <typename T, glm::precision P> | 
			
		
	
		
			
				
					|  |  |  |  | 	GLM_FUNC_QUALIFIER size_t | 
			
		
	
		
			
				
					|  |  |  |  | 	hash<glm::tmat2x3<T>>::operator()(const glm::tmat2x3<T> &m) const | 
			
		
	
		
			
				
					|  |  |  |  | 	hash<glm::tmat2x3<T,P>>::operator()(const glm::tmat2x3<T,P> &m) const | 
			
		
	
		
			
				
					|  |  |  |  | 	{ | 
			
		
	
		
			
				
					|  |  |  |  | 		size_t seed = 0; | 
			
		
	
		
			
				
					|  |  |  |  | 		hash<glm::tvec3<T>> hasher; | 
			
		
	
		
			
				
					|  |  |  |  | 		hash<glm::tvec3<T,P>> hasher; | 
			
		
	
		
			
				
					|  |  |  |  | 		glm::detail::hash_combine(seed, hasher(m[0])); | 
			
		
	
		
			
				
					|  |  |  |  | 		glm::detail::hash_combine(seed, hasher(m[1])); | 
			
		
	
		
			
				
					|  |  |  |  | 		return seed; | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	template <typename T> | 
			
		
	
		
			
				
					|  |  |  |  | 	template <typename T, glm::precision P> | 
			
		
	
		
			
				
					|  |  |  |  | 	GLM_FUNC_QUALIFIER size_t | 
			
		
	
		
			
				
					|  |  |  |  | 	hash<glm::tmat2x4<T>>::operator()(const glm::tmat2x4<T> &m) const | 
			
		
	
		
			
				
					|  |  |  |  | 	hash<glm::tmat2x4<T,P>>::operator()(const glm::tmat2x4<T,P> &m) const | 
			
		
	
		
			
				
					|  |  |  |  | 	{ | 
			
		
	
		
			
				
					|  |  |  |  | 		size_t seed = 0; | 
			
		
	
		
			
				
					|  |  |  |  | 		hash<glm::tvec4<T>> hasher; | 
			
		
	
		
			
				
					|  |  |  |  | 		hash<glm::tvec4<T,P>> hasher; | 
			
		
	
		
			
				
					|  |  |  |  | 		glm::detail::hash_combine(seed, hasher(m[0])); | 
			
		
	
		
			
				
					|  |  |  |  | 		glm::detail::hash_combine(seed, hasher(m[1])); | 
			
		
	
		
			
				
					|  |  |  |  | 		return seed; | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	template <typename T> | 
			
		
	
		
			
				
					|  |  |  |  | 	template <typename T, glm::precision P> | 
			
		
	
		
			
				
					|  |  |  |  | 	GLM_FUNC_QUALIFIER size_t | 
			
		
	
		
			
				
					|  |  |  |  | 	hash<glm::tmat3x2<T>>::operator()(const glm::tmat3x2<T> &m) const | 
			
		
	
		
			
				
					|  |  |  |  | 	hash<glm::tmat3x2<T,P>>::operator()(const glm::tmat3x2<T,P> &m) const | 
			
		
	
		
			
				
					|  |  |  |  | 	{ | 
			
		
	
		
			
				
					|  |  |  |  | 		size_t seed = 0; | 
			
		
	
		
			
				
					|  |  |  |  | 		hash<glm::tvec2<T>> hasher; | 
			
		
	
		
			
				
					|  |  |  |  | 		hash<glm::tvec2<T,P>> hasher; | 
			
		
	
		
			
				
					|  |  |  |  | 		glm::detail::hash_combine(seed, hasher(m[0])); | 
			
		
	
		
			
				
					|  |  |  |  | 		glm::detail::hash_combine(seed, hasher(m[1])); | 
			
		
	
		
			
				
					|  |  |  |  | 		glm::detail::hash_combine(seed, hasher(m[2])); | 
			
		
	
		
			
				
					|  |  |  |  | 		return seed; | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	template <typename T> | 
			
		
	
		
			
				
					|  |  |  |  | 	template <typename T, glm::precision P> | 
			
		
	
		
			
				
					|  |  |  |  | 	GLM_FUNC_QUALIFIER size_t | 
			
		
	
		
			
				
					|  |  |  |  | 	hash<glm::tmat3x3<T>>::operator()(const glm::tmat3x3<T> &m) const | 
			
		
	
		
			
				
					|  |  |  |  | 	hash<glm::tmat3x3<T,P>>::operator()(const glm::tmat3x3<T,P> &m) const | 
			
		
	
		
			
				
					|  |  |  |  | 	{ | 
			
		
	
		
			
				
					|  |  |  |  | 		size_t seed = 0; | 
			
		
	
		
			
				
					|  |  |  |  | 		hash<glm::tvec3<T>> hasher; | 
			
		
	
		
			
				
					|  |  |  |  | 		hash<glm::tvec3<T,P>> hasher; | 
			
		
	
		
			
				
					|  |  |  |  | 		glm::detail::hash_combine(seed, hasher(m[0])); | 
			
		
	
		
			
				
					|  |  |  |  | 		glm::detail::hash_combine(seed, hasher(m[1])); | 
			
		
	
		
			
				
					|  |  |  |  | 		glm::detail::hash_combine(seed, hasher(m[2])); | 
			
		
	
		
			
				
					|  |  |  |  | 		return seed; | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	template <typename T> | 
			
		
	
		
			
				
					|  |  |  |  | 	template <typename T, glm::precision P> | 
			
		
	
		
			
				
					|  |  |  |  | 	GLM_FUNC_QUALIFIER size_t | 
			
		
	
		
			
				
					|  |  |  |  | 	hash<glm::tmat3x4<T>>::operator()(const glm::tmat3x4<T> &m) const | 
			
		
	
		
			
				
					|  |  |  |  | 	hash<glm::tmat3x4<T,P>>::operator()(const glm::tmat3x4<T,P> &m) const | 
			
		
	
		
			
				
					|  |  |  |  | 	{ | 
			
		
	
		
			
				
					|  |  |  |  | 		size_t seed = 0; | 
			
		
	
		
			
				
					|  |  |  |  | 		hash<glm::tvec4<T>> hasher; | 
			
		
	
		
			
				
					|  |  |  |  | 		hash<glm::tvec4<T,P>> hasher; | 
			
		
	
		
			
				
					|  |  |  |  | 		glm::detail::hash_combine(seed, hasher(m[0])); | 
			
		
	
		
			
				
					|  |  |  |  | 		glm::detail::hash_combine(seed, hasher(m[1])); | 
			
		
	
		
			
				
					|  |  |  |  | 		glm::detail::hash_combine(seed, hasher(m[2])); | 
			
		
	
		
			
				
					|  |  |  |  | 		return seed; | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	template <typename T> | 
			
		
	
		
			
				
					|  |  |  |  | 	template <typename T, glm::precision P> | 
			
		
	
		
			
				
					|  |  |  |  | 	GLM_FUNC_QUALIFIER size_t | 
			
		
	
		
			
				
					|  |  |  |  | 	hash<glm::tmat4x2<T>>::operator()(const glm::tmat4x2<T> &m) const | 
			
		
	
		
			
				
					|  |  |  |  | 	hash<glm::tmat4x2<T,P>>::operator()(const glm::tmat4x2<T,P> &m) const | 
			
		
	
		
			
				
					|  |  |  |  | 	{ | 
			
		
	
		
			
				
					|  |  |  |  | 		size_t seed = 0; | 
			
		
	
		
			
				
					|  |  |  |  | 		hash<glm::tvec2<T>> hasher; | 
			
		
	
		
			
				
					|  |  |  |  | 		hash<glm::tvec2<T,P>> hasher; | 
			
		
	
		
			
				
					|  |  |  |  | 		glm::detail::hash_combine(seed, hasher(m[0])); | 
			
		
	
		
			
				
					|  |  |  |  | 		glm::detail::hash_combine(seed, hasher(m[1])); | 
			
		
	
		
			
				
					|  |  |  |  | 		glm::detail::hash_combine(seed, hasher(m[2])); | 
			
		
	
	
		
			
				
					|  |  |  | @ -190,12 +190,12 @@ namespace std | 
			
		
	
		
			
				
					|  |  |  |  | 		return seed; | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	template <typename T> | 
			
		
	
		
			
				
					|  |  |  |  | 	template <typename T, glm::precision P> | 
			
		
	
		
			
				
					|  |  |  |  | 	GLM_FUNC_QUALIFIER size_t | 
			
		
	
		
			
				
					|  |  |  |  | 	hash<glm::tmat4x3<T>>::operator()(const glm::tmat4x3<T> &m) const | 
			
		
	
		
			
				
					|  |  |  |  | 	hash<glm::tmat4x3<T,P>>::operator()(const glm::tmat4x3<T,P> &m) const | 
			
		
	
		
			
				
					|  |  |  |  | 	{ | 
			
		
	
		
			
				
					|  |  |  |  | 		size_t seed = 0; | 
			
		
	
		
			
				
					|  |  |  |  | 		hash<glm::tvec3<T>> hasher; | 
			
		
	
		
			
				
					|  |  |  |  | 		hash<glm::tvec3<T,P>> hasher; | 
			
		
	
		
			
				
					|  |  |  |  | 		glm::detail::hash_combine(seed, hasher(m[0])); | 
			
		
	
		
			
				
					|  |  |  |  | 		glm::detail::hash_combine(seed, hasher(m[1])); | 
			
		
	
		
			
				
					|  |  |  |  | 		glm::detail::hash_combine(seed, hasher(m[2])); | 
			
		
	
	
		
			
				
					|  |  |  | @ -203,12 +203,12 @@ namespace std | 
			
		
	
		
			
				
					|  |  |  |  | 		return seed; | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	template <typename T> | 
			
		
	
		
			
				
					|  |  |  |  | 	template <typename T, glm::precision P> | 
			
		
	
		
			
				
					|  |  |  |  | 	GLM_FUNC_QUALIFIER size_t | 
			
		
	
		
			
				
					|  |  |  |  | 	hash<glm::tmat4x4<T>>::operator()(const glm::tmat4x4<T> &m) const | 
			
		
	
		
			
				
					|  |  |  |  | 	hash<glm::tmat4x4<T,P>>::operator()(const glm::tmat4x4<T,P> &m) const | 
			
		
	
		
			
				
					|  |  |  |  | 	{ | 
			
		
	
		
			
				
					|  |  |  |  | 		size_t seed = 0; | 
			
		
	
		
			
				
					|  |  |  |  | 		hash<glm::tvec4<T>> hasher; | 
			
		
	
		
			
				
					|  |  |  |  | 		hash<glm::tvec4<T,P>> hasher; | 
			
		
	
		
			
				
					|  |  |  |  | 		glm::detail::hash_combine(seed, hasher(m[0])); | 
			
		
	
		
			
				
					|  |  |  |  | 		glm::detail::hash_combine(seed, hasher(m[1])); | 
			
		
	
		
			
				
					|  |  |  |  | 		glm::detail::hash_combine(seed, hasher(m[2])); | 
			
		
	
	
		
			
				
					|  |  |  | 
 |