0.9.7
hash.hpp
Go to the documentation of this file.
1 
42 #pragma once
43 
44 #if !GLM_HAS_CXX11_STL
45 # error "GLM_GTX_hash requires C++11 standard library support"
46 #endif
47 
48 #include <functional>
49 
50 #include "../vec2.hpp"
51 #include "../vec3.hpp"
52 #include "../vec4.hpp"
53 #include "../gtc/vec1.hpp"
54 
55 #include "../gtc/quaternion.hpp"
56 #include "../gtx/dual_quaternion.hpp"
57 
58 #include "../mat2x2.hpp"
59 #include "../mat2x3.hpp"
60 #include "../mat2x4.hpp"
61 
62 #include "../mat3x2.hpp"
63 #include "../mat3x3.hpp"
64 #include "../mat3x4.hpp"
65 
66 #include "../mat4x2.hpp"
67 #include "../mat4x3.hpp"
68 #include "../mat4x4.hpp"
69 
70 namespace std
71 {
72  template <typename T, glm::precision P>
73  struct hash<glm::tvec1<T,P>>
74  {
75  GLM_FUNC_DECL size_t operator()(const glm::tvec1<T,P> &v) const;
76  };
77 
78  template <typename T, glm::precision P>
79  struct hash<glm::tvec2<T,P>>
80  {
81  GLM_FUNC_DECL size_t operator()(const glm::tvec2<T,P> &v) const;
82  };
83 
84  template <typename T, glm::precision P>
85  struct hash<glm::tvec3<T,P>>
86  {
87  GLM_FUNC_DECL size_t operator()(const glm::tvec3<T,P> &v) const;
88  };
89 
90  template <typename T, glm::precision P>
91  struct hash<glm::tvec4<T,P>>
92  {
93  GLM_FUNC_DECL size_t operator()(const glm::tvec4<T,P> &v) const;
94  };
95 
96  template <typename T, glm::precision P>
97  struct hash<glm::tquat<T,P>>
98  {
99  GLM_FUNC_DECL size_t operator()(const glm::tquat<T,P> &q) const;
100  };
101 
102  template <typename T, glm::precision P>
103  struct hash<glm::tdualquat<T,P>>
104  {
105  GLM_FUNC_DECL size_t operator()(const glm::tdualquat<T,P> &q) const;
106  };
107 
108  template <typename T, glm::precision P>
109  struct hash<glm::tmat2x2<T,P>>
110  {
111  GLM_FUNC_DECL size_t operator()(const glm::tmat2x2<T,P> &m) const;
112  };
113 
114  template <typename T, glm::precision P>
115  struct hash<glm::tmat2x3<T,P>>
116  {
117  GLM_FUNC_DECL size_t operator()(const glm::tmat2x3<T,P> &m) const;
118  };
119 
120  template <typename T, glm::precision P>
121  struct hash<glm::tmat2x4<T,P>>
122  {
123  GLM_FUNC_DECL size_t operator()(const glm::tmat2x4<T,P> &m) const;
124  };
125 
126  template <typename T, glm::precision P>
127  struct hash<glm::tmat3x2<T,P>>
128  {
129  GLM_FUNC_DECL size_t operator()(const glm::tmat3x2<T,P> &m) const;
130  };
131 
132  template <typename T, glm::precision P>
133  struct hash<glm::tmat3x3<T,P>>
134  {
135  GLM_FUNC_DECL size_t operator()(const glm::tmat3x3<T,P> &m) const;
136  };
137 
138  template <typename T, glm::precision P>
139  struct hash<glm::tmat3x4<T,P>>
140  {
141  GLM_FUNC_DECL size_t operator()(const glm::tmat3x4<T,P> &m) const;
142  };
143 
144  template <typename T, glm::precision P>
145  struct hash<glm::tmat4x2<T,P>>
146  {
147  GLM_FUNC_DECL size_t operator()(const glm::tmat4x2<T,P> &m) const;
148  };
149 
150  template <typename T, glm::precision P>
151  struct hash<glm::tmat4x3<T,P>>
152  {
153  GLM_FUNC_DECL size_t operator()(const glm::tmat4x3<T,P> &m) const;
154  };
155 
156  template <typename T, glm::precision P>
157  struct hash<glm::tmat4x4<T,P>>
158  {
159  GLM_FUNC_DECL size_t operator()(const glm::tmat4x4<T,P> &m) const;
160  };
161 } // namespace std
162 
163 #include "hash.inl"
Definition: hash.hpp:70
Definition: _noise.hpp:40