17 #include "../vec2.hpp"
18 #include "../vec3.hpp"
19 #include "../vec4.hpp"
20 #include "../gtc/vec1.hpp"
22 #include "../gtc/quaternion.hpp"
23 #include "../gtx/dual_quaternion.hpp"
25 #include "../mat2x2.hpp"
26 #include "../mat2x3.hpp"
27 #include "../mat2x4.hpp"
29 #include "../mat3x2.hpp"
30 #include "../mat3x3.hpp"
31 #include "../mat3x4.hpp"
33 #include "../mat4x2.hpp"
34 #include "../mat4x3.hpp"
35 #include "../mat4x4.hpp"
37 #if !GLM_HAS_CXX11_STL
38 # error "GLM_GTX_hash requires C++11 standard library support"
43 template <
typename T, glm::precision P>
44 struct hash<
glm::tvec1<T,P> >
46 GLM_FUNC_DECL
size_t operator()(glm::tvec1<T, P>
const & v)
const;
49 template <
typename T, glm::precision P>
50 struct hash<
glm::tvec2<T,P> >
52 GLM_FUNC_DECL
size_t operator()(glm::tvec2<T, P>
const & v)
const;
55 template <
typename T, glm::precision P>
56 struct hash<
glm::tvec3<T,P> >
58 GLM_FUNC_DECL
size_t operator()(glm::tvec3<T, P>
const & v)
const;
61 template <
typename T, glm::precision P>
62 struct hash<
glm::tvec4<T,P> >
64 GLM_FUNC_DECL
size_t operator()(glm::tvec4<T, P>
const & v)
const;
67 template <
typename T, glm::precision P>
68 struct hash<
glm::tquat<T,P>>
70 GLM_FUNC_DECL
size_t operator()(glm::tquat<T, P>
const & q)
const;
73 template <
typename T, glm::precision P>
74 struct hash<
glm::tdualquat<T,P> >
76 GLM_FUNC_DECL
size_t operator()(glm::tdualquat<T,P>
const & q)
const;
79 template <
typename T, glm::precision P>
80 struct hash<
glm::tmat2x2<T,P> >
82 GLM_FUNC_DECL
size_t operator()(glm::tmat2x2<T,P>
const & m)
const;
85 template <
typename T, glm::precision P>
86 struct hash<
glm::tmat2x3<T,P> >
88 GLM_FUNC_DECL
size_t operator()(glm::tmat2x3<T,P>
const & m)
const;
91 template <
typename T, glm::precision P>
92 struct hash<
glm::tmat2x4<T,P> >
94 GLM_FUNC_DECL
size_t operator()(glm::tmat2x4<T,P>
const & m)
const;
97 template <
typename T, glm::precision P>
98 struct hash<
glm::tmat3x2<T,P> >
100 GLM_FUNC_DECL
size_t operator()(glm::tmat3x2<T,P>
const & m)
const;
103 template <
typename T, glm::precision P>
104 struct hash<
glm::tmat3x3<T,P> >
106 GLM_FUNC_DECL
size_t operator()(glm::tmat3x3<T,P>
const & m)
const;
109 template <
typename T, glm::precision P>
110 struct hash<
glm::tmat3x4<T,P> >
112 GLM_FUNC_DECL
size_t operator()(glm::tmat3x4<T,P>
const & m)
const;
115 template <
typename T, glm::precision P>
116 struct hash<
glm::tmat4x2<T,P> >
118 GLM_FUNC_DECL
size_t operator()(glm::tmat4x2<T,P>
const & m)
const;
121 template <
typename T, glm::precision P>
122 struct hash<
glm::tmat4x3<T,P> >
124 GLM_FUNC_DECL
size_t operator()(glm::tmat4x3<T,P>
const & m)
const;
127 template <
typename T, glm::precision P>
128 struct hash<
glm::tmat4x4<T,P> >
130 GLM_FUNC_DECL
size_t operator()(glm::tmat4x4<T,P>
const & m)
const;