Browse Source

Fixed default and constexpr build issues

Christophe Riccio 7 years ago
parent
commit
d746c1eba9

+ 1 - 1
glm/detail/type_mat2x2.hpp

@@ -74,7 +74,7 @@ namespace glm
 
 
 		// -- Unary arithmetic operators --
 		// -- Unary arithmetic operators --
 
 
-		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<2, 2, T, Q> & operator=(mat<2, 2, T, Q> const& v) GLM_DEFAULT;
+		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<2, 2, T, Q> & operator=(mat<2, 2, T, Q> const& v);
 
 
 		template<typename U>
 		template<typename U>
 		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<2, 2, T, Q> & operator=(mat<2, 2, U, Q> const& m);
 		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<2, 2, T, Q> & operator=(mat<2, 2, U, Q> const& m);

+ 7 - 9
glm/detail/type_mat2x2.inl

@@ -235,15 +235,13 @@ namespace glm
 
 
 	// -- Unary updatable operators --
 	// -- Unary updatable operators --
 
 
-#	if !GLM_HAS_DEFAULTED_FUNCTIONS
-		template<typename T, qualifier Q>
-		GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX14 mat<2, 2, T, Q>& mat<2, 2, T, Q>::operator=(mat<2, 2, T, Q> const& m)
-		{
-			this->value[0] = m[0];
-			this->value[1] = m[1];
-			return *this;
-		}
-#	endif//!GLM_HAS_DEFAULTED_FUNCTIONS
+	template<typename T, qualifier Q>
+	GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX14 mat<2, 2, T, Q>& mat<2, 2, T, Q>::operator=(mat<2, 2, T, Q> const& m)
+	{
+		this->value[0] = m[0];
+		this->value[1] = m[1];
+		return *this;
+	}
 
 
 	template<typename T, qualifier Q>
 	template<typename T, qualifier Q>
 	template<typename U>
 	template<typename U>

+ 1 - 1
glm/detail/type_mat2x3.hpp

@@ -75,7 +75,7 @@ namespace glm
 
 
 		// -- Unary arithmetic operators --
 		// -- Unary arithmetic operators --
 
 
-		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<2, 3, T, Q> & operator=(mat<2, 3, T, Q> const& m) GLM_DEFAULT;
+		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<2, 3, T, Q> & operator=(mat<2, 3, T, Q> const& m);
 
 
 		template<typename U>
 		template<typename U>
 		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<2, 3, T, Q> & operator=(mat<2, 3, U, Q> const& m);
 		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<2, 3, T, Q> & operator=(mat<2, 3, U, Q> const& m);

+ 7 - 9
glm/detail/type_mat2x3.inl

@@ -165,15 +165,13 @@ namespace glm
 
 
 	// -- Unary updatable operators --
 	// -- Unary updatable operators --
 
 
-#	if !GLM_HAS_DEFAULTED_FUNCTIONS
-		template<typename T, qualifier Q>
-		GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX14 mat<2, 3, T, Q>& mat<2, 3, T, Q>::operator=(mat<2, 3, T, Q> const& m)
-		{
-			this->value[0] = m[0];
-			this->value[1] = m[1];
-			return *this;
-		}
-#	endif//!GLM_HAS_DEFAULTED_FUNCTIONS
+	template<typename T, qualifier Q>
+	GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX14 mat<2, 3, T, Q>& mat<2, 3, T, Q>::operator=(mat<2, 3, T, Q> const& m)
+	{
+		this->value[0] = m[0];
+		this->value[1] = m[1];
+		return *this;
+	}
 
 
 	template<typename T, qualifier Q>
 	template<typename T, qualifier Q>
 	template<typename U>
 	template<typename U>

+ 1 - 2
glm/detail/type_mat2x4.hpp

@@ -36,7 +36,6 @@ namespace glm
 		// -- Constructors --
 		// -- Constructors --
 
 
 		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat() GLM_DEFAULT_CTOR;
 		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat() GLM_DEFAULT_CTOR;
-		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat(mat<2, 4, T, Q> const& m) GLM_DEFAULT;
 		template<qualifier P>
 		template<qualifier P>
 		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat(mat<2, 4, T, P> const& m);
 		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat(mat<2, 4, T, P> const& m);
 
 
@@ -78,7 +77,7 @@ namespace glm
 
 
 		// -- Unary arithmetic operators --
 		// -- Unary arithmetic operators --
 
 
-		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<2, 4, T, Q> & operator=(mat<2, 4, T, Q> const& m) GLM_DEFAULT;
+		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<2, 4, T, Q> & operator=(mat<2, 4, T, Q> const& m);
 
 
 		template<typename U>
 		template<typename U>
 		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<2, 4, T, Q> & operator=(mat<2, 4, U, Q> const& m);
 		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<2, 4, T, Q> & operator=(mat<2, 4, U, Q> const& m);

+ 7 - 9
glm/detail/type_mat2x4.inl

@@ -161,15 +161,13 @@ namespace glm
 
 
 	// -- Unary updatable operators --
 	// -- Unary updatable operators --
 
 
-#	if !GLM_HAS_DEFAULTED_FUNCTIONS
-		template<typename T, qualifier Q>
-		GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX14 mat<2, 4, T, Q>& mat<2, 4, T, Q>::operator=(mat<2, 4, T, Q> const& m)
-		{
-			this->value[0] = m[0];
-			this->value[1] = m[1];
-			return *this;
-		}
-#	endif//!GLM_HAS_DEFAULTED_FUNCTIONS
+	template<typename T, qualifier Q>
+	GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX14 mat<2, 4, T, Q>& mat<2, 4, T, Q>::operator=(mat<2, 4, T, Q> const& m)
+	{
+		this->value[0] = m[0];
+		this->value[1] = m[1];
+		return *this;
+	}
 
 
 	template<typename T, qualifier Q>
 	template<typename T, qualifier Q>
 	template<typename U>
 	template<typename U>

+ 1 - 2
glm/detail/type_mat3x2.hpp

@@ -36,7 +36,6 @@ namespace glm
 		// -- Constructors --
 		// -- Constructors --
 
 
 		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat() GLM_DEFAULT_CTOR;
 		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat() GLM_DEFAULT_CTOR;
-		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat(mat<3, 2, T, Q> const& m) GLM_DEFAULT;
 		template<qualifier P>
 		template<qualifier P>
 		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat(mat<3, 2, T, P> const& m);
 		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat(mat<3, 2, T, P> const& m);
 
 
@@ -83,7 +82,7 @@ namespace glm
 
 
 		// -- Unary arithmetic operators --
 		// -- Unary arithmetic operators --
 
 
-		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<3, 2, T, Q> & operator=(mat<3, 2, T, Q> const& m) GLM_DEFAULT;
+		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<3, 2, T, Q> & operator=(mat<3, 2, T, Q> const& m);
 
 
 		template<typename U>
 		template<typename U>
 		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<3, 2, T, Q> & operator=(mat<3, 2, U, Q> const& m);
 		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<3, 2, T, Q> & operator=(mat<3, 2, U, Q> const& m);

+ 8 - 10
glm/detail/type_mat3x2.inl

@@ -189,16 +189,14 @@ namespace glm
 
 
 	// -- Unary updatable operators --
 	// -- Unary updatable operators --
 
 
-#	if !GLM_HAS_DEFAULTED_FUNCTIONS
-		template<typename T, qualifier Q>
-		GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX14 mat<3, 2, T, Q>& mat<3, 2, T, Q>::operator=(mat<3, 2, T, Q> const& m)
-		{
-			this->value[0] = m[0];
-			this->value[1] = m[1];
-			this->value[2] = m[2];
-			return *this;
-		}
-#	endif//!GLM_HAS_DEFAULTED_FUNCTIONS
+	template<typename T, qualifier Q>
+	GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX14 mat<3, 2, T, Q>& mat<3, 2, T, Q>::operator=(mat<3, 2, T, Q> const& m)
+	{
+		this->value[0] = m[0];
+		this->value[1] = m[1];
+		this->value[2] = m[2];
+		return *this;
+	}
 
 
 	template<typename T, qualifier Q>
 	template<typename T, qualifier Q>
 	template<typename U>
 	template<typename U>

+ 1 - 2
glm/detail/type_mat3x3.hpp

@@ -35,7 +35,6 @@ namespace glm
 		// -- Constructors --
 		// -- Constructors --
 
 
 		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat() GLM_DEFAULT_CTOR;
 		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat() GLM_DEFAULT_CTOR;
-		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat(mat<3, 3, T, Q> const& m) GLM_DEFAULT;
 		template<qualifier P>
 		template<qualifier P>
 		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat(mat<3, 3, T, P> const& m);
 		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat(mat<3, 3, T, P> const& m);
 
 
@@ -82,7 +81,7 @@ namespace glm
 
 
 		// -- Unary arithmetic operators --
 		// -- Unary arithmetic operators --
 
 
-		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<3, 3, T, Q> & operator=(mat<3, 3, T, Q> const& m) GLM_DEFAULT;
+		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<3, 3, T, Q> & operator=(mat<3, 3, T, Q> const& m);
 
 
 		template<typename U>
 		template<typename U>
 		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<3, 3, T, Q> & operator=(mat<3, 3, U, Q> const& m);
 		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<3, 3, T, Q> & operator=(mat<3, 3, U, Q> const& m);

+ 8 - 10
glm/detail/type_mat3x3.inl

@@ -191,16 +191,14 @@ namespace glm
 
 
 	// -- Unary updatable operators --
 	// -- Unary updatable operators --
 
 
-#	if !GLM_HAS_DEFAULTED_FUNCTIONS
-		template<typename T, qualifier Q>
-		GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX14 mat<3, 3, T, Q> & mat<3, 3, T, Q>::operator=(mat<3, 3, T, Q> const& m)
-		{
-			this->value[0] = m[0];
-			this->value[1] = m[1];
-			this->value[2] = m[2];
-			return *this;
-		}
-#	endif//!GLM_HAS_DEFAULTED_FUNCTIONS
+	template<typename T, qualifier Q>
+	GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX14 mat<3, 3, T, Q> & mat<3, 3, T, Q>::operator=(mat<3, 3, T, Q> const& m)
+	{
+		this->value[0] = m[0];
+		this->value[1] = m[1];
+		this->value[2] = m[2];
+		return *this;
+	}
 
 
 	template<typename T, qualifier Q>
 	template<typename T, qualifier Q>
 	template<typename U>
 	template<typename U>

+ 1 - 2
glm/detail/type_mat3x4.hpp

@@ -36,7 +36,6 @@ namespace glm
 		// -- Constructors --
 		// -- Constructors --
 
 
 		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat() GLM_DEFAULT_CTOR;
 		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat() GLM_DEFAULT_CTOR;
-		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat(mat<3, 4, T, Q> const& m) GLM_DEFAULT;
 		template<qualifier P>
 		template<qualifier P>
 		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat(mat<3, 4, T, P> const& m);
 		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat(mat<3, 4, T, P> const& m);
 
 
@@ -83,7 +82,7 @@ namespace glm
 
 
 		// -- Unary arithmetic operators --
 		// -- Unary arithmetic operators --
 
 
-		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<3, 4, T, Q> & operator=(mat<3, 4, T, Q> const& m) GLM_DEFAULT;
+		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<3, 4, T, Q> & operator=(mat<3, 4, T, Q> const& m);
 
 
 		template<typename U>
 		template<typename U>
 		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<3, 4, T, Q> & operator=(mat<3, 4, U, Q> const& m);
 		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<3, 4, T, Q> & operator=(mat<3, 4, U, Q> const& m);

+ 8 - 10
glm/detail/type_mat3x4.inl

@@ -189,16 +189,14 @@ namespace glm
 
 
 	// -- Unary updatable operators --
 	// -- Unary updatable operators --
 
 
-#	if !GLM_HAS_DEFAULTED_FUNCTIONS
-		template<typename T, qualifier Q>
-		GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX14 mat<3, 4, T, Q>& mat<3, 4, T, Q>::operator=(mat<3, 4, T, Q> const& m)
-		{
-			this->value[0] = m[0];
-			this->value[1] = m[1];
-			this->value[2] = m[2];
-			return *this;
-		}
-#	endif//!GLM_HAS_DEFAULTED_FUNCTIONS
+	template<typename T, qualifier Q>
+	GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX14 mat<3, 4, T, Q>& mat<3, 4, T, Q>::operator=(mat<3, 4, T, Q> const& m)
+	{
+		this->value[0] = m[0];
+		this->value[1] = m[1];
+		this->value[2] = m[2];
+		return *this;
+	}
 
 
 	template<typename T, qualifier Q>
 	template<typename T, qualifier Q>
 	template<typename U>
 	template<typename U>

+ 1 - 2
glm/detail/type_mat4x2.hpp

@@ -36,7 +36,6 @@ namespace glm
 		// -- Constructors --
 		// -- Constructors --
 
 
 		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat() GLM_DEFAULT_CTOR;
 		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat() GLM_DEFAULT_CTOR;
-		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat(mat<4, 2, T, Q> const& m) GLM_DEFAULT;
 		template<qualifier P>
 		template<qualifier P>
 		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat(mat<4, 2, T, P> const& m);
 		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat(mat<4, 2, T, P> const& m);
 
 
@@ -88,7 +87,7 @@ namespace glm
 
 
 		// -- Unary arithmetic operators --
 		// -- Unary arithmetic operators --
 
 
-		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<4, 2, T, Q> & operator=(mat<4, 2, T, Q> const& m) GLM_DEFAULT;
+		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<4, 2, T, Q> & operator=(mat<4, 2, T, Q> const& m);
 
 
 		template<typename U>
 		template<typename U>
 		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<4, 2, T, Q> & operator=(mat<4, 2, U, Q> const& m);
 		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<4, 2, T, Q> & operator=(mat<4, 2, U, Q> const& m);

+ 9 - 11
glm/detail/type_mat4x2.inl

@@ -210,17 +210,15 @@ namespace glm
 
 
 	// -- Unary updatable operators --
 	// -- Unary updatable operators --
 
 
-#	if !GLM_HAS_DEFAULTED_FUNCTIONS
-		template<typename T, qualifier Q>
-		GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX14 mat<4, 2, T, Q>& mat<4, 2, T, Q>::operator=(mat<4, 2, T, Q> const& m)
-		{
-			this->value[0] = m[0];
-			this->value[1] = m[1];
-			this->value[2] = m[2];
-			this->value[3] = m[3];
-			return *this;
-		}
-#	endif//!GLM_HAS_DEFAULTED_FUNCTIONS
+	template<typename T, qualifier Q>
+	GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX14 mat<4, 2, T, Q>& mat<4, 2, T, Q>::operator=(mat<4, 2, T, Q> 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, qualifier Q>
 	template<typename T, qualifier Q>
 	template<typename U>
 	template<typename U>

+ 1 - 2
glm/detail/type_mat4x3.hpp

@@ -36,7 +36,6 @@ namespace glm
 		// -- Constructors --
 		// -- Constructors --
 
 
 		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat() GLM_DEFAULT_CTOR;
 		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat() GLM_DEFAULT_CTOR;
-		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat(mat<4, 3, T, Q> const& m) GLM_DEFAULT;
 		template<qualifier P>
 		template<qualifier P>
 		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat(mat<4, 3, T, P> const& m);
 		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat(mat<4, 3, T, P> const& m);
 
 
@@ -88,7 +87,7 @@ namespace glm
 
 
 		// -- Unary arithmetic operators --
 		// -- Unary arithmetic operators --
 
 
-		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<4, 3, T, Q> & operator=(mat<4, 3, T, Q> const& m) GLM_DEFAULT;
+		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<4, 3, T, Q> & operator=(mat<4, 3, T, Q> const& m);
 
 
 		template<typename U>
 		template<typename U>
 		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<4, 3, T, Q> & operator=(mat<4, 3, U, Q> const& m);
 		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<4, 3, T, Q> & operator=(mat<4, 3, U, Q> const& m);

+ 9 - 11
glm/detail/type_mat4x3.inl

@@ -210,17 +210,15 @@ namespace glm
 
 
 	// -- Unary updatable operators --
 	// -- Unary updatable operators --
 
 
-#	if !GLM_HAS_DEFAULTED_FUNCTIONS
-		template<typename T, qualifier Q>
-		GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX14 mat<4, 3, T, Q>& mat<4, 3, T, Q>::operator=(mat<4, 3, T, Q> const& m)
-		{
-			this->value[0] = m[0];
-			this->value[1] = m[1];
-			this->value[2] = m[2];
-			this->value[3] = m[3];
-			return *this;
-		}
-#	endif//!GLM_HAS_DEFAULTED_FUNCTIONS
+	template<typename T, qualifier Q>
+	GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX14 mat<4, 3, T, Q>& mat<4, 3, T, Q>::operator=(mat<4, 3, T, Q> 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, qualifier Q>
 	template<typename T, qualifier Q>
 	template<typename U>
 	template<typename U>

+ 1 - 2
glm/detail/type_mat4x4.hpp

@@ -35,7 +35,6 @@ namespace glm
 		// -- Constructors --
 		// -- Constructors --
 
 
 		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat() GLM_DEFAULT_CTOR;
 		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat() GLM_DEFAULT_CTOR;
-		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat(mat<4, 4, T, Q> const& m) GLM_DEFAULT;
 		template<qualifier P>
 		template<qualifier P>
 		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat(mat<4, 4, T, P> const& m);
 		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat(mat<4, 4, T, P> const& m);
 
 
@@ -87,7 +86,7 @@ namespace glm
 
 
 		// -- Unary arithmetic operators --
 		// -- Unary arithmetic operators --
 
 
-		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<4, 4, T, Q> & operator=(mat<4, 4, T, Q> const& m) GLM_DEFAULT;
+		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<4, 4, T, Q> & operator=(mat<4, 4, T, Q> const& m);
 
 
 		template<typename U>
 		template<typename U>
 		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<4, 4, T, Q> & operator=(mat<4, 4, U, Q> const& m);
 		GLM_FUNC_DECL GLM_CONSTEXPR_CXX14 mat<4, 4, T, Q> & operator=(mat<4, 4, U, Q> const& m);

+ 11 - 13
glm/detail/type_mat4x4.inl

@@ -237,19 +237,17 @@ namespace glm
 
 
 	// -- Unary arithmetic operators --
 	// -- Unary arithmetic operators --
 
 
-#	if !GLM_HAS_DEFAULTED_FUNCTIONS
-		template<typename T, qualifier Q>
-		GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX14 mat<4, 4, T, Q>& mat<4, 4, T, Q>::operator=(mat<4, 4, T, Q> 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;
-		}
-#	endif//!GLM_HAS_DEFAULTED_FUNCTIONS
+	template<typename T, qualifier Q>
+	GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX14 mat<4, 4, T, Q>& mat<4, 4, T, Q>::operator=(mat<4, 4, T, Q> 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, qualifier Q>
 	template<typename T, qualifier Q>
 	template<typename U>
 	template<typename U>