src/utility.h

changeset 196
6bcb284679d4
parent 141
185eb297dc1e
child 200
ca23936b455b
--- a/src/utility.h	Wed May 25 17:48:18 2022 +0300
+++ b/src/utility.h	Wed May 25 17:56:30 2022 +0300
@@ -21,12 +21,6 @@
 
 namespace utility
 {
-	template<typename T, std::size_t N>
-	constexpr std::size_t countof(T(&)[N])
-	{
-		return N;
-	}
-
 	// http://stackoverflow.com/a/18204188/3629665
 	template<typename T>
 	inline T rotl10(T x)
@@ -65,12 +59,6 @@
 		return string;
 	}
 
-	template<typename T, typename R>
-	bool contains(T&& container, R&& value)
-	{
-		return std::find(std::begin(container), std::end(container), value) != std::end(container);
-	}
-
 	/**
 	 * @brief Converts the specified vertex to a simple string
 	 * @param vertex vertex to convert
@@ -86,3 +74,9 @@
 		return utility::format("(%1, %2, %3)", vertex.x, vertex.y, vertex.z);
 	}
 }
+
+template<typename T, glm::qualifier Q>
+inline unsigned int qHash(const glm::vec<3, T, Q>& key)
+{
+	return qHash(key.x) ^ utility::rotl10(qHash(key.y)) ^ utility::rotl20(qHash(key.z));
+}

mercurial