@ -11,11 +11,11 @@
namespace glm {
namespace detail
{
template < length_t L , typename R , typename T , qualifier Q >
template < template < length_t L , typename T , qualifier Q > class vec , length_t L , typename R , typename T , qualifier Q >
struct functor1 { } ;
template < typename R , typename T , qualifier Q >
struct functor1 < 1 , R , T , Q >
template < template < length_t L , typename T , qualifier Q > class vec , t ypename R , typename T , qualifier Q >
struct functor1 < vec , 1 , R , T , Q >
{
GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX11 static vec < 1 , R , Q > call ( R ( * Func ) ( T x ) , vec < 1 , T , Q > const & v )
{
@ -23,8 +23,8 @@ namespace detail
}
} ;
template < typename R , typename T , qualifier Q >
struct functor1 < 2 , R , T , Q >
template < template < length_t L , typename T , qualifier Q > class vec , t ypename R , typename T , qualifier Q >
struct functor1 < vec , 2 , R , T , Q >
{
GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX11 static vec < 2 , R , Q > call ( R ( * Func ) ( T x ) , vec < 2 , T , Q > const & v )
{
@ -32,8 +32,8 @@ namespace detail
}
} ;
template < typename R , typename T , qualifier Q >
struct functor1 < 3 , R , T , Q >
template < template < length_t L , typename T , qualifier Q > class vec , t ypename R , typename T , qualifier Q >
struct functor1 < vec , 3 , R , T , Q >
{
GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX11 static vec < 3 , R , Q > call ( R ( * Func ) ( T x ) , vec < 3 , T , Q > const & v )
{
@ -41,8 +41,8 @@ namespace detail
}
} ;
template < typename R , typename T , qualifier Q >
struct functor1 < 4 , R , T , Q >
template < template < length_t L , typename T , qualifier Q > class vec , t ypename R , typename T , qualifier Q >
struct functor1 < vec , 4 , R , T , Q >
{
GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX11 static vec < 4 , R , Q > call ( R ( * Func ) ( T x ) , vec < 4 , T , Q > const & v )
{
@ -50,11 +50,11 @@ namespace detail
}
} ;
template < length_t L , typename T , qualifier Q >
template < template < length_t L , typename T , qualifier Q > class vec , length_t L , typename T , qualifier Q >
struct functor2 { } ;
template < typename T , qualifier Q >
struct functor2 < 1 , T , Q >
template < template < length_t L , typename T , qualifier Q > class vec , t ypename T , qualifier Q >
struct functor2 < vec , 1 , T , Q >
{
GLM_FUNC_QUALIFIER static vec < 1 , T , Q > call ( T ( * Func ) ( T x , T y ) , vec < 1 , T , Q > const & a , vec < 1 , T , Q > const & b )
{
@ -62,8 +62,8 @@ namespace detail
}
} ;
template < typename T , qualifier Q >
struct functor2 < 2 , T , Q >
template < template < length_t L , typename T , qualifier Q > class vec , t ypename T , qualifier Q >
struct functor2 < vec , 2 , T , Q >
{
GLM_FUNC_QUALIFIER static vec < 2 , T , Q > call ( T ( * Func ) ( T x , T y ) , vec < 2 , T , Q > const & a , vec < 2 , T , Q > const & b )
{
@ -71,8 +71,8 @@ namespace detail
}
} ;
template < typename T , qualifier Q >
struct functor2 < 3 , T , Q >
template < template < length_t L , typename T , qualifier Q > class vec , t ypename T , qualifier Q >
struct functor2 < vec , 3 , T , Q >
{
GLM_FUNC_QUALIFIER static vec < 3 , T , Q > call ( T ( * Func ) ( T x , T y ) , vec < 3 , T , Q > const & a , vec < 3 , T , Q > const & b )
{
@ -80,8 +80,8 @@ namespace detail
}
} ;
template < typename T , qualifier Q >
struct functor2 < 4 , T , Q >
template < template < length_t L , typename T , qualifier Q > class vec , t ypename T , qualifier Q >
struct functor2 < vec , 4 , T , Q >
{
GLM_FUNC_QUALIFIER static vec < 4 , T , Q > call ( T ( * Func ) ( T x , T y ) , vec < 4 , T , Q > const & a , vec < 4 , T , Q > const & b )
{
@ -89,11 +89,11 @@ namespace detail
}
} ;
template < length_t L , typename T , qualifier Q >
template < template < length_t L , typename T , qualifier Q > class vec , length_t L , typename T , qualifier Q >
struct functor2_vec_sca { } ;
template < typename T , qualifier Q >
struct functor2_vec_sca < 1 , T , Q >
template < template < length_t L , typename T , qualifier Q > class vec , t ypename T , qualifier Q >
struct functor2_vec_sca < vec , 1 , T , Q >
{
GLM_FUNC_QUALIFIER static vec < 1 , T , Q > call ( T ( * Func ) ( T x , T y ) , vec < 1 , T , Q > const & a , T b )
{
@ -101,8 +101,8 @@ namespace detail
}
} ;
template < typename T , qualifier Q >
struct functor2_vec_sca < 2 , T , Q >
template < template < length_t L , typename T , qualifier Q > class vec , t ypename T , qualifier Q >
struct functor2_vec_sca < vec , 2 , T , Q >
{
GLM_FUNC_QUALIFIER static vec < 2 , T , Q > call ( T ( * Func ) ( T x , T y ) , vec < 2 , T , Q > const & a , T b )
{
@ -110,8 +110,8 @@ namespace detail
}
} ;
template < typename T , qualifier Q >
struct functor2_vec_sca < 3 , T , Q >
template < template < length_t L , typename T , qualifier Q > class vec , t ypename T , qualifier Q >
struct functor2_vec_sca < vec , 3 , T , Q >
{
GLM_FUNC_QUALIFIER static vec < 3 , T , Q > call ( T ( * Func ) ( T x , T y ) , vec < 3 , T , Q > const & a , T b )
{
@ -119,8 +119,8 @@ namespace detail
}
} ;
template < typename T , qualifier Q >
struct functor2_vec_sca < 4 , T , Q >
template < template < length_t L , typename T , qualifier Q > class vec , t ypename T , qualifier Q >
struct functor2_vec_sca < vec , 4 , T , Q >
{
GLM_FUNC_QUALIFIER static vec < 4 , T , Q > call ( T ( * Func ) ( T x , T y ) , vec < 4 , T , Q > const & a , T b )
{