mirror of
https://github.com/g-truc/glm.git
synced 2024-11-16 14:54:35 +00:00
I suppose some compilers didn't like that...
This commit is contained in:
parent
3cde6862e5
commit
4340ed9ffb
@ -128,19 +128,19 @@ namespace glm
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec & operator=(vec<1, U, P> const& v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL GLM_ONLY_SCALAR2(vec, 1, T, P, U) operator+=(U scalar);
|
||||
GLM_FUNC_DECL_ONLY_SCALAR(U) operator+=(U scalar);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec & operator+=(vec<1, U, P> const& v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL GLM_ONLY_SCALAR2(vec, 1, T, P, U) operator-=(U scalar);
|
||||
GLM_FUNC_DECL_ONLY_SCALAR(U) operator-=(U scalar);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec & operator-=(vec<1, U, P> const& v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL GLM_ONLY_SCALAR2(vec, 1, T, P, U) operator*=(U scalar);
|
||||
GLM_FUNC_DECL_ONLY_SCALAR(U) operator*=(U scalar);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec & operator*=(vec<1, U, P> const& v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL GLM_ONLY_SCALAR2(vec, 1, T, P, U) operator/=(U scalar);
|
||||
GLM_FUNC_DECL_ONLY_SCALAR(U) operator/=(U scalar);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec & operator/=(vec<1, U, P> const& v);
|
||||
|
||||
@ -154,27 +154,27 @@ namespace glm
|
||||
// -- Unary bit operators --
|
||||
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL GLM_ONLY_SCALAR2(vec, 1, T, P, U) operator%=(U scalar);
|
||||
GLM_FUNC_DECL_ONLY_SCALAR(U) operator%=(U scalar);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec & operator%=(vec<1, U, P> const& v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL GLM_ONLY_SCALAR2(vec, 1, T, P, U) operator&=(U scalar);
|
||||
GLM_FUNC_DECL_ONLY_SCALAR(U) operator&=(U scalar);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec & operator&=(vec<1, U, P> const& v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL GLM_ONLY_SCALAR2(vec, 1, T, P, U) operator|=(U scalar);
|
||||
GLM_FUNC_DECL_ONLY_SCALAR(U) operator|=(U scalar);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec & operator|=(vec<1, U, P> const& v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL GLM_ONLY_SCALAR2(vec, 1, T, P, U) operator^=(U scalar);
|
||||
GLM_FUNC_DECL_ONLY_SCALAR(U) operator^=(U scalar);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec & operator^=(vec<1, U, P> const& v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL GLM_ONLY_SCALAR2(vec, 1, T, P, U) operator<<=(U scalar);
|
||||
GLM_FUNC_DECL_ONLY_SCALAR(U) operator<<=(U scalar);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec & operator<<=(vec<1, U, P> const& v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL GLM_ONLY_SCALAR2(vec, 1, T, P, U) operator>>=(U scalar);
|
||||
GLM_FUNC_DECL_ONLY_SCALAR(U) operator>>=(U scalar);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec & operator>>=(vec<1, U, P> const& v);
|
||||
};
|
||||
|
@ -101,7 +101,7 @@ namespace glm
|
||||
|
||||
template<typename T, precision P>
|
||||
template<typename U>
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR2(vec, 1, T, P, U) vec<1, T, P>::operator+=(U scalar)
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR_VEC(vec, 1, T, P, U) vec<1, T, P>::operator+=(U scalar)
|
||||
{
|
||||
this->x += static_cast<T>(scalar);
|
||||
return *this;
|
||||
@ -117,7 +117,7 @@ namespace glm
|
||||
|
||||
template<typename T, precision P>
|
||||
template<typename U>
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR2(vec, 1, T, P, U) vec<1, T, P>::operator-=(U scalar)
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR_VEC(vec, 1, T, P, U) vec<1, T, P>::operator-=(U scalar)
|
||||
{
|
||||
this->x -= static_cast<T>(scalar);
|
||||
return *this;
|
||||
@ -133,7 +133,7 @@ namespace glm
|
||||
|
||||
template<typename T, precision P>
|
||||
template<typename U>
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR2(vec, 1, T, P, U) vec<1, T, P>::operator*=(U scalar)
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR_VEC(vec, 1, T, P, U) vec<1, T, P>::operator*=(U scalar)
|
||||
{
|
||||
this->x *= static_cast<T>(scalar);
|
||||
return *this;
|
||||
@ -149,7 +149,7 @@ namespace glm
|
||||
|
||||
template<typename T, precision P>
|
||||
template<typename U>
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR2(vec, 1, T, P, U) vec<1, T, P>::operator/=(U scalar)
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR_VEC(vec, 1, T, P, U) vec<1, T, P>::operator/=(U scalar)
|
||||
{
|
||||
this->x /= static_cast<T>(scalar);
|
||||
return *this;
|
||||
@ -199,7 +199,7 @@ namespace glm
|
||||
|
||||
template<typename T, precision P>
|
||||
template<typename U>
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR2(vec, 1, T, P, U) vec<1, T, P>::operator%=(U scalar)
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR_VEC(vec, 1, T, P, U) vec<1, T, P>::operator%=(U scalar)
|
||||
{
|
||||
this->x %= static_cast<T>(scalar);
|
||||
return *this;
|
||||
@ -215,7 +215,7 @@ namespace glm
|
||||
|
||||
template<typename T, precision P>
|
||||
template<typename U>
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR2(vec, 1, T, P, U) vec<1, T, P>::operator&=(U scalar)
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR_VEC(vec, 1, T, P, U) vec<1, T, P>::operator&=(U scalar)
|
||||
{
|
||||
this->x &= static_cast<T>(scalar);
|
||||
return *this;
|
||||
@ -231,7 +231,7 @@ namespace glm
|
||||
|
||||
template<typename T, precision P>
|
||||
template<typename U>
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR2(vec, 1, T, P, U) vec<1, T, P>::operator|=(U scalar)
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR_VEC(vec, 1, T, P, U) vec<1, T, P>::operator|=(U scalar)
|
||||
{
|
||||
this->x |= static_cast<T>(scalar);
|
||||
return *this;
|
||||
@ -247,7 +247,7 @@ namespace glm
|
||||
|
||||
template<typename T, precision P>
|
||||
template<typename U>
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR2(vec, 1, T, P, U) vec<1, T, P>::operator^=(U scalar)
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR_VEC(vec, 1, T, P, U) vec<1, T, P>::operator^=(U scalar)
|
||||
{
|
||||
this->x ^= static_cast<T>(scalar);
|
||||
return *this;
|
||||
@ -263,7 +263,7 @@ namespace glm
|
||||
|
||||
template<typename T, precision P>
|
||||
template<typename U>
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR2(vec, 1, T, P, U) vec<1, T, P>::operator<<=(U scalar)
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR_VEC(vec, 1, T, P, U) vec<1, T, P>::operator<<=(U scalar)
|
||||
{
|
||||
this->x <<= static_cast<T>(scalar);
|
||||
return *this;
|
||||
@ -279,7 +279,7 @@ namespace glm
|
||||
|
||||
template<typename T, precision P>
|
||||
template<typename U>
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR2(vec, 1, T, P, U) vec<1, T, P>::operator>>=(U scalar)
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR_VEC(vec, 1, T, P, U) vec<1, T, P>::operator>>=(U scalar)
|
||||
{
|
||||
this->x >>= static_cast<T>(scalar);
|
||||
return *this;
|
||||
|
@ -134,25 +134,25 @@ namespace glm
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec& operator=(vec<2, U, P> const& v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL GLM_ONLY_SCALAR2(vec, 2, T, P, U) operator+=(U scalar);
|
||||
GLM_FUNC_DECL_ONLY_SCALAR(U) operator+=(U scalar);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec& operator+=(vec<1, U, P> const& v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec& operator+=(vec<2, U, P> const& v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL GLM_ONLY_SCALAR2(vec, 2, T, P, U) operator-=(U scalar);
|
||||
GLM_FUNC_DECL_ONLY_SCALAR(U) operator-=(U scalar);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec& operator-=(vec<1, U, P> const& v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec& operator-=(vec<2, U, P> const& v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL GLM_ONLY_SCALAR2(vec, 2, T, P, U) operator*=(U scalar);
|
||||
GLM_FUNC_DECL_ONLY_SCALAR(U) operator*=(U scalar);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec& operator*=(vec<1, U, P> const& v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec& operator*=(vec<2, U, P> const& v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL GLM_ONLY_SCALAR2(vec, 2, T, P, U) operator/=(U scalar);
|
||||
GLM_FUNC_DECL_ONLY_SCALAR(U) operator/=(U scalar);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec& operator/=(vec<1, U, P> const& v);
|
||||
template<typename U>
|
||||
@ -168,37 +168,37 @@ namespace glm
|
||||
// -- Unary bit operators --
|
||||
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL GLM_ONLY_SCALAR2(vec, 2, T, P, U) operator%=(U scalar);
|
||||
GLM_FUNC_DECL_ONLY_SCALAR(U) operator%=(U scalar);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec & operator%=(vec<1, U, P> const & v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec & operator%=(vec<2, U, P> const & v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL GLM_ONLY_SCALAR2(vec, 2, T, P, U) operator&=(U scalar);
|
||||
GLM_FUNC_DECL_ONLY_SCALAR(U) operator&=(U scalar);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec & operator&=(vec<1, U, P> const & v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec & operator&=(vec<2, U, P> const & v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL GLM_ONLY_SCALAR2(vec, 2, T, P, U) operator|=(U scalar);
|
||||
GLM_FUNC_DECL_ONLY_SCALAR(U) operator|=(U scalar);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec & operator|=(vec<1, U, P> const & v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec & operator|=(vec<2, U, P> const & v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL GLM_ONLY_SCALAR2(vec, 2, T, P, U) operator^=(U scalar);
|
||||
GLM_FUNC_DECL_ONLY_SCALAR(U) operator^=(U scalar);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec & operator^=(vec<1, U, P> const & v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec & operator^=(vec<2, U, P> const & v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL GLM_ONLY_SCALAR2(vec, 2, T, P, U) operator<<=(U scalar);
|
||||
GLM_FUNC_DECL_ONLY_SCALAR(U) operator<<=(U scalar);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec & operator<<=(vec<1, U, P> const & v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec & operator<<=(vec<2, U, P> const & v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL GLM_ONLY_SCALAR2(vec, 2, T, P, U) operator>>=(U scalar);
|
||||
GLM_FUNC_DECL_ONLY_SCALAR(U) operator>>=(U scalar);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec & operator>>=(vec<1, U, P> const & v);
|
||||
template<typename U>
|
||||
|
@ -121,7 +121,7 @@ namespace glm
|
||||
|
||||
template<typename T, precision P>
|
||||
template<typename U>
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR2(vec, 2, T, P, U) vec<2, T, P>::operator+=(U scalar)
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR_VEC(vec, 2, T, P, U) vec<2, T, P>::operator+=(U scalar)
|
||||
{
|
||||
this->x += static_cast<T>(scalar);
|
||||
this->y += static_cast<T>(scalar);
|
||||
@ -148,7 +148,7 @@ namespace glm
|
||||
|
||||
template<typename T, precision P>
|
||||
template<typename U>
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR2(vec, 2, T, P, U) vec<2, T, P>::operator-=(U scalar)
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR_VEC(vec, 2, T, P, U) vec<2, T, P>::operator-=(U scalar)
|
||||
{
|
||||
this->x -= static_cast<T>(scalar);
|
||||
this->y -= static_cast<T>(scalar);
|
||||
@ -175,7 +175,7 @@ namespace glm
|
||||
|
||||
template<typename T, precision P>
|
||||
template<typename U>
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR2(vec, 2, T, P, U) vec<2, T, P>::operator*=(U scalar)
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR_VEC(vec, 2, T, P, U) vec<2, T, P>::operator*=(U scalar)
|
||||
{
|
||||
this->x *= static_cast<T>(scalar);
|
||||
this->y *= static_cast<T>(scalar);
|
||||
@ -202,7 +202,7 @@ namespace glm
|
||||
|
||||
template<typename T, precision P>
|
||||
template<typename U>
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR2(vec, 2, T, P, U) vec<2, T, P>::operator/=(U scalar)
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR_VEC(vec, 2, T, P, U) vec<2, T, P>::operator/=(U scalar)
|
||||
{
|
||||
this->x /= static_cast<T>(scalar);
|
||||
this->y /= static_cast<T>(scalar);
|
||||
@ -265,7 +265,7 @@ namespace glm
|
||||
|
||||
template<typename T, precision P>
|
||||
template<typename U>
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR2(vec, 2, T, P, U) vec<2, T, P>::operator%=(U scalar)
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR_VEC(vec, 2, T, P, U) vec<2, T, P>::operator%=(U scalar)
|
||||
{
|
||||
this->x %= static_cast<T>(scalar);
|
||||
this->y %= static_cast<T>(scalar);
|
||||
@ -292,7 +292,7 @@ namespace glm
|
||||
|
||||
template<typename T, precision P>
|
||||
template<typename U>
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR2(vec, 2, T, P, U) vec<2, T, P>::operator&=(U scalar)
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR_VEC(vec, 2, T, P, U) vec<2, T, P>::operator&=(U scalar)
|
||||
{
|
||||
this->x &= static_cast<T>(scalar);
|
||||
this->y &= static_cast<T>(scalar);
|
||||
@ -319,7 +319,7 @@ namespace glm
|
||||
|
||||
template<typename T, precision P>
|
||||
template<typename U>
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR2(vec, 2, T, P, U) vec<2, T, P>::operator|=(U scalar)
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR_VEC(vec, 2, T, P, U) vec<2, T, P>::operator|=(U scalar)
|
||||
{
|
||||
this->x |= static_cast<T>(scalar);
|
||||
this->y |= static_cast<T>(scalar);
|
||||
@ -346,7 +346,7 @@ namespace glm
|
||||
|
||||
template<typename T, precision P>
|
||||
template<typename U>
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR2(vec, 2, T, P, U) vec<2, T, P>::operator^=(U scalar)
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR_VEC(vec, 2, T, P, U) vec<2, T, P>::operator^=(U scalar)
|
||||
{
|
||||
this->x ^= static_cast<T>(scalar);
|
||||
this->y ^= static_cast<T>(scalar);
|
||||
@ -373,7 +373,7 @@ namespace glm
|
||||
|
||||
template<typename T, precision P>
|
||||
template<typename U>
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR2(vec, 2, T, P, U) vec<2, T, P>::operator<<=(U scalar)
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR_VEC(vec, 2, T, P, U) vec<2, T, P>::operator<<=(U scalar)
|
||||
{
|
||||
this->x <<= static_cast<T>(scalar);
|
||||
this->y <<= static_cast<T>(scalar);
|
||||
@ -400,7 +400,7 @@ namespace glm
|
||||
|
||||
template<typename T, precision P>
|
||||
template<typename U>
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR2(vec, 2, T, P, U) vec<2, T, P>::operator>>=(U scalar)
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR_VEC(vec, 2, T, P, U) vec<2, T, P>::operator>>=(U scalar)
|
||||
{
|
||||
this->x >>= static_cast<T>(scalar);
|
||||
this->y >>= static_cast<T>(scalar);
|
||||
|
@ -155,25 +155,25 @@ namespace glm
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec & operator=(vec<3, U, P> const & v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL GLM_ONLY_SCALAR2(vec, 3, T, P, U) operator+=(U scalar);
|
||||
GLM_FUNC_DECL_ONLY_SCALAR(U) operator+=(U scalar);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec & operator+=(vec<1, U, P> const & v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec & operator+=(vec<3, U, P> const & v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL GLM_ONLY_SCALAR2(vec, 3, T, P, U) operator-=(U scalar);
|
||||
GLM_FUNC_DECL_ONLY_SCALAR(U) operator-=(U scalar);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec & operator-=(vec<1, U, P> const & v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec & operator-=(vec<3, U, P> const & v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL GLM_ONLY_SCALAR2(vec, 3, T, P, U) operator*=(U scalar);
|
||||
GLM_FUNC_DECL_ONLY_SCALAR(U) operator*=(U scalar);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec & operator*=(vec<1, U, P> const & v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec & operator*=(vec<3, U, P> const & v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL GLM_ONLY_SCALAR2(vec, 3, T, P, U) operator/=(U scalar);
|
||||
GLM_FUNC_DECL_ONLY_SCALAR(U) operator/=(U scalar);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec & operator/=(vec<1, U, P> const & v);
|
||||
template<typename U>
|
||||
@ -189,37 +189,37 @@ namespace glm
|
||||
// -- Unary bit operators --
|
||||
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL GLM_ONLY_SCALAR2(vec, 3, T, P, U) operator%=(U scalar);
|
||||
GLM_FUNC_DECL_ONLY_SCALAR(U) operator%=(U scalar);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec & operator%=(vec<1, U, P> const & v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec & operator%=(vec<3, U, P> const & v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL GLM_ONLY_SCALAR2(vec, 3, T, P, U) operator&=(U scalar);
|
||||
GLM_FUNC_DECL_ONLY_SCALAR(U) operator&=(U scalar);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec & operator&=(vec<1, U, P> const & v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec & operator&=(vec<3, U, P> const & v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL GLM_ONLY_SCALAR2(vec, 3, T, P, U) operator|=(U scalar);
|
||||
GLM_FUNC_DECL_ONLY_SCALAR(U) operator|=(U scalar);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec & operator|=(vec<1, U, P> const & v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec & operator|=(vec<3, U, P> const & v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL GLM_ONLY_SCALAR2(vec, 3, T, P, U) operator^=(U scalar);
|
||||
GLM_FUNC_DECL_ONLY_SCALAR(U) operator^=(U scalar);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec & operator^=(vec<1, U, P> const & v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec & operator^=(vec<3, U, P> const & v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL GLM_ONLY_SCALAR2(vec, 3, T, P, U) operator<<=(U scalar);
|
||||
GLM_FUNC_DECL_ONLY_SCALAR(U) operator<<=(U scalar);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec & operator<<=(vec<1, U, P> const & v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec & operator<<=(vec<3, U, P> const & v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL GLM_ONLY_SCALAR2(vec, 3, T, P, U) operator>>=(U scalar);
|
||||
GLM_FUNC_DECL_ONLY_SCALAR(U) operator>>=(U scalar);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec & operator>>=(vec<1, U, P> const & v);
|
||||
template<typename U>
|
||||
|
@ -152,7 +152,7 @@ namespace glm
|
||||
|
||||
template<typename T, precision P>
|
||||
template<typename U>
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR2(vec, 3, T, P, U) vec<3, T, P>::operator+=(U scalar)
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR_VEC(vec, 3, T, P, U) vec<3, T, P>::operator+=(U scalar)
|
||||
{
|
||||
this->x += static_cast<T>(scalar);
|
||||
this->y += static_cast<T>(scalar);
|
||||
@ -182,7 +182,7 @@ namespace glm
|
||||
|
||||
template<typename T, precision P>
|
||||
template<typename U>
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR2(vec, 3, T, P, U) vec<3, T, P>::operator-=(U scalar)
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR_VEC(vec, 3, T, P, U) vec<3, T, P>::operator-=(U scalar)
|
||||
{
|
||||
this->x -= static_cast<T>(scalar);
|
||||
this->y -= static_cast<T>(scalar);
|
||||
@ -212,7 +212,7 @@ namespace glm
|
||||
|
||||
template<typename T, precision P>
|
||||
template<typename U>
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR2(vec, 3, T, P, U) vec<3, T, P>::operator*=(U scalar)
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR_VEC(vec, 3, T, P, U) vec<3, T, P>::operator*=(U scalar)
|
||||
{
|
||||
this->x *= static_cast<T>(scalar);
|
||||
this->y *= static_cast<T>(scalar);
|
||||
@ -242,7 +242,7 @@ namespace glm
|
||||
|
||||
template<typename T, precision P>
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL GLM_ONLY_SCALAR2(vec, 3, T, P, U) vec<3, T, P>::operator/=(U v)
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR_VEC(vec, 3, T, P, U) vec<3, T, P>::operator/=(U v)
|
||||
{
|
||||
this->x /= static_cast<T>(v);
|
||||
this->y /= static_cast<T>(v);
|
||||
@ -310,7 +310,7 @@ namespace glm
|
||||
|
||||
template<typename T, precision P>
|
||||
template<typename U>
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR2(vec, 3, T, P, U) vec<3, T, P>::operator%=(U scalar)
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR_VEC(vec, 3, T, P, U) vec<3, T, P>::operator%=(U scalar)
|
||||
{
|
||||
this->x %= scalar;
|
||||
this->y %= scalar;
|
||||
@ -340,7 +340,7 @@ namespace glm
|
||||
|
||||
template<typename T, precision P>
|
||||
template<typename U>
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR2(vec, 3, T, P, U) vec<3, T, P>::operator&=(U scalar)
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR_VEC(vec, 3, T, P, U) vec<3, T, P>::operator&=(U scalar)
|
||||
{
|
||||
this->x &= scalar;
|
||||
this->y &= scalar;
|
||||
@ -370,7 +370,7 @@ namespace glm
|
||||
|
||||
template<typename T, precision P>
|
||||
template<typename U>
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR2(vec, 3, T, P, U) vec<3, T, P>::operator|=(U scalar)
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR_VEC(vec, 3, T, P, U) vec<3, T, P>::operator|=(U scalar)
|
||||
{
|
||||
this->x |= scalar;
|
||||
this->y |= scalar;
|
||||
@ -400,7 +400,7 @@ namespace glm
|
||||
|
||||
template<typename T, precision P>
|
||||
template<typename U>
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR2(vec, 3, T, P, U) vec<3, T, P>::operator^=(U scalar)
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR_VEC(vec, 3, T, P, U) vec<3, T, P>::operator^=(U scalar)
|
||||
{
|
||||
this->x ^= scalar;
|
||||
this->y ^= scalar;
|
||||
@ -430,7 +430,7 @@ namespace glm
|
||||
|
||||
template<typename T, precision P>
|
||||
template<typename U>
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR2(vec, 3, T, P, U) vec<3, T, P>::operator<<=(U scalar)
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR_VEC(vec, 3, T, P, U) vec<3, T, P>::operator<<=(U scalar)
|
||||
{
|
||||
this->x <<= scalar;
|
||||
this->y <<= scalar;
|
||||
@ -460,7 +460,7 @@ namespace glm
|
||||
|
||||
template<typename T, precision P>
|
||||
template<typename U>
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR2(vec, 3, T, P, U) vec<3, T, P>::operator>>=(U scalar)
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR_VEC(vec, 3, T, P, U) vec<3, T, P>::operator>>=(U scalar)
|
||||
{
|
||||
this->x >>= static_cast<T>(scalar);
|
||||
this->y >>= static_cast<T>(scalar);
|
||||
|
@ -200,25 +200,25 @@ namespace glm
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec<4, T, P>& operator=(vec<4, U, P> const & v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL GLM_ONLY_SCALAR2(vec, 4, T, P, U) operator+=(U scalar);
|
||||
GLM_FUNC_DECL_ONLY_SCALAR(U) operator+=(U scalar);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec<4, T, P>& operator+=(vec<1, U, P> const & v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec<4, T, P>& operator+=(vec<4, U, P> const & v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL GLM_ONLY_SCALAR2(vec, 4, T, P, U) operator-=(U scalar);
|
||||
GLM_FUNC_DECL_ONLY_SCALAR(U) operator-=(U scalar);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec<4, T, P>& operator-=(vec<1, U, P> const & v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec<4, T, P>& operator-=(vec<4, U, P> const & v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL GLM_ONLY_SCALAR2(vec, 4, T, P, U) operator*=(U scalar);
|
||||
GLM_FUNC_DECL_ONLY_SCALAR(U) operator*=(U scalar);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec<4, T, P>& operator*=(vec<1, U, P> const& v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec<4, T, P>& operator*=(vec<4, U, P> const& v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL GLM_ONLY_SCALAR2(vec, 4, T, P, U) operator/=(U scalar);
|
||||
GLM_FUNC_DECL_ONLY_SCALAR(U) operator/=(U scalar);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec<4, T, P>& operator/=(vec<1, U, P> const & v);
|
||||
template<typename U>
|
||||
@ -234,37 +234,37 @@ namespace glm
|
||||
// -- Unary bit operators --
|
||||
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL GLM_ONLY_SCALAR2(vec, 4, T, P, U) operator%=(U scalar);
|
||||
GLM_FUNC_DECL_ONLY_SCALAR(U) operator%=(U scalar);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec<4, T, P> & operator%=(vec<1, U, P> const & v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec<4, T, P> & operator%=(vec<4, U, P> const & v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL GLM_ONLY_SCALAR2(vec, 4, T, P, U) operator&=(U scalar);
|
||||
GLM_FUNC_DECL_ONLY_SCALAR(U) operator&=(U scalar);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec<4, T, P> & operator&=(vec<1, U, P> const & v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec<4, T, P> & operator&=(vec<4, U, P> const & v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL GLM_ONLY_SCALAR2(vec, 4, T, P, U) operator|=(U scalar);
|
||||
GLM_FUNC_DECL_ONLY_SCALAR(U) operator|=(U scalar);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec<4, T, P> & operator|=(vec<1, U, P> const & v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec<4, T, P> & operator|=(vec<4, U, P> const & v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL GLM_ONLY_SCALAR2(vec, 4, T, P, U) operator^=(U scalar);
|
||||
GLM_FUNC_DECL_ONLY_SCALAR(U) operator^=(U scalar);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec<4, T, P> & operator^=(vec<1, U, P> const & v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec<4, T, P> & operator^=(vec<4, U, P> const & v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL GLM_ONLY_SCALAR2(vec, 4, T, P, U) operator<<=(U scalar);
|
||||
GLM_FUNC_DECL_ONLY_SCALAR(U) operator<<=(U scalar);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec<4, T, P> & operator<<=(vec<1, U, P> const & v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec<4, T, P> & operator<<=(vec<4, U, P> const & v);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL GLM_ONLY_SCALAR2(vec, 4, T, P, U) operator>>=(U scalar);
|
||||
GLM_FUNC_DECL_ONLY_SCALAR(U) operator>>=(U scalar);
|
||||
template<typename U>
|
||||
GLM_FUNC_DECL vec<4, T, P> & operator>>=(vec<1, U, P> const & v);
|
||||
template<typename U>
|
||||
|
@ -365,7 +365,7 @@ namespace detail
|
||||
|
||||
template<typename T, precision P>
|
||||
template<typename U>
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR2(vec, 4, T, P, U) vec<4, T, P>::operator+=(U scalar)
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR_VEC(vec, 4, T, P, U) vec<4, T, P>::operator+=(U scalar)
|
||||
{
|
||||
return (*this = detail::compute_vec4_add<T, P, detail::is_aligned<P>::value>::call(*this, vec<4, T, P>(scalar)));
|
||||
}
|
||||
@ -386,7 +386,7 @@ namespace detail
|
||||
|
||||
template<typename T, precision P>
|
||||
template<typename U>
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR2(vec, 4, T, P, U) vec<4, T, P>::operator-=(U scalar)
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR_VEC(vec, 4, T, P, U) vec<4, T, P>::operator-=(U scalar)
|
||||
{
|
||||
return (*this = detail::compute_vec4_sub<T, P, detail::is_aligned<P>::value>::call(*this, vec<4, T, P>(scalar)));
|
||||
}
|
||||
@ -407,7 +407,7 @@ namespace detail
|
||||
|
||||
template<typename T, precision P>
|
||||
template<typename U>
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR2(vec, 4, T, P, U) vec<4, T, P>::operator*=(U scalar)
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR_VEC(vec, 4, T, P, U) vec<4, T, P>::operator*=(U scalar)
|
||||
{
|
||||
return (*this = detail::compute_vec4_mul<T, P, detail::is_aligned<P>::value>::call(*this, vec<4, T, P>(scalar)));
|
||||
}
|
||||
@ -428,7 +428,7 @@ namespace detail
|
||||
|
||||
template<typename T, precision P>
|
||||
template<typename U>
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR2(vec, 4, T, P, U) vec<4, T, P>::operator/=(U scalar)
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR_VEC(vec, 4, T, P, U) vec<4, T, P>::operator/=(U scalar)
|
||||
{
|
||||
return (*this = detail::compute_vec4_div<T, P, detail::is_aligned<P>::value>::call(*this, vec<4, T, P>(scalar)));
|
||||
}
|
||||
@ -489,7 +489,7 @@ namespace detail
|
||||
|
||||
template<typename T, precision P>
|
||||
template<typename U>
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR2(vec, 4, T, P, U) vec<4, T, P>::operator%=(U scalar)
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR_VEC(vec, 4, T, P, U) vec<4, T, P>::operator%=(U scalar)
|
||||
{
|
||||
return (*this = detail::compute_vec4_mod<T, P, detail::is_aligned<P>::value>::call(*this, vec<4, T, P>(scalar)));
|
||||
}
|
||||
@ -510,7 +510,7 @@ namespace detail
|
||||
|
||||
template<typename T, precision P>
|
||||
template<typename U>
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR2(vec, 4, T, P, U) vec<4, T, P>::operator&=(U scalar)
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR_VEC(vec, 4, T, P, U) vec<4, T, P>::operator&=(U scalar)
|
||||
{
|
||||
return (*this = detail::compute_vec4_and<T, P, detail::is_int<T>::value, sizeof(T) * 8, detail::is_aligned<P>::value>::call(*this, vec<4, T, P>(scalar)));
|
||||
}
|
||||
@ -531,7 +531,7 @@ namespace detail
|
||||
|
||||
template<typename T, precision P>
|
||||
template<typename U>
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR2(vec, 4, T, P, U) vec<4, T, P>::operator|=(U scalar)
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR_VEC(vec, 4, T, P, U) vec<4, T, P>::operator|=(U scalar)
|
||||
{
|
||||
return (*this = detail::compute_vec4_or<T, P, detail::is_int<T>::value, sizeof(T) * 8, detail::is_aligned<P>::value>::call(*this, vec<4, T, P>(scalar)));
|
||||
}
|
||||
@ -552,7 +552,7 @@ namespace detail
|
||||
|
||||
template<typename T, precision P>
|
||||
template<typename U>
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR2(vec, 4, T, P, U) vec<4, T, P>::operator^=(U scalar)
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR_VEC(vec, 4, T, P, U) vec<4, T, P>::operator^=(U scalar)
|
||||
{
|
||||
return (*this = detail::compute_vec4_xor<T, P, detail::is_int<T>::value, sizeof(T) * 8, detail::is_aligned<P>::value>::call(*this, vec<4, T, P>(scalar)));
|
||||
}
|
||||
@ -573,7 +573,7 @@ namespace detail
|
||||
|
||||
template<typename T, precision P>
|
||||
template<typename U>
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR2(vec, 4, T, P, U) vec<4, T, P>::operator<<=(U scalar)
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR_VEC(vec, 4, T, P, U) vec<4, T, P>::operator<<=(U scalar)
|
||||
{
|
||||
return (*this = detail::compute_vec4_shift_left<T, P, detail::is_int<T>::value, sizeof(T) * 8, detail::is_aligned<P>::value>::call(*this, vec<4, T, P>(scalar)));
|
||||
}
|
||||
@ -594,7 +594,7 @@ namespace detail
|
||||
|
||||
template<typename T, precision P>
|
||||
template<typename U>
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR2(vec, 4, T, P, U) vec<4, T, P>::operator>>=(U scalar)
|
||||
GLM_FUNC_QUALIFIER GLM_ONLY_SCALAR_VEC(vec, 4, T, P, U) vec<4, T, P>::operator>>=(U scalar)
|
||||
{
|
||||
return (*this = detail::compute_vec4_shift_right<T, P, detail::is_int<T>::value, sizeof(T) * 8, detail::is_aligned<P>::value>::call(*this, vec<4, T, P>(scalar)));
|
||||
}
|
||||
|
@ -19,7 +19,8 @@ namespace glm
|
||||
template<bool B, typename T> struct meta_if { typedef T type; };
|
||||
template<typename T> struct meta_if<false, T> {};
|
||||
#define GLM_ONLY_SCALAR(T) typename meta_if<!is_vec<T>::value, T>::type
|
||||
#define GLM_ONLY_SCALAR2(V,L,T,P,U) typename meta_if<!is_vec<U>::value, V<L,T,P> >::type &
|
||||
#define GLM_ONLY_SCALAR_VEC(V,L,T,P,U) typename meta_if<!is_vec<U>::value, V<L,T,P> >::type &
|
||||
#define GLM_FUNC_DECL_ONLY_SCALAR(U) GLM_FUNC_DECL typename meta_if<!is_vec<U>::value, vec>::type &
|
||||
}//namespace glm
|
||||
|
||||
//////////////////////
|
||||
|
Loading…
Reference in New Issue
Block a user