diff --git a/glm/detail/setup.hpp b/glm/detail/setup.hpp index eac2148f..38563336 100644 --- a/glm/detail/setup.hpp +++ b/glm/detail/setup.hpp @@ -575,21 +575,16 @@ # define GLM_VECTOR_CALL #endif//GLM_COMPILER -#if GLM_HAS_DEFAULTED_FUNCTIONS +/////////////////////////////////////////////////////////////////////////////////// + +#ifdef GLM_FORCE_NO_CTOR_INIT +# undef GLM_FORCE_CTOR_INIT +#endif + +#if GLM_HAS_DEFAULTED_FUNCTIONS && !defined(GLM_FORCE_CTOR_INIT) # define GLM_DEFAULT = default - -# ifdef GLM_FORCE_NO_CTOR_INIT -# undef GLM_FORCE_CTOR_INIT -# endif - -# ifdef GLM_FORCE_CTOR_INIT -# define GLM_DEFAULT_CTOR -# else -# define GLM_DEFAULT_CTOR = default -# endif #else # define GLM_DEFAULT -# define GLM_DEFAULT_CTOR #endif /////////////////////////////////////////////////////////////////////////////////// diff --git a/glm/detail/type_mat2x2.hpp b/glm/detail/type_mat2x2.hpp index fbcc5d88..96d01b1e 100644 --- a/glm/detail/type_mat2x2.hpp +++ b/glm/detail/type_mat2x2.hpp @@ -34,7 +34,7 @@ namespace glm // -- Constructors -- - GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat() GLM_DEFAULT_CTOR; + GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat() GLM_DEFAULT; template GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat(mat<2, 2, T, P> const& m); diff --git a/glm/detail/type_mat2x3.hpp b/glm/detail/type_mat2x3.hpp index aa0cd322..fffd6ae5 100644 --- a/glm/detail/type_mat2x3.hpp +++ b/glm/detail/type_mat2x3.hpp @@ -35,7 +35,7 @@ namespace glm // -- Constructors -- - GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat() GLM_DEFAULT_CTOR; + GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat() GLM_DEFAULT; template GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat(mat<2, 3, T, P> const& m); diff --git a/glm/detail/type_mat2x4.hpp b/glm/detail/type_mat2x4.hpp index 59e3520c..47ebab7f 100644 --- a/glm/detail/type_mat2x4.hpp +++ b/glm/detail/type_mat2x4.hpp @@ -35,7 +35,7 @@ namespace glm // -- Constructors -- - GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat() GLM_DEFAULT_CTOR; + GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat() GLM_DEFAULT; template GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat(mat<2, 4, T, P> const& m); diff --git a/glm/detail/type_mat3x2.hpp b/glm/detail/type_mat3x2.hpp index 54dbe5a3..bab1670d 100644 --- a/glm/detail/type_mat3x2.hpp +++ b/glm/detail/type_mat3x2.hpp @@ -35,7 +35,7 @@ namespace glm // -- Constructors -- - GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat() GLM_DEFAULT_CTOR; + GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat() GLM_DEFAULT; template GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat(mat<3, 2, T, P> const& m); diff --git a/glm/detail/type_mat3x3.hpp b/glm/detail/type_mat3x3.hpp index c5eb6945..b988f511 100644 --- a/glm/detail/type_mat3x3.hpp +++ b/glm/detail/type_mat3x3.hpp @@ -34,7 +34,7 @@ namespace glm // -- Constructors -- - GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat() GLM_DEFAULT_CTOR; + GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat() GLM_DEFAULT; template GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat(mat<3, 3, T, P> const& m); diff --git a/glm/detail/type_mat3x4.hpp b/glm/detail/type_mat3x4.hpp index eeeb720a..e81cba66 100644 --- a/glm/detail/type_mat3x4.hpp +++ b/glm/detail/type_mat3x4.hpp @@ -35,7 +35,7 @@ namespace glm // -- Constructors -- - GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat() GLM_DEFAULT_CTOR; + GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat() GLM_DEFAULT; template GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat(mat<3, 4, T, P> const& m); diff --git a/glm/detail/type_mat4x2.hpp b/glm/detail/type_mat4x2.hpp index c355ac9a..bf474946 100644 --- a/glm/detail/type_mat4x2.hpp +++ b/glm/detail/type_mat4x2.hpp @@ -35,7 +35,7 @@ namespace glm // -- Constructors -- - GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat() GLM_DEFAULT_CTOR; + GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat() GLM_DEFAULT; template GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat(mat<4, 2, T, P> const& m); diff --git a/glm/detail/type_mat4x3.hpp b/glm/detail/type_mat4x3.hpp index cbc3c6bf..c06a7243 100644 --- a/glm/detail/type_mat4x3.hpp +++ b/glm/detail/type_mat4x3.hpp @@ -35,7 +35,7 @@ namespace glm // -- Constructors -- - GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat() GLM_DEFAULT_CTOR; + GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat() GLM_DEFAULT; template GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat(mat<4, 3, T, P> const& m); diff --git a/glm/detail/type_mat4x4.hpp b/glm/detail/type_mat4x4.hpp index cbcdba6d..32c8526e 100644 --- a/glm/detail/type_mat4x4.hpp +++ b/glm/detail/type_mat4x4.hpp @@ -34,7 +34,7 @@ namespace glm // -- Constructors -- - GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat() GLM_DEFAULT_CTOR; + GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat() GLM_DEFAULT; template GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat(mat<4, 4, T, P> const& m); diff --git a/glm/detail/type_vec2.hpp b/glm/detail/type_vec2.hpp index 1f251011..e779f7f9 100644 --- a/glm/detail/type_vec2.hpp +++ b/glm/detail/type_vec2.hpp @@ -65,7 +65,7 @@ namespace glm // -- Implicit basic constructors -- - GLM_FUNC_DECL GLM_CONSTEXPR_CXX11 vec() GLM_DEFAULT_CTOR; + GLM_FUNC_DECL GLM_CONSTEXPR_CXX11 vec() GLM_DEFAULT; GLM_FUNC_DECL GLM_CONSTEXPR_CXX11 vec(vec const& v) GLM_DEFAULT; template GLM_FUNC_DECL GLM_CONSTEXPR_CXX11 vec(vec<2, T, P> const& v); @@ -114,80 +114,80 @@ namespace glm // -- Unary arithmetic operators -- - GLM_FUNC_DECL vec& operator=(vec const& v); + GLM_FUNC_DECL vec<2, T, Q> & operator=(vec const& v); template - GLM_FUNC_DECL vec& operator=(vec<2, U, Q> const& v); + GLM_FUNC_DECL vec<2, T, Q> & operator=(vec<2, U, Q> const& v); template - GLM_FUNC_DECL vec& operator+=(U scalar); + GLM_FUNC_DECL vec<2, T, Q> & operator+=(U scalar); template - GLM_FUNC_DECL vec& operator+=(vec<1, U, Q> const& v); + GLM_FUNC_DECL vec<2, T, Q> & operator+=(vec<1, U, Q> const& v); template - GLM_FUNC_DECL vec& operator+=(vec<2, U, Q> const& v); + GLM_FUNC_DECL vec<2, T, Q> & operator+=(vec<2, U, Q> const& v); template - GLM_FUNC_DECL vec& operator-=(U scalar); + GLM_FUNC_DECL vec<2, T, Q> & operator-=(U scalar); template - GLM_FUNC_DECL vec& operator-=(vec<1, U, Q> const& v); + GLM_FUNC_DECL vec<2, T, Q> & operator-=(vec<1, U, Q> const& v); template - GLM_FUNC_DECL vec& operator-=(vec<2, U, Q> const& v); + GLM_FUNC_DECL vec<2, T, Q> & operator-=(vec<2, U, Q> const& v); template - GLM_FUNC_DECL vec& operator*=(U scalar); + GLM_FUNC_DECL vec<2, T, Q> & operator*=(U scalar); template - GLM_FUNC_DECL vec& operator*=(vec<1, U, Q> const& v); + GLM_FUNC_DECL vec<2, T, Q> & operator*=(vec<1, U, Q> const& v); template - GLM_FUNC_DECL vec& operator*=(vec<2, U, Q> const& v); + GLM_FUNC_DECL vec<2, T, Q> & operator*=(vec<2, U, Q> const& v); template - GLM_FUNC_DECL vec& operator/=(U scalar); + GLM_FUNC_DECL vec<2, T, Q> & operator/=(U scalar); template - GLM_FUNC_DECL vec& operator/=(vec<1, U, Q> const& v); + GLM_FUNC_DECL vec<2, T, Q> & operator/=(vec<1, U, Q> const& v); template - GLM_FUNC_DECL vec& operator/=(vec<2, U, Q> const& v); + GLM_FUNC_DECL vec<2, T, Q> & operator/=(vec<2, U, Q> const& v); // -- Increment and decrement operators -- - GLM_FUNC_DECL vec & operator++(); - GLM_FUNC_DECL vec & operator--(); - GLM_FUNC_DECL vec operator++(int); - GLM_FUNC_DECL vec operator--(int); + GLM_FUNC_DECL vec<2, T, Q> & operator++(); + GLM_FUNC_DECL vec<2, T, Q> & operator--(); + GLM_FUNC_DECL vec<2, T, Q> operator++(int); + GLM_FUNC_DECL vec<2, T, Q> operator--(int); // -- Unary bit operators -- template - GLM_FUNC_DECL vec & operator%=(U scalar); + GLM_FUNC_DECL vec<2, T, Q> & operator%=(U scalar); template - GLM_FUNC_DECL vec & operator%=(vec<1, U, Q> const& v); + GLM_FUNC_DECL vec<2, T, Q> & operator%=(vec<1, U, Q> const& v); template - GLM_FUNC_DECL vec & operator%=(vec<2, U, Q> const& v); + GLM_FUNC_DECL vec<2, T, Q> & operator%=(vec<2, U, Q> const& v); template - GLM_FUNC_DECL vec & operator&=(U scalar); + GLM_FUNC_DECL vec<2, T, Q> & operator&=(U scalar); template - GLM_FUNC_DECL vec & operator&=(vec<1, U, Q> const& v); + GLM_FUNC_DECL vec<2, T, Q> & operator&=(vec<1, U, Q> const& v); template - GLM_FUNC_DECL vec & operator&=(vec<2, U, Q> const& v); + GLM_FUNC_DECL vec<2, T, Q> & operator&=(vec<2, U, Q> const& v); template - GLM_FUNC_DECL vec & operator|=(U scalar); + GLM_FUNC_DECL vec<2, T, Q> & operator|=(U scalar); template - GLM_FUNC_DECL vec & operator|=(vec<1, U, Q> const& v); + GLM_FUNC_DECL vec<2, T, Q> & operator|=(vec<1, U, Q> const& v); template - GLM_FUNC_DECL vec & operator|=(vec<2, U, Q> const& v); + GLM_FUNC_DECL vec<2, T, Q> & operator|=(vec<2, U, Q> const& v); template - GLM_FUNC_DECL vec & operator^=(U scalar); + GLM_FUNC_DECL vec<2, T, Q> & operator^=(U scalar); template - GLM_FUNC_DECL vec & operator^=(vec<1, U, Q> const& v); + GLM_FUNC_DECL vec<2, T, Q> & operator^=(vec<1, U, Q> const& v); template - GLM_FUNC_DECL vec & operator^=(vec<2, U, Q> const& v); + GLM_FUNC_DECL vec<2, T, Q> & operator^=(vec<2, U, Q> const& v); template - GLM_FUNC_DECL vec & operator<<=(U scalar); + GLM_FUNC_DECL vec<2, T, Q> & operator<<=(U scalar); template - GLM_FUNC_DECL vec & operator<<=(vec<1, U, Q> const& v); + GLM_FUNC_DECL vec<2, T, Q> & operator<<=(vec<1, U, Q> const& v); template - GLM_FUNC_DECL vec & operator<<=(vec<2, U, Q> const& v); + GLM_FUNC_DECL vec<2, T, Q> & operator<<=(vec<2, U, Q> const& v); template - GLM_FUNC_DECL vec & operator>>=(U scalar); + GLM_FUNC_DECL vec<2, T, Q> & operator>>=(U scalar); template - GLM_FUNC_DECL vec & operator>>=(vec<1, U, Q> const& v); + GLM_FUNC_DECL vec<2, T, Q> & operator>>=(vec<1, U, Q> const& v); template - GLM_FUNC_DECL vec & operator>>=(vec<2, U, Q> const& v); + GLM_FUNC_DECL vec<2, T, Q> & operator>>=(vec<2, U, Q> const& v); }; // -- Unary operators -- diff --git a/glm/detail/type_vec3.hpp b/glm/detail/type_vec3.hpp index 212b7f67..38279001 100644 --- a/glm/detail/type_vec3.hpp +++ b/glm/detail/type_vec3.hpp @@ -66,7 +66,7 @@ namespace glm // -- Implicit basic constructors -- - GLM_FUNC_DECL GLM_CONSTEXPR_CXX11 vec() GLM_DEFAULT_CTOR; + GLM_FUNC_DECL GLM_CONSTEXPR_CXX11 vec() GLM_DEFAULT; GLM_FUNC_DECL GLM_CONSTEXPR_CXX11 vec(vec const& v) GLM_DEFAULT; template GLM_FUNC_DECL GLM_CONSTEXPR_CXX11 vec(vec<3, T, P> const& v); @@ -144,80 +144,80 @@ namespace glm // -- Unary arithmetic operators -- - GLM_FUNC_DECL vec & operator=(vec const& v); + GLM_FUNC_DECL vec<3, T, Q>& operator=(vec<3, T, Q> const& v); template - GLM_FUNC_DECL vec & operator=(vec<3, U, Q> const& v); + GLM_FUNC_DECL vec<3, T, Q> & operator=(vec<3, U, Q> const& v); template - GLM_FUNC_DECL vec & operator+=(U scalar); + GLM_FUNC_DECL vec<3, T, Q> & operator+=(U scalar); template - GLM_FUNC_DECL vec & operator+=(vec<1, U, Q> const& v); + GLM_FUNC_DECL vec<3, T, Q> & operator+=(vec<1, U, Q> const& v); template - GLM_FUNC_DECL vec & operator+=(vec<3, U, Q> const& v); + GLM_FUNC_DECL vec<3, T, Q> & operator+=(vec<3, U, Q> const& v); template - GLM_FUNC_DECL vec & operator-=(U scalar); + GLM_FUNC_DECL vec<3, T, Q> & operator-=(U scalar); template - GLM_FUNC_DECL vec & operator-=(vec<1, U, Q> const& v); + GLM_FUNC_DECL vec<3, T, Q> & operator-=(vec<1, U, Q> const& v); template - GLM_FUNC_DECL vec & operator-=(vec<3, U, Q> const& v); + GLM_FUNC_DECL vec<3, T, Q> & operator-=(vec<3, U, Q> const& v); template - GLM_FUNC_DECL vec & operator*=(U scalar); + GLM_FUNC_DECL vec<3, T, Q> & operator*=(U scalar); template - GLM_FUNC_DECL vec & operator*=(vec<1, U, Q> const& v); + GLM_FUNC_DECL vec<3, T, Q> & operator*=(vec<1, U, Q> const& v); template - GLM_FUNC_DECL vec & operator*=(vec<3, U, Q> const& v); + GLM_FUNC_DECL vec<3, T, Q> & operator*=(vec<3, U, Q> const& v); template - GLM_FUNC_DECL vec & operator/=(U scalar); + GLM_FUNC_DECL vec<3, T, Q> & operator/=(U scalar); template - GLM_FUNC_DECL vec & operator/=(vec<1, U, Q> const& v); + GLM_FUNC_DECL vec<3, T, Q> & operator/=(vec<1, U, Q> const& v); template - GLM_FUNC_DECL vec & operator/=(vec<3, U, Q> const& v); + GLM_FUNC_DECL vec<3, T, Q> & operator/=(vec<3, U, Q> const& v); // -- Increment and decrement operators -- - GLM_FUNC_DECL vec & operator++(); - GLM_FUNC_DECL vec & operator--(); - GLM_FUNC_DECL vec operator++(int); - GLM_FUNC_DECL vec operator--(int); + GLM_FUNC_DECL vec<3, T, Q> & operator++(); + GLM_FUNC_DECL vec<3, T, Q> & operator--(); + GLM_FUNC_DECL vec<3, T, Q> operator++(int); + GLM_FUNC_DECL vec<3, T, Q> operator--(int); // -- Unary bit operators -- template - GLM_FUNC_DECL vec & operator%=(U scalar); + GLM_FUNC_DECL vec<3, T, Q> & operator%=(U scalar); template - GLM_FUNC_DECL vec & operator%=(vec<1, U, Q> const& v); + GLM_FUNC_DECL vec<3, T, Q> & operator%=(vec<1, U, Q> const& v); template - GLM_FUNC_DECL vec & operator%=(vec<3, U, Q> const& v); + GLM_FUNC_DECL vec<3, T, Q> & operator%=(vec<3, U, Q> const& v); template - GLM_FUNC_DECL vec & operator&=(U scalar); + GLM_FUNC_DECL vec<3, T, Q> & operator&=(U scalar); template - GLM_FUNC_DECL vec & operator&=(vec<1, U, Q> const& v); + GLM_FUNC_DECL vec<3, T, Q> & operator&=(vec<1, U, Q> const& v); template - GLM_FUNC_DECL vec & operator&=(vec<3, U, Q> const& v); + GLM_FUNC_DECL vec<3, T, Q> & operator&=(vec<3, U, Q> const& v); template - GLM_FUNC_DECL vec & operator|=(U scalar); + GLM_FUNC_DECL vec<3, T, Q> & operator|=(U scalar); template - GLM_FUNC_DECL vec & operator|=(vec<1, U, Q> const& v); + GLM_FUNC_DECL vec<3, T, Q> & operator|=(vec<1, U, Q> const& v); template - GLM_FUNC_DECL vec & operator|=(vec<3, U, Q> const& v); + GLM_FUNC_DECL vec<3, T, Q> & operator|=(vec<3, U, Q> const& v); template - GLM_FUNC_DECL vec & operator^=(U scalar); + GLM_FUNC_DECL vec<3, T, Q> & operator^=(U scalar); template - GLM_FUNC_DECL vec & operator^=(vec<1, U, Q> const& v); + GLM_FUNC_DECL vec<3, T, Q> & operator^=(vec<1, U, Q> const& v); template - GLM_FUNC_DECL vec & operator^=(vec<3, U, Q> const& v); + GLM_FUNC_DECL vec<3, T, Q> & operator^=(vec<3, U, Q> const& v); template - GLM_FUNC_DECL vec & operator<<=(U scalar); + GLM_FUNC_DECL vec<3, T, Q> & operator<<=(U scalar); template - GLM_FUNC_DECL vec & operator<<=(vec<1, U, Q> const& v); + GLM_FUNC_DECL vec<3, T, Q> & operator<<=(vec<1, U, Q> const& v); template - GLM_FUNC_DECL vec & operator<<=(vec<3, U, Q> const& v); + GLM_FUNC_DECL vec<3, T, Q> & operator<<=(vec<3, U, Q> const& v); template - GLM_FUNC_DECL vec & operator>>=(U scalar); + GLM_FUNC_DECL vec<3, T, Q> & operator>>=(U scalar); template - GLM_FUNC_DECL vec & operator>>=(vec<1, U, Q> const& v); + GLM_FUNC_DECL vec<3, T, Q> & operator>>=(vec<1, U, Q> const& v); template - GLM_FUNC_DECL vec & operator>>=(vec<3, U, Q> const& v); + GLM_FUNC_DECL vec<3, T, Q> & operator>>=(vec<3, U, Q> const& v); }; // -- Unary operators -- diff --git a/glm/detail/type_vec4.hpp b/glm/detail/type_vec4.hpp index 52eae4ec..19df2af4 100644 --- a/glm/detail/type_vec4.hpp +++ b/glm/detail/type_vec4.hpp @@ -67,7 +67,7 @@ namespace glm // -- Implicit basic constructors -- - GLM_FUNC_DECL GLM_CONSTEXPR_CXX11 vec() GLM_DEFAULT_CTOR; + GLM_FUNC_DECL GLM_CONSTEXPR_CXX11 vec() GLM_DEFAULT; GLM_FUNC_DECL GLM_CONSTEXPR_CXX11 vec(vec<4, T, Q> const& v) GLM_DEFAULT; template GLM_FUNC_DECL GLM_CONSTEXPR_CXX11 vec(vec<4, T, P> const& v); diff --git a/glm/ext/vec1.hpp b/glm/ext/vec1.hpp index 2162cf02..4d6134d0 100644 --- a/glm/ext/vec1.hpp +++ b/glm/ext/vec1.hpp @@ -83,7 +83,7 @@ namespace glm // -- Implicit basic constructors -- - GLM_FUNC_DECL GLM_CONSTEXPR_CXX11 vec() GLM_DEFAULT_CTOR; + GLM_FUNC_DECL GLM_CONSTEXPR_CXX11 vec() GLM_DEFAULT; GLM_FUNC_DECL GLM_CONSTEXPR_CXX11 vec(vec const& v) GLM_DEFAULT; template GLM_FUNC_DECL GLM_CONSTEXPR_CXX11 vec(vec<1, T, P> const& v); @@ -120,60 +120,60 @@ namespace glm */ // -- Unary arithmetic operators -- - GLM_FUNC_DECL vec & operator=(vec const& v); + GLM_FUNC_DECL vec<1, T, Q> & operator=(vec const& v); template - GLM_FUNC_DECL vec & operator=(vec<1, U, Q> const& v); + GLM_FUNC_DECL vec<1, T, Q> & operator=(vec<1, U, Q> const& v); template - GLM_FUNC_DECL vec & operator+=(U scalar); + GLM_FUNC_DECL vec<1, T, Q> & operator+=(U scalar); template - GLM_FUNC_DECL vec & operator+=(vec<1, U, Q> const& v); + GLM_FUNC_DECL vec<1, T, Q> & operator+=(vec<1, U, Q> const& v); template - GLM_FUNC_DECL vec & operator-=(U scalar); + GLM_FUNC_DECL vec<1, T, Q> & operator-=(U scalar); template - GLM_FUNC_DECL vec & operator-=(vec<1, U, Q> const& v); + GLM_FUNC_DECL vec<1, T, Q> & operator-=(vec<1, U, Q> const& v); template - GLM_FUNC_DECL vec & operator*=(U scalar); + GLM_FUNC_DECL vec<1, T, Q> & operator*=(U scalar); template - GLM_FUNC_DECL vec & operator*=(vec<1, U, Q> const& v); + GLM_FUNC_DECL vec<1, T, Q> & operator*=(vec<1, U, Q> const& v); template - GLM_FUNC_DECL vec & operator/=(U scalar); + GLM_FUNC_DECL vec<1, T, Q> & operator/=(U scalar); template - GLM_FUNC_DECL vec & operator/=(vec<1, U, Q> const& v); + GLM_FUNC_DECL vec<1, T, Q> & operator/=(vec<1, U, Q> const& v); // -- Increment and decrement operators -- - GLM_FUNC_DECL vec & operator++(); - GLM_FUNC_DECL vec & operator--(); - GLM_FUNC_DECL vec operator++(int); - GLM_FUNC_DECL vec operator--(int); + GLM_FUNC_DECL vec<1, T, Q> & operator++(); + GLM_FUNC_DECL vec<1, T, Q> & operator--(); + GLM_FUNC_DECL vec<1, T, Q> operator++(int); + GLM_FUNC_DECL vec<1, T, Q> operator--(int); // -- Unary bit operators -- template - GLM_FUNC_DECL vec & operator%=(U scalar); + GLM_FUNC_DECL vec<1, T, Q> & operator%=(U scalar); template - GLM_FUNC_DECL vec & operator%=(vec<1, U, Q> const& v); + GLM_FUNC_DECL vec<1, T, Q> & operator%=(vec<1, U, Q> const& v); template - GLM_FUNC_DECL vec & operator&=(U scalar); + GLM_FUNC_DECL vec<1, T, Q> & operator&=(U scalar); template - GLM_FUNC_DECL vec & operator&=(vec<1, U, Q> const& v); + GLM_FUNC_DECL vec<1, T, Q> & operator&=(vec<1, U, Q> const& v); template - GLM_FUNC_DECL vec & operator|=(U scalar); + GLM_FUNC_DECL vec<1, T, Q> & operator|=(U scalar); template - GLM_FUNC_DECL vec & operator|=(vec<1, U, Q> const& v); + GLM_FUNC_DECL vec<1, T, Q> & operator|=(vec<1, U, Q> const& v); template - GLM_FUNC_DECL vec & operator^=(U scalar); + GLM_FUNC_DECL vec<1, T, Q> & operator^=(U scalar); template - GLM_FUNC_DECL vec & operator^=(vec<1, U, Q> const& v); + GLM_FUNC_DECL vec<1, T, Q> & operator^=(vec<1, U, Q> const& v); template - GLM_FUNC_DECL vec & operator<<=(U scalar); + GLM_FUNC_DECL vec<1, T, Q> & operator<<=(U scalar); template - GLM_FUNC_DECL vec & operator<<=(vec<1, U, Q> const& v); + GLM_FUNC_DECL vec<1, T, Q> & operator<<=(vec<1, U, Q> const& v); template - GLM_FUNC_DECL vec & operator>>=(U scalar); + GLM_FUNC_DECL vec<1, T, Q> & operator>>=(U scalar); template - GLM_FUNC_DECL vec & operator>>=(vec<1, U, Q> const& v); + GLM_FUNC_DECL vec<1, T, Q> & operator>>=(vec<1, U, Q> const& v); }; // -- Unary operators -- diff --git a/glm/gtc/quaternion.hpp b/glm/gtc/quaternion.hpp index daf7be58..ff3becb5 100644 --- a/glm/gtc/quaternion.hpp +++ b/glm/gtc/quaternion.hpp @@ -59,7 +59,7 @@ namespace glm // -- Implicit basic constructors -- - GLM_FUNC_DECL GLM_CONSTEXPR_CXX11 tquat() GLM_DEFAULT_CTOR; + GLM_FUNC_DECL GLM_CONSTEXPR_CXX11 tquat() GLM_DEFAULT; GLM_FUNC_DECL GLM_CONSTEXPR_CXX11 tquat(tquat const& q) GLM_DEFAULT; template GLM_FUNC_DECL GLM_CONSTEXPR_CXX11 tquat(tquat const& q); diff --git a/glm/gtx/dual_quaternion.hpp b/glm/gtx/dual_quaternion.hpp index bb161ed7..6b65117f 100644 --- a/glm/gtx/dual_quaternion.hpp +++ b/glm/gtx/dual_quaternion.hpp @@ -56,24 +56,24 @@ namespace glm // -- Implicit basic constructors -- - GLM_FUNC_DECL GLM_CONSTEXPR_CXX11 tdualquat() GLM_DEFAULT_CTOR; - GLM_FUNC_DECL GLM_CONSTEXPR_CXX11 tdualquat(tdualquat const& d) GLM_DEFAULT; + GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 tdualquat() GLM_DEFAULT; + GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 tdualquat(tdualquat const& d) GLM_DEFAULT; template - GLM_FUNC_DECL GLM_CONSTEXPR_CXX11 tdualquat(tdualquat const& d); + GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 tdualquat(tdualquat const& d); // -- Explicit basic constructors -- - GLM_FUNC_DECL GLM_CONSTEXPR_CXX11 tdualquat(tquat const& real); - GLM_FUNC_DECL GLM_CONSTEXPR_CXX11 tdualquat(tquat const& orientation, vec<3, T, Q> const& translation); - GLM_FUNC_DECL GLM_CONSTEXPR_CXX11 tdualquat(tquat const& real, tquat const& dual); + GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 tdualquat(tquat const& real); + GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 tdualquat(tquat const& orientation, vec<3, T, Q> const& translation); + GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 tdualquat(tquat const& real, tquat const& dual); // -- Conversion constructors -- template - GLM_FUNC_DECL GLM_CONSTEXPR_CXX11 GLM_EXPLICIT tdualquat(tdualquat const& q); + GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 GLM_EXPLICIT tdualquat(tdualquat const& q); - GLM_FUNC_DECL GLM_EXPLICIT tdualquat(mat<2, 4, T, Q> const& holder_mat); - GLM_FUNC_DECL GLM_EXPLICIT tdualquat(mat<3, 4, T, Q> const& aug_mat); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CXX14 tdualquat(mat<2, 4, T, Q> const& holder_mat); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR_CXX14 tdualquat(mat<3, 4, T, Q> const& aug_mat); // -- Unary arithmetic operators -- diff --git a/glm/gtx/dual_quaternion.inl b/glm/gtx/dual_quaternion.inl index bdc4acab..86b7a8a7 100644 --- a/glm/gtx/dual_quaternion.inl +++ b/glm/gtx/dual_quaternion.inl @@ -36,7 +36,7 @@ namespace glm # if !GLM_HAS_DEFAULTED_FUNCTIONS template - GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX11 tdualquat::tdualquat(tdualquat const& d) + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX14 tdualquat::tdualquat(tdualquat const& d) : real(d.real) , dual(d.dual) {} @@ -44,7 +44,7 @@ namespace glm template template - GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX11 tdualquat::tdualquat(tdualquat const& d) + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX14 tdualquat::tdualquat(tdualquat const& d) : real(d.real) , dual(d.dual) {} @@ -52,12 +52,12 @@ namespace glm // -- Explicit basic constructors -- template - GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX11 tdualquat::tdualquat(tquat const& r) + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX14 tdualquat::tdualquat(tquat const& r) : real(r), dual(tquat(0, 0, 0, 0)) {} template - GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX11 tdualquat::tdualquat(tquat const& q, vec<3, T, Q> const& p) + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX14 tdualquat::tdualquat(tquat const& q, vec<3, T, Q> const& p) : real(q), dual( T(-0.5) * ( p.x*q.x + p.y*q.y + p.z*q.z), T(+0.5) * ( p.x*q.w + p.y*q.z - p.z*q.y), @@ -66,7 +66,7 @@ namespace glm {} template - GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX11 tdualquat::tdualquat(tquat const& r, tquat const& d) + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX14 tdualquat::tdualquat(tquat const& r, tquat const& d) : real(r), dual(d) {} @@ -74,19 +74,19 @@ namespace glm template template - GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX11 tdualquat::tdualquat(tdualquat const& q) + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX14 tdualquat::tdualquat(tdualquat const& q) : real(q.real) , dual(q.dual) {} template - GLM_FUNC_QUALIFIER tdualquat::tdualquat(mat<2, 4, T, Q> const& m) + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX14 tdualquat::tdualquat(mat<2, 4, T, Q> const& m) { *this = dualquat_cast(m); } template - GLM_FUNC_QUALIFIER tdualquat::tdualquat(mat<3, 4, T, Q> const& m) + GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX14 tdualquat::tdualquat(mat<3, 4, T, Q> const& m) { *this = dualquat_cast(m); }