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;