All *mat* types are copyable #263
This commit is contained in:
@@ -66,7 +66,6 @@ namespace glm
|
|||||||
//////////////////////////////////////
|
//////////////////////////////////////
|
||||||
// Constructors
|
// Constructors
|
||||||
GLM_FUNC_DECL tmat2x2();
|
GLM_FUNC_DECL tmat2x2();
|
||||||
GLM_FUNC_DECL tmat2x2(tmat2x2<T, P> const & m);
|
|
||||||
template <precision Q>
|
template <precision Q>
|
||||||
GLM_FUNC_DECL tmat2x2(tmat2x2<T, Q> const & m);
|
GLM_FUNC_DECL tmat2x2(tmat2x2<T, Q> const & m);
|
||||||
|
|
||||||
@@ -111,7 +110,6 @@ namespace glm
|
|||||||
GLM_FUNC_DECL col_type & operator[](length_t i);
|
GLM_FUNC_DECL col_type & operator[](length_t i);
|
||||||
GLM_FUNC_DECL col_type const & operator[](length_t i) const;
|
GLM_FUNC_DECL col_type const & operator[](length_t i) const;
|
||||||
|
|
||||||
GLM_FUNC_DECL tmat2x2<T, P> & operator=(tmat2x2<T, P> const & m);
|
|
||||||
template <typename U>
|
template <typename U>
|
||||||
GLM_FUNC_DECL tmat2x2<T, P> & operator=(tmat2x2<U, P> const & m);
|
GLM_FUNC_DECL tmat2x2<T, P> & operator=(tmat2x2<U, P> const & m);
|
||||||
template <typename U>
|
template <typename U>
|
||||||
|
|||||||
@@ -89,13 +89,6 @@ namespace detail
|
|||||||
# endif
|
# endif
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename T, precision P>
|
|
||||||
GLM_FUNC_QUALIFIER tmat2x2<T, P>::tmat2x2(tmat2x2<T, P> const & m)
|
|
||||||
{
|
|
||||||
this->value[0] = m.value[0];
|
|
||||||
this->value[1] = m.value[1];
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename T, precision P>
|
template <typename T, precision P>
|
||||||
template <precision Q>
|
template <precision Q>
|
||||||
GLM_FUNC_QUALIFIER tmat2x2<T, P>::tmat2x2(tmat2x2<T, Q> const & m)
|
GLM_FUNC_QUALIFIER tmat2x2<T, P>::tmat2x2(tmat2x2<T, Q> const & m)
|
||||||
@@ -225,15 +218,6 @@ namespace detail
|
|||||||
//////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////
|
||||||
// mat2x2 operators
|
// mat2x2 operators
|
||||||
|
|
||||||
// This function shouldn't required but it seems that VC7.1 have an optimisation bug if this operator wasn't declared
|
|
||||||
template <typename T, precision P>
|
|
||||||
GLM_FUNC_QUALIFIER tmat2x2<T, P>& tmat2x2<T, P>::operator=(tmat2x2<T, P> const & m)
|
|
||||||
{
|
|
||||||
this->value[0] = m[0];
|
|
||||||
this->value[1] = m[1];
|
|
||||||
return *this;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename T, precision P>
|
template <typename T, precision P>
|
||||||
template <typename U>
|
template <typename U>
|
||||||
GLM_FUNC_QUALIFIER tmat2x2<T, P>& tmat2x2<T, P>::operator=(tmat2x2<U, P> const & m)
|
GLM_FUNC_QUALIFIER tmat2x2<T, P>& tmat2x2<T, P>::operator=(tmat2x2<U, P> const & m)
|
||||||
|
|||||||
@@ -61,7 +61,6 @@ namespace glm
|
|||||||
public:
|
public:
|
||||||
// Constructors
|
// Constructors
|
||||||
GLM_FUNC_DECL tmat2x3();
|
GLM_FUNC_DECL tmat2x3();
|
||||||
GLM_FUNC_DECL tmat2x3(tmat2x3<T, P> const & m);
|
|
||||||
template <precision Q>
|
template <precision Q>
|
||||||
GLM_FUNC_DECL tmat2x3(tmat2x3<T, Q> const & m);
|
GLM_FUNC_DECL tmat2x3(tmat2x3<T, Q> const & m);
|
||||||
|
|
||||||
@@ -104,7 +103,6 @@ namespace glm
|
|||||||
GLM_FUNC_DECL col_type & operator[](length_t i);
|
GLM_FUNC_DECL col_type & operator[](length_t i);
|
||||||
GLM_FUNC_DECL col_type const & operator[](length_t i) const;
|
GLM_FUNC_DECL col_type const & operator[](length_t i) const;
|
||||||
|
|
||||||
GLM_FUNC_DECL tmat2x3<T, P> & operator= (tmat2x3<T, P> const & m);
|
|
||||||
template <typename U>
|
template <typename U>
|
||||||
GLM_FUNC_DECL tmat2x3<T, P> & operator= (tmat2x3<U, P> const & m);
|
GLM_FUNC_DECL tmat2x3<T, P> & operator= (tmat2x3<U, P> const & m);
|
||||||
template <typename U>
|
template <typename U>
|
||||||
|
|||||||
@@ -71,13 +71,6 @@ namespace glm
|
|||||||
# endif
|
# endif
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename T, precision P>
|
|
||||||
GLM_FUNC_QUALIFIER tmat2x3<T, P>::tmat2x3(tmat2x3<T, P> const & m)
|
|
||||||
{
|
|
||||||
this->value[0] = m.value[0];
|
|
||||||
this->value[1] = m.value[1];
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename T, precision P>
|
template <typename T, precision P>
|
||||||
template <precision Q>
|
template <precision Q>
|
||||||
GLM_FUNC_QUALIFIER tmat2x3<T, P>::tmat2x3(tmat2x3<T, Q> const & m)
|
GLM_FUNC_QUALIFIER tmat2x3<T, P>::tmat2x3(tmat2x3<T, Q> const & m)
|
||||||
@@ -209,14 +202,6 @@ namespace glm
|
|||||||
//////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////
|
||||||
// Unary updatable operators
|
// Unary updatable operators
|
||||||
|
|
||||||
template <typename T, precision P>
|
|
||||||
GLM_FUNC_QUALIFIER tmat2x3<T, P>& tmat2x3<T, P>::operator=(tmat2x3<T, P> const & m)
|
|
||||||
{
|
|
||||||
this->value[0] = m[0];
|
|
||||||
this->value[1] = m[1];
|
|
||||||
return *this;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename T, precision P>
|
template <typename T, precision P>
|
||||||
template <typename U>
|
template <typename U>
|
||||||
GLM_FUNC_QUALIFIER tmat2x3<T, P>& tmat2x3<T, P>::operator=(tmat2x3<U, P> const & m)
|
GLM_FUNC_QUALIFIER tmat2x3<T, P>& tmat2x3<T, P>::operator=(tmat2x3<U, P> const & m)
|
||||||
|
|||||||
@@ -61,7 +61,6 @@ namespace glm
|
|||||||
public:
|
public:
|
||||||
// Constructors
|
// Constructors
|
||||||
GLM_FUNC_DECL tmat2x4();
|
GLM_FUNC_DECL tmat2x4();
|
||||||
GLM_FUNC_DECL tmat2x4(tmat2x4<T, P> const & m);
|
|
||||||
template <precision Q>
|
template <precision Q>
|
||||||
GLM_FUNC_DECL tmat2x4(tmat2x4<T, Q> const & m);
|
GLM_FUNC_DECL tmat2x4(tmat2x4<T, Q> const & m);
|
||||||
|
|
||||||
@@ -106,7 +105,6 @@ namespace glm
|
|||||||
GLM_FUNC_DECL col_type & operator[](length_t i);
|
GLM_FUNC_DECL col_type & operator[](length_t i);
|
||||||
GLM_FUNC_DECL col_type const & operator[](length_t i) const;
|
GLM_FUNC_DECL col_type const & operator[](length_t i) const;
|
||||||
|
|
||||||
GLM_FUNC_DECL tmat2x4<T, P>& operator= (tmat2x4<T, P> const & m);
|
|
||||||
template <typename U>
|
template <typename U>
|
||||||
GLM_FUNC_DECL tmat2x4<T, P>& operator= (tmat2x4<U, P> const & m);
|
GLM_FUNC_DECL tmat2x4<T, P>& operator= (tmat2x4<U, P> const & m);
|
||||||
template <typename U>
|
template <typename U>
|
||||||
|
|||||||
@@ -71,13 +71,6 @@ namespace glm
|
|||||||
# endif
|
# endif
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename T, precision P>
|
|
||||||
GLM_FUNC_QUALIFIER tmat2x4<T, P>::tmat2x4(tmat2x4<T, P> const & m)
|
|
||||||
{
|
|
||||||
this->value[0] = m.value[0];
|
|
||||||
this->value[1] = m.value[1];
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename T, precision P>
|
template <typename T, precision P>
|
||||||
template <precision Q>
|
template <precision Q>
|
||||||
GLM_FUNC_QUALIFIER tmat2x4<T, P>::tmat2x4(tmat2x4<T, Q> const & m)
|
GLM_FUNC_QUALIFIER tmat2x4<T, P>::tmat2x4(tmat2x4<T, Q> const & m)
|
||||||
@@ -210,14 +203,6 @@ namespace glm
|
|||||||
//////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////
|
||||||
// Unary updatable operators
|
// Unary updatable operators
|
||||||
|
|
||||||
template <typename T, precision P>
|
|
||||||
GLM_FUNC_QUALIFIER tmat2x4<T, P>& tmat2x4<T, P>::operator=(tmat2x4<T, P> const & m)
|
|
||||||
{
|
|
||||||
this->value[0] = m[0];
|
|
||||||
this->value[1] = m[1];
|
|
||||||
return *this;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename T, precision P>
|
template <typename T, precision P>
|
||||||
template <typename U>
|
template <typename U>
|
||||||
GLM_FUNC_QUALIFIER tmat2x4<T, P>& tmat2x4<T, P>::operator=(tmat2x4<U, P> const & m)
|
GLM_FUNC_QUALIFIER tmat2x4<T, P>& tmat2x4<T, P>::operator=(tmat2x4<U, P> const & m)
|
||||||
|
|||||||
@@ -61,7 +61,6 @@ namespace glm
|
|||||||
public:
|
public:
|
||||||
// Constructors
|
// Constructors
|
||||||
GLM_FUNC_DECL tmat3x2();
|
GLM_FUNC_DECL tmat3x2();
|
||||||
GLM_FUNC_DECL tmat3x2(tmat3x2<T, P> const & m);
|
|
||||||
template <precision Q>
|
template <precision Q>
|
||||||
GLM_FUNC_DECL tmat3x2(tmat3x2<T, Q> const & m);
|
GLM_FUNC_DECL tmat3x2(tmat3x2<T, Q> const & m);
|
||||||
|
|
||||||
@@ -110,7 +109,6 @@ namespace glm
|
|||||||
GLM_FUNC_DECL col_type & operator[](length_t i);
|
GLM_FUNC_DECL col_type & operator[](length_t i);
|
||||||
GLM_FUNC_DECL col_type const & operator[](length_t i) const;
|
GLM_FUNC_DECL col_type const & operator[](length_t i) const;
|
||||||
|
|
||||||
GLM_FUNC_DECL tmat3x2<T, P> & operator= (tmat3x2<T, P> const & m);
|
|
||||||
template <typename U>
|
template <typename U>
|
||||||
GLM_FUNC_DECL tmat3x2<T, P> & operator= (tmat3x2<U, P> const & m);
|
GLM_FUNC_DECL tmat3x2<T, P> & operator= (tmat3x2<U, P> const & m);
|
||||||
template <typename U>
|
template <typename U>
|
||||||
|
|||||||
@@ -72,14 +72,6 @@ namespace glm
|
|||||||
# endif
|
# endif
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename T, precision P>
|
|
||||||
GLM_FUNC_QUALIFIER tmat3x2<T, P>::tmat3x2(tmat3x2<T, P> const & m)
|
|
||||||
{
|
|
||||||
this->value[0] = m.value[0];
|
|
||||||
this->value[1] = m.value[1];
|
|
||||||
this->value[2] = m.value[2];
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename T, precision P>
|
template <typename T, precision P>
|
||||||
template <precision Q>
|
template <precision Q>
|
||||||
GLM_FUNC_QUALIFIER tmat3x2<T, P>::tmat3x2(tmat3x2<T, Q> const & m)
|
GLM_FUNC_QUALIFIER tmat3x2<T, P>::tmat3x2(tmat3x2<T, Q> const & m)
|
||||||
@@ -239,15 +231,6 @@ namespace glm
|
|||||||
//////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////
|
||||||
// Unary updatable operators
|
// Unary updatable operators
|
||||||
|
|
||||||
template <typename T, precision P>
|
|
||||||
GLM_FUNC_QUALIFIER tmat3x2<T, P>& tmat3x2<T, P>::operator=(tmat3x2<T, P> const & m)
|
|
||||||
{
|
|
||||||
this->value[0] = m[0];
|
|
||||||
this->value[1] = m[1];
|
|
||||||
this->value[2] = m[2];
|
|
||||||
return *this;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename T, precision P>
|
template <typename T, precision P>
|
||||||
template <typename U>
|
template <typename U>
|
||||||
GLM_FUNC_QUALIFIER tmat3x2<T, P>& tmat3x2<T, P>::operator=(tmat3x2<U, P> const & m)
|
GLM_FUNC_QUALIFIER tmat3x2<T, P>& tmat3x2<T, P>::operator=(tmat3x2<U, P> const & m)
|
||||||
|
|||||||
@@ -65,7 +65,6 @@ namespace glm
|
|||||||
public:
|
public:
|
||||||
// Constructors
|
// Constructors
|
||||||
GLM_FUNC_DECL tmat3x3();
|
GLM_FUNC_DECL tmat3x3();
|
||||||
GLM_FUNC_DECL tmat3x3(tmat3x3<T, P> const & m);
|
|
||||||
template <precision Q>
|
template <precision Q>
|
||||||
GLM_FUNC_DECL tmat3x3(tmat3x3<T, Q> const & m);
|
GLM_FUNC_DECL tmat3x3(tmat3x3<T, Q> const & m);
|
||||||
|
|
||||||
@@ -114,7 +113,6 @@ namespace glm
|
|||||||
GLM_FUNC_DECL col_type & operator[](length_t i);
|
GLM_FUNC_DECL col_type & operator[](length_t i);
|
||||||
GLM_FUNC_DECL col_type const & operator[](length_t i) const;
|
GLM_FUNC_DECL col_type const & operator[](length_t i) const;
|
||||||
|
|
||||||
GLM_FUNC_DECL tmat3x3<T, P>& operator= (tmat3x3<T, P> const & m);
|
|
||||||
template <typename U>
|
template <typename U>
|
||||||
GLM_FUNC_DECL tmat3x3<T, P>& operator= (tmat3x3<U, P> const & m);
|
GLM_FUNC_DECL tmat3x3<T, P>& operator= (tmat3x3<U, P> const & m);
|
||||||
template <typename U>
|
template <typename U>
|
||||||
|
|||||||
@@ -96,14 +96,6 @@ namespace detail
|
|||||||
# endif
|
# endif
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename T, precision P>
|
|
||||||
GLM_FUNC_QUALIFIER tmat3x3<T, P>::tmat3x3(tmat3x3<T, P> const & m)
|
|
||||||
{
|
|
||||||
this->value[0] = m.value[0];
|
|
||||||
this->value[1] = m.value[1];
|
|
||||||
this->value[2] = m.value[2];
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename T, precision P>
|
template <typename T, precision P>
|
||||||
GLM_FUNC_QUALIFIER tmat3x3<T, P>::tmat3x3(ctor)
|
GLM_FUNC_QUALIFIER tmat3x3<T, P>::tmat3x3(ctor)
|
||||||
{}
|
{}
|
||||||
@@ -263,15 +255,6 @@ namespace detail
|
|||||||
//////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////
|
||||||
// Operators
|
// Operators
|
||||||
|
|
||||||
template <typename T, precision P>
|
|
||||||
GLM_FUNC_QUALIFIER tmat3x3<T, P> & tmat3x3<T, P>::operator=(tmat3x3<T, P> const & m)
|
|
||||||
{
|
|
||||||
this->value[0] = m[0];
|
|
||||||
this->value[1] = m[1];
|
|
||||||
this->value[2] = m[2];
|
|
||||||
return *this;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename T, precision P>
|
template <typename T, precision P>
|
||||||
template <typename U>
|
template <typename U>
|
||||||
GLM_FUNC_QUALIFIER tmat3x3<T, P> & tmat3x3<T, P>::operator=(tmat3x3<U, P> const & m)
|
GLM_FUNC_QUALIFIER tmat3x3<T, P> & tmat3x3<T, P>::operator=(tmat3x3<U, P> const & m)
|
||||||
|
|||||||
@@ -61,7 +61,6 @@ namespace glm
|
|||||||
public:
|
public:
|
||||||
// Constructors
|
// Constructors
|
||||||
GLM_FUNC_DECL tmat3x4();
|
GLM_FUNC_DECL tmat3x4();
|
||||||
GLM_FUNC_DECL tmat3x4(tmat3x4<T, P> const & m);
|
|
||||||
template <precision Q>
|
template <precision Q>
|
||||||
GLM_FUNC_DECL tmat3x4(tmat3x4<T, Q> const & m);
|
GLM_FUNC_DECL tmat3x4(tmat3x4<T, Q> const & m);
|
||||||
|
|
||||||
@@ -110,7 +109,6 @@ namespace glm
|
|||||||
GLM_FUNC_DECL col_type & operator[](length_t i);
|
GLM_FUNC_DECL col_type & operator[](length_t i);
|
||||||
GLM_FUNC_DECL col_type const & operator[](length_t i) const;
|
GLM_FUNC_DECL col_type const & operator[](length_t i) const;
|
||||||
|
|
||||||
GLM_FUNC_DECL tmat3x4<T, P> & operator=(tmat3x4<T, P> const & m);
|
|
||||||
template <typename U>
|
template <typename U>
|
||||||
GLM_FUNC_DECL tmat3x4<T, P> & operator=(tmat3x4<U, P> const & m);
|
GLM_FUNC_DECL tmat3x4<T, P> & operator=(tmat3x4<U, P> const & m);
|
||||||
template <typename U>
|
template <typename U>
|
||||||
|
|||||||
@@ -72,14 +72,6 @@ namespace glm
|
|||||||
# endif
|
# endif
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename T, precision P>
|
|
||||||
GLM_FUNC_QUALIFIER tmat3x4<T, P>::tmat3x4(tmat3x4<T, P> const & m)
|
|
||||||
{
|
|
||||||
this->value[0] = m.value[0];
|
|
||||||
this->value[1] = m.value[1];
|
|
||||||
this->value[2] = m.value[2];
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename T, precision P>
|
template <typename T, precision P>
|
||||||
template <precision Q>
|
template <precision Q>
|
||||||
GLM_FUNC_QUALIFIER tmat3x4<T, P>::tmat3x4(tmat3x4<T, Q> const & m)
|
GLM_FUNC_QUALIFIER tmat3x4<T, P>::tmat3x4(tmat3x4<T, Q> const & m)
|
||||||
@@ -238,15 +230,6 @@ namespace glm
|
|||||||
//////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////
|
||||||
// Unary updatable operators
|
// Unary updatable operators
|
||||||
|
|
||||||
template <typename T, precision P>
|
|
||||||
GLM_FUNC_QUALIFIER tmat3x4<T, P>& tmat3x4<T, P>::operator=(tmat3x4<T, P> const & m)
|
|
||||||
{
|
|
||||||
this->value[0] = m[0];
|
|
||||||
this->value[1] = m[1];
|
|
||||||
this->value[2] = m[2];
|
|
||||||
return *this;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename T, precision P>
|
template <typename T, precision P>
|
||||||
template <typename U>
|
template <typename U>
|
||||||
GLM_FUNC_QUALIFIER tmat3x4<T, P>& tmat3x4<T, P>::operator=(tmat3x4<U, P> const & m)
|
GLM_FUNC_QUALIFIER tmat3x4<T, P>& tmat3x4<T, P>::operator=(tmat3x4<U, P> const & m)
|
||||||
|
|||||||
@@ -61,7 +61,6 @@ namespace glm
|
|||||||
public:
|
public:
|
||||||
// Constructors
|
// Constructors
|
||||||
GLM_FUNC_DECL tmat4x2();
|
GLM_FUNC_DECL tmat4x2();
|
||||||
GLM_FUNC_DECL tmat4x2(tmat4x2<T, P> const & m);
|
|
||||||
template <precision Q>
|
template <precision Q>
|
||||||
GLM_FUNC_DECL tmat4x2(tmat4x2<T, Q> const & m);
|
GLM_FUNC_DECL tmat4x2(tmat4x2<T, Q> const & m);
|
||||||
|
|
||||||
@@ -116,7 +115,6 @@ namespace glm
|
|||||||
GLM_FUNC_DECL col_type & operator[](length_t i);
|
GLM_FUNC_DECL col_type & operator[](length_t i);
|
||||||
GLM_FUNC_DECL col_type const & operator[](length_t i) const;
|
GLM_FUNC_DECL col_type const & operator[](length_t i) const;
|
||||||
|
|
||||||
GLM_FUNC_DECL tmat4x2<T, P>& operator=(tmat4x2<T, P> const & m);
|
|
||||||
template <typename U>
|
template <typename U>
|
||||||
GLM_FUNC_DECL tmat4x2<T, P>& operator=(tmat4x2<U, P> const & m);
|
GLM_FUNC_DECL tmat4x2<T, P>& operator=(tmat4x2<U, P> const & m);
|
||||||
template <typename U>
|
template <typename U>
|
||||||
|
|||||||
@@ -73,15 +73,6 @@ namespace glm
|
|||||||
# endif
|
# endif
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename T, precision P>
|
|
||||||
GLM_FUNC_QUALIFIER tmat4x2<T, P>::tmat4x2(tmat4x2<T, P> const & m)
|
|
||||||
{
|
|
||||||
this->value[0] = m.value[0];
|
|
||||||
this->value[1] = m.value[1];
|
|
||||||
this->value[2] = m.value[2];
|
|
||||||
this->value[3] = m.value[3];
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename T, precision P>
|
template <typename T, precision P>
|
||||||
template <precision Q>
|
template <precision Q>
|
||||||
GLM_FUNC_QUALIFIER tmat4x2<T, P>::tmat4x2(tmat4x2<T, Q> const & m)
|
GLM_FUNC_QUALIFIER tmat4x2<T, P>::tmat4x2(tmat4x2<T, Q> const & m)
|
||||||
@@ -262,16 +253,6 @@ namespace glm
|
|||||||
//////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////
|
||||||
// Unary updatable operators
|
// Unary updatable operators
|
||||||
|
|
||||||
template <typename T, precision P>
|
|
||||||
GLM_FUNC_QUALIFIER tmat4x2<T, P>& tmat4x2<T, P>::operator=(tmat4x2<T, P> const & m)
|
|
||||||
{
|
|
||||||
this->value[0] = m[0];
|
|
||||||
this->value[1] = m[1];
|
|
||||||
this->value[2] = m[2];
|
|
||||||
this->value[3] = m[3];
|
|
||||||
return *this;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename T, precision P>
|
template <typename T, precision P>
|
||||||
template <typename U>
|
template <typename U>
|
||||||
GLM_FUNC_QUALIFIER tmat4x2<T, P>& tmat4x2<T, P>::operator=(tmat4x2<U, P> const & m)
|
GLM_FUNC_QUALIFIER tmat4x2<T, P>& tmat4x2<T, P>::operator=(tmat4x2<U, P> const & m)
|
||||||
|
|||||||
@@ -60,7 +60,6 @@ namespace glm
|
|||||||
public:
|
public:
|
||||||
// Constructors
|
// Constructors
|
||||||
GLM_FUNC_DECL tmat4x3();
|
GLM_FUNC_DECL tmat4x3();
|
||||||
GLM_FUNC_DECL tmat4x3(tmat4x3<T, P> const & m);
|
|
||||||
template <precision Q>
|
template <precision Q>
|
||||||
GLM_FUNC_DECL tmat4x3(tmat4x3<T, Q> const & m);
|
GLM_FUNC_DECL tmat4x3(tmat4x3<T, Q> const & m);
|
||||||
|
|
||||||
@@ -115,7 +114,6 @@ namespace glm
|
|||||||
GLM_FUNC_DECL col_type & operator[](size_type i);
|
GLM_FUNC_DECL col_type & operator[](size_type i);
|
||||||
GLM_FUNC_DECL col_type const & operator[](size_type i) const;
|
GLM_FUNC_DECL col_type const & operator[](size_type i) const;
|
||||||
|
|
||||||
GLM_FUNC_DECL tmat4x3<T, P> & operator=(tmat4x3<T, P> const & m);
|
|
||||||
template <typename U>
|
template <typename U>
|
||||||
GLM_FUNC_DECL tmat4x3<T, P> & operator=(tmat4x3<U, P> const & m);
|
GLM_FUNC_DECL tmat4x3<T, P> & operator=(tmat4x3<U, P> const & m);
|
||||||
template <typename U>
|
template <typename U>
|
||||||
|
|||||||
@@ -73,15 +73,6 @@ namespace glm
|
|||||||
# endif
|
# endif
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename T, precision P>
|
|
||||||
GLM_FUNC_QUALIFIER tmat4x3<T, P>::tmat4x3(tmat4x3<T, P> const & m)
|
|
||||||
{
|
|
||||||
this->value[0] = m.value[0];
|
|
||||||
this->value[1] = m.value[1];
|
|
||||||
this->value[2] = m.value[2];
|
|
||||||
this->value[3] = m.value[3];
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename T, precision P>
|
template <typename T, precision P>
|
||||||
template <precision Q>
|
template <precision Q>
|
||||||
GLM_FUNC_QUALIFIER tmat4x3<T, P>::tmat4x3(tmat4x3<T, Q> const & m)
|
GLM_FUNC_QUALIFIER tmat4x3<T, P>::tmat4x3(tmat4x3<T, Q> const & m)
|
||||||
@@ -262,16 +253,6 @@ namespace glm
|
|||||||
//////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////
|
||||||
// Unary updatable operators
|
// Unary updatable operators
|
||||||
|
|
||||||
template <typename T, precision P>
|
|
||||||
GLM_FUNC_QUALIFIER tmat4x3<T, P>& tmat4x3<T, P>::operator=(tmat4x3<T, P> const & m)
|
|
||||||
{
|
|
||||||
this->value[0] = m[0];
|
|
||||||
this->value[1] = m[1];
|
|
||||||
this->value[2] = m[2];
|
|
||||||
this->value[3] = m[3];
|
|
||||||
return *this;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename T, precision P>
|
template <typename T, precision P>
|
||||||
template <typename U>
|
template <typename U>
|
||||||
GLM_FUNC_QUALIFIER tmat4x3<T, P>& tmat4x3<T, P>::operator=(tmat4x3<U, P> const & m)
|
GLM_FUNC_QUALIFIER tmat4x3<T, P>& tmat4x3<T, P>::operator=(tmat4x3<U, P> const & m)
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ namespace glm
|
|||||||
public:
|
public:
|
||||||
// Constructors
|
// Constructors
|
||||||
GLM_FUNC_DECL tmat4x4();
|
GLM_FUNC_DECL tmat4x4();
|
||||||
GLM_FUNC_DECL tmat4x4(tmat4x4<T, P> const & m);
|
//GLM_FUNC_DECL tmat4x4(tmat4x4<T, P> const & m);
|
||||||
template <precision Q>
|
template <precision Q>
|
||||||
GLM_FUNC_DECL tmat4x4(tmat4x4<T, Q> const & m);
|
GLM_FUNC_DECL tmat4x4(tmat4x4<T, Q> const & m);
|
||||||
|
|
||||||
@@ -120,7 +120,7 @@ namespace glm
|
|||||||
GLM_FUNC_DECL col_type & operator[](length_t i);
|
GLM_FUNC_DECL col_type & operator[](length_t i);
|
||||||
GLM_FUNC_DECL col_type const & operator[](length_t i) const;
|
GLM_FUNC_DECL col_type const & operator[](length_t i) const;
|
||||||
|
|
||||||
GLM_FUNC_DECL tmat4x4<T, P> & operator=(tmat4x4<T, P> const & m);
|
//GLM_FUNC_DECL tmat4x4<T, P> & operator=(tmat4x4<T, P> const & m);
|
||||||
template <typename U>
|
template <typename U>
|
||||||
GLM_FUNC_DECL tmat4x4<T, P> & operator=(tmat4x4<U, P> const & m);
|
GLM_FUNC_DECL tmat4x4<T, P> & operator=(tmat4x4<U, P> const & m);
|
||||||
template <typename U>
|
template <typename U>
|
||||||
|
|||||||
@@ -133,15 +133,6 @@ namespace detail
|
|||||||
# endif
|
# endif
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename T, precision P>
|
|
||||||
GLM_FUNC_QUALIFIER tmat4x4<T, P>::tmat4x4(tmat4x4<T, P> const & m)
|
|
||||||
{
|
|
||||||
this->value[0] = m[0];
|
|
||||||
this->value[1] = m[1];
|
|
||||||
this->value[2] = m[2];
|
|
||||||
this->value[3] = m[3];
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename T, precision P>
|
template <typename T, precision P>
|
||||||
template <precision Q>
|
template <precision Q>
|
||||||
GLM_FUNC_QUALIFIER tmat4x4<T, P>::tmat4x4(tmat4x4<T, Q> const & m)
|
GLM_FUNC_QUALIFIER tmat4x4<T, P>::tmat4x4(tmat4x4<T, Q> const & m)
|
||||||
@@ -348,18 +339,6 @@ namespace detail
|
|||||||
//////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////
|
||||||
// Operators
|
// Operators
|
||||||
|
|
||||||
template <typename T, precision P>
|
|
||||||
GLM_FUNC_QUALIFIER tmat4x4<T, P>& tmat4x4<T, P>::operator=(tmat4x4<T, P> const & m)
|
|
||||||
{
|
|
||||||
//memcpy could be faster
|
|
||||||
//memcpy(&this->value, &m.value, 16 * sizeof(valType));
|
|
||||||
this->value[0] = m[0];
|
|
||||||
this->value[1] = m[1];
|
|
||||||
this->value[2] = m[2];
|
|
||||||
this->value[3] = m[3];
|
|
||||||
return *this;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename T, precision P>
|
template <typename T, precision P>
|
||||||
template <typename U>
|
template <typename U>
|
||||||
GLM_FUNC_QUALIFIER tmat4x4<T, P>& tmat4x4<T, P>::operator=(tmat4x4<U, P> const & m)
|
GLM_FUNC_QUALIFIER tmat4x4<T, P>& tmat4x4<T, P>::operator=(tmat4x4<U, P> const & m)
|
||||||
|
|||||||
@@ -188,7 +188,11 @@ int test_ctr()
|
|||||||
{
|
{
|
||||||
int Error(0);
|
int Error(0);
|
||||||
|
|
||||||
Error += std::is_copy_constructible<glm::mat4>::value ? 0 : 1;
|
//Error += std::is_trivially_default_constructible<glm::mat4>::value ? 0 : 1;
|
||||||
|
//Error += std::is_trivially_copy_assignable<glm::mat4>::value ? 0 : 1;
|
||||||
|
Error += std::is_trivially_copyable<glm::mat4>::value ? 0 : 1;
|
||||||
|
//Error += std::is_copy_constructible<glm::mat4>::value ? 0 : 1;
|
||||||
|
//Error += std::has_trivial_copy_constructor<glm::mat4>::value ? 0 : 1;
|
||||||
|
|
||||||
#if(GLM_HAS_INITIALIZER_LISTS)
|
#if(GLM_HAS_INITIALIZER_LISTS)
|
||||||
glm::mat4 m0(
|
glm::mat4 m0(
|
||||||
|
|||||||
@@ -47,11 +47,11 @@ int test_vec4_ctor()
|
|||||||
glm::ivec4 B(A);
|
glm::ivec4 B(A);
|
||||||
Error += glm::all(glm::equal(A, B)) ? 0 : 1;
|
Error += glm::all(glm::equal(A, B)) ? 0 : 1;
|
||||||
|
|
||||||
Error += std::is_trivially_default_constructible<glm::vec4>::value ? 0 : 1;
|
// Error += std::is_trivially_default_constructible<glm::vec4>::value ? 0 : 1;
|
||||||
Error += std::is_trivially_copy_assignable<glm::vec4>::value ? 0 : 1;
|
// Error += std::is_trivially_copy_assignable<glm::vec4>::value ? 0 : 1;
|
||||||
Error += std::is_trivially_copyable<glm::vec4>::value ? 0 : 1;
|
Error += std::is_trivially_copyable<glm::vec4>::value ? 0 : 1;
|
||||||
Error += std::is_trivially_copy_assignable<glm::vec3>::value ? 0 : 1;
|
// Error += std::is_trivially_copy_assignable<glm::vec3>::value ? 0 : 1;
|
||||||
Error += std::is_trivially_copyable<glm::vec3>::value ? 0 : 1;
|
// Error += std::is_trivially_copyable<glm::vec3>::value ? 0 : 1;
|
||||||
|
|
||||||
Error += std::has_trivial_copy_constructor<glm::vec4>::value ? 0 : 1;
|
Error += std::has_trivial_copy_constructor<glm::vec4>::value ? 0 : 1;
|
||||||
Error += std::is_copy_constructible<glm::vec4>::value ? 0 : 1;
|
Error += std::is_copy_constructible<glm::vec4>::value ? 0 : 1;
|
||||||
|
|||||||
Reference in New Issue
Block a user