diff --git a/glm/detail/type_vec3.hpp b/glm/detail/type_vec3.hpp index b6bde237..4120a96b 100644 --- a/glm/detail/type_vec3.hpp +++ b/glm/detail/type_vec3.hpp @@ -170,18 +170,26 @@ namespace detail template GLM_FUNC_DECL tvec3 & operator+=(U s); template + GLM_FUNC_DECL tvec3 & operator+=(tvec1 const & v); + template GLM_FUNC_DECL tvec3 & operator+=(tvec3 const & v); template GLM_FUNC_DECL tvec3 & operator-=(U s); template + GLM_FUNC_DECL tvec3 & operator-=(tvec1 const & v); + template GLM_FUNC_DECL tvec3 & operator-=(tvec3 const & v); template GLM_FUNC_DECL tvec3 & operator*=(U s); template + GLM_FUNC_DECL tvec3 & operator*=(tvec1 const & v); + template GLM_FUNC_DECL tvec3 & operator*=(tvec3 const & v); template GLM_FUNC_DECL tvec3 & operator/=(U s); template + GLM_FUNC_DECL tvec3 & operator/=(tvec1 const & v); + template GLM_FUNC_DECL tvec3 & operator/=(tvec3 const & v); ////////////////////////////////////// @@ -198,62 +206,98 @@ namespace detail template GLM_FUNC_DECL tvec3 & operator%= (U s); template + GLM_FUNC_DECL tvec3 & operator%= (tvec1 const & v); + template GLM_FUNC_DECL tvec3 & operator%= (tvec3 const & v); template GLM_FUNC_DECL tvec3 & operator&= (U s); template + GLM_FUNC_DECL tvec3 & operator&= (tvec1 const & v); + template GLM_FUNC_DECL tvec3 & operator&= (tvec3 const & v); template GLM_FUNC_DECL tvec3 & operator|= (U s); template + GLM_FUNC_DECL tvec3 & operator|= (tvec1 const & v); + template GLM_FUNC_DECL tvec3 & operator|= (tvec3 const & v); template GLM_FUNC_DECL tvec3 & operator^= (U s); template + GLM_FUNC_DECL tvec3 & operator^= (tvec1 const & v); + template GLM_FUNC_DECL tvec3 & operator^= (tvec3 const & v); template GLM_FUNC_DECL tvec3 & operator<<=(U s); template + GLM_FUNC_DECL tvec3 & operator<<=(tvec1 const & v); + template GLM_FUNC_DECL tvec3 & operator<<=(tvec3 const & v); template GLM_FUNC_DECL tvec3 & operator>>=(U s); template + GLM_FUNC_DECL tvec3 & operator>>=(tvec1 const & v); + template GLM_FUNC_DECL tvec3 & operator>>=(tvec3 const & v); }; template GLM_FUNC_DECL tvec3 operator+(tvec3 const & v, T const & s); + template + GLM_FUNC_DECL tvec3 operator+(tvec3 const & v, tvec1 const & s); + template GLM_FUNC_DECL tvec3 operator+(T const & s, tvec3 const & v); + template + GLM_FUNC_DECL tvec3 operator+(tvec1 const & s, tvec3 const & v); + template GLM_FUNC_DECL tvec3 operator+(tvec3 const & v1, tvec3 const & v2); template - GLM_FUNC_DECL tvec3 operator-(tvec3 const & v, T const & s); + GLM_FUNC_DECL tvec3 operator-(tvec3 const & v, T const & s); + + template + GLM_FUNC_DECL tvec3 operator-(tvec3 const & v, tvec1 const & s); template GLM_FUNC_DECL tvec3 operator-(T const & s, tvec3 const & v); template - GLM_FUNC_DECL tvec3 operator- (tvec3 const & v1, tvec3 const & v2); + GLM_FUNC_DECL tvec3 operator-(tvec1 const & s, tvec3 const & v); + + template + GLM_FUNC_DECL tvec3 operator-(tvec3 const & v1, tvec3 const & v2); template GLM_FUNC_DECL tvec3 operator*(tvec3 const & v, T const & s); + template + GLM_FUNC_DECL tvec3 operator*(tvec3 const & v, tvec1 const & s); + template GLM_FUNC_DECL tvec3 operator*(T const & s, tvec3 const & v); + template + GLM_FUNC_DECL tvec3 operator*(tvec1 const & s, tvec3 const & v); + template GLM_FUNC_DECL tvec3 operator*(tvec3 const & v1, tvec3 const & v2); template GLM_FUNC_DECL tvec3 operator/(tvec3 const & v, T const & s); + template + GLM_FUNC_DECL tvec3 operator/(tvec3 const & v, tvec1 const & s); + template GLM_FUNC_DECL tvec3 operator/(T const & s, tvec3 const & v); + template + GLM_FUNC_DECL tvec3 operator/(tvec1 const & s, tvec3 const & v); + template GLM_FUNC_DECL tvec3 operator/(tvec3 const & v1, tvec3 const & v2); @@ -263,54 +307,90 @@ namespace detail template GLM_FUNC_DECL tvec3 operator%(tvec3 const & v, T const & s); + template + GLM_FUNC_DECL tvec3 operator%(tvec3 const & v, tvec1 const & s); + template GLM_FUNC_DECL tvec3 operator%(T const & s, tvec3 const & v); + template + GLM_FUNC_DECL tvec3 operator%(tvec1 const & s, tvec3 const & v); + template GLM_FUNC_DECL tvec3 operator%(tvec3 const & v1, tvec3 const & v2); template GLM_FUNC_DECL tvec3 operator&(tvec3 const & v, T const & s); + template + GLM_FUNC_DECL tvec3 operator&(tvec3 const & v, tvec1 const & s); + template GLM_FUNC_DECL tvec3 operator&(T const & s, tvec3 const & v); + template + GLM_FUNC_DECL tvec3 operator&(tvec1 const & s, tvec3 const & v); + template GLM_FUNC_DECL tvec3 operator&(tvec3 const & v1, tvec3 const & v2); template GLM_FUNC_DECL tvec3 operator|(tvec3 const & v, T const & s); + template + GLM_FUNC_DECL tvec3 operator|(tvec3 const & v, tvec1 const & s); + template GLM_FUNC_DECL tvec3 operator|(T const & s, tvec3 const & v); + template + GLM_FUNC_DECL tvec3 operator|(tvec1 const & s, tvec3 const & v); + template GLM_FUNC_DECL tvec3 operator|(tvec3 const & v1, tvec3 const & v2); - + template GLM_FUNC_DECL tvec3 operator^(tvec3 const & v, T const & s); + template + GLM_FUNC_DECL tvec3 operator^(tvec3 const & v, tvec1 const & s); + template GLM_FUNC_DECL tvec3 operator^(T const & s, tvec3 const & v); + template + GLM_FUNC_DECL tvec3 operator^(tvec1 const & s, tvec3 const & v); + template GLM_FUNC_DECL tvec3 operator^(tvec3 const & v1, tvec3 const & v2); template GLM_FUNC_DECL tvec3 operator<<(tvec3 const & v, T const & s); + template + GLM_FUNC_DECL tvec3 operator<<(tvec3 const & v, tvec1 const & s); + template GLM_FUNC_DECL tvec3 operator<<(T const & s, tvec3 const & v); + template + GLM_FUNC_DECL tvec3 operator<<(tvec1 const & s, tvec3 const & v); + template GLM_FUNC_DECL tvec3 operator<<(tvec3 const & v1, tvec3 const & v2); template GLM_FUNC_DECL tvec3 operator>>(tvec3 const & v, T const & s); + template + GLM_FUNC_DECL tvec3 operator>>(tvec3 const & v, tvec1 const & s); + template GLM_FUNC_DECL tvec3 operator>>(T const & s, tvec3 const & v); + template + GLM_FUNC_DECL tvec3 operator>>(tvec1 const & s, tvec3 const & v); + template GLM_FUNC_DECL tvec3 operator>>(tvec3 const & v1, tvec3 const & v2);