diff --git a/glm/core/type_vec1.hpp b/glm/core/type_vec1.hpp index 5dcbca88f..ffd8da1cb 100644 --- a/glm/core/type_vec1.hpp +++ b/glm/core/type_vec1.hpp @@ -41,6 +41,7 @@ namespace glm typedef T value_type; typedef std::size_t size_type; + GLM_FUNC_DECL size_type length() const; static GLM_FUNC_DECL size_type value_size(); typedef tvec1 type; diff --git a/glm/core/type_vec1.inl b/glm/core/type_vec1.inl index 5fba5b806..df0d1ada9 100644 --- a/glm/core/type_vec1.inl +++ b/glm/core/type_vec1.inl @@ -11,6 +11,12 @@ namespace glm { namespace detail { + template + GLM_FUNC_QUALIFIER typename tvec1::size_type tvec1::length() const + { + return 1; + } + template GLM_FUNC_QUALIFIER typename tvec1::size_type tvec1::value_size() { diff --git a/glm/core/type_vec2.hpp b/glm/core/type_vec2.hpp index 47e384def..29d641ce8 100644 --- a/glm/core/type_vec2.hpp +++ b/glm/core/type_vec2.hpp @@ -41,6 +41,7 @@ namespace glm typedef T value_type; typedef std::size_t size_type; + GLM_FUNC_DECL size_type length() const; static GLM_FUNC_DECL size_type value_size(); typedef tvec2 type; diff --git a/glm/core/type_vec2.inl b/glm/core/type_vec2.inl index 03e038b9c..b9fc67cba 100644 --- a/glm/core/type_vec2.inl +++ b/glm/core/type_vec2.inl @@ -11,6 +11,12 @@ namespace glm { namespace detail { + template + GLM_FUNC_QUALIFIER typename tvec2::size_type tvec2::length() const + { + return 2; + } + template GLM_FUNC_QUALIFIER typename tvec2::size_type tvec2::value_size() { diff --git a/glm/core/type_vec3.hpp b/glm/core/type_vec3.hpp index 7ea1cbfa8..1e06a7837 100644 --- a/glm/core/type_vec3.hpp +++ b/glm/core/type_vec3.hpp @@ -40,6 +40,7 @@ namespace glm typedef T value_type; typedef std::size_t size_type; + GLM_FUNC_DECL size_type length() const; static GLM_FUNC_DECL size_type value_size(); typedef tvec3 type; diff --git a/glm/core/type_vec3.inl b/glm/core/type_vec3.inl index d9795d6cb..f7e9bfb50 100644 --- a/glm/core/type_vec3.inl +++ b/glm/core/type_vec3.inl @@ -11,6 +11,12 @@ namespace glm { namespace detail { + template + GLM_FUNC_QUALIFIER typename tvec3::size_type tvec3::length() const + { + return 3; + } + template GLM_FUNC_QUALIFIER typename tvec3::size_type tvec3::value_size() { diff --git a/glm/core/type_vec4.hpp b/glm/core/type_vec4.hpp index 25135de43..354cd5b77 100644 --- a/glm/core/type_vec4.hpp +++ b/glm/core/type_vec4.hpp @@ -40,6 +40,7 @@ namespace glm typedef T value_type; typedef std::size_t size_type; + GLM_FUNC_DECL size_type length() const; static GLM_FUNC_DECL size_type value_size(); typedef tvec4 type; diff --git a/glm/core/type_vec4.inl b/glm/core/type_vec4.inl index e4c28f16e..52e16d8a4 100644 --- a/glm/core/type_vec4.inl +++ b/glm/core/type_vec4.inl @@ -11,6 +11,12 @@ namespace glm { namespace detail { + template + GLM_FUNC_QUALIFIER typename tvec4::size_type tvec4::length() const + { + return 4; + } + template GLM_FUNC_QUALIFIER typename tvec4::size_type tvec4::value_size() {