0.9.7: hash.hpp Source File

| 0.9.7

- Main Page
- Modules
- Files

- File List

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"
std
Definition: hash.hpp:70
glm
Definition: _noise.hpp:40