Browse Source

All *vec* types are copyable #263

Christophe Riccio 11 years ago
parent
commit
838bdee3c3

+ 0 - 3
glm/detail/type_vec1.hpp

@@ -102,7 +102,6 @@ namespace glm
 		// Implicit basic constructors
 		// Implicit basic constructors
 
 
 		GLM_FUNC_DECL tvec1();
 		GLM_FUNC_DECL tvec1();
-		GLM_FUNC_DECL tvec1(tvec1<T, P> const & v);
 		template <precision Q>
 		template <precision Q>
 		GLM_FUNC_DECL tvec1(tvec1<T, Q> const & v);
 		GLM_FUNC_DECL tvec1(tvec1<T, Q> const & v);
 
 
@@ -142,8 +141,6 @@ namespace glm
 		//////////////////////////////////////
 		//////////////////////////////////////
 		// Unary arithmetic operators
 		// Unary arithmetic operators
 
 
-		GLM_FUNC_DECL tvec1<T, P> & operator=(tvec1<T, P> const & v);
-
 		template <typename U> 
 		template <typename U> 
 		GLM_FUNC_DECL tvec1<T, P> & operator=(tvec1<U, P> const & v);
 		GLM_FUNC_DECL tvec1<T, P> & operator=(tvec1<U, P> const & v);
 		template <typename U> 
 		template <typename U> 

+ 0 - 12
glm/detail/type_vec1.inl

@@ -69,11 +69,6 @@ namespace glm
 #		endif
 #		endif
 	{}
 	{}
 
 
-	template <typename T, precision P>
-	GLM_FUNC_QUALIFIER tvec1<T, P>::tvec1(tvec1<T, P> const & v)
-		: x(v.x)
-	{}
-
 	template <typename T, precision P>
 	template <typename T, precision P>
 	template <precision Q>
 	template <precision Q>
 	GLM_FUNC_QUALIFIER tvec1<T, P>::tvec1(tvec1<T, Q> const & v)
 	GLM_FUNC_QUALIFIER tvec1<T, P>::tvec1(tvec1<T, Q> const & v)
@@ -122,13 +117,6 @@ namespace glm
 	//////////////////////////////////////
 	//////////////////////////////////////
 	// Unary arithmetic operators
 	// Unary arithmetic operators
 
 
-	template <typename T, precision P>
-	GLM_FUNC_QUALIFIER tvec1<T, P> & tvec1<T, P>::operator=(tvec1<T, P> const & v)
-	{
-		this->x = v.x;
-		return *this;
-	}
-
 	template <typename T, precision P>
 	template <typename T, precision P>
 	template <typename U> 
 	template <typename U> 
 	GLM_FUNC_QUALIFIER tvec1<T, P> & tvec1<T, P>::operator=(tvec1<U, P> const & v)
 	GLM_FUNC_QUALIFIER tvec1<T, P> & tvec1<T, P>::operator=(tvec1<U, P> const & v)

+ 0 - 3
glm/detail/type_vec2.hpp

@@ -104,7 +104,6 @@ namespace glm
 		// Implicit basic constructors
 		// Implicit basic constructors
 
 
 		GLM_FUNC_DECL tvec2();
 		GLM_FUNC_DECL tvec2();
-		GLM_FUNC_DECL tvec2(tvec2<T, P> const & v);
 		template <precision Q>
 		template <precision Q>
 		GLM_FUNC_DECL tvec2(tvec2<T, Q> const & v);
 		GLM_FUNC_DECL tvec2(tvec2<T, Q> const & v);
 
 
@@ -151,8 +150,6 @@ namespace glm
 		//////////////////////////////////////
 		//////////////////////////////////////
 		// Unary arithmetic operators
 		// Unary arithmetic operators
 
 
-		GLM_FUNC_DECL tvec2<T, P> & operator=(tvec2<T, P> const & v);
-
 		template <typename U>
 		template <typename U>
 		GLM_FUNC_DECL tvec2<T, P> & operator=(tvec2<U, P> const & v);
 		GLM_FUNC_DECL tvec2<T, P> & operator=(tvec2<U, P> const & v);
 		template <typename U>
 		template <typename U>

+ 1 - 14
glm/detail/type_vec2.inl

@@ -64,16 +64,11 @@ namespace glm
 
 
 	template <typename T, precision P>
 	template <typename T, precision P>
 	GLM_FUNC_QUALIFIER tvec2<T, P>::tvec2()
 	GLM_FUNC_QUALIFIER tvec2<T, P>::tvec2()
-#		ifndef GLM_FORCE_NO_CTOR_INIT 
+#		ifndef GLM_FORCE_NO_CTOR_INIT
 			: x(0), y(0) 
 			: x(0), y(0) 
 #		endif
 #		endif
 	{}
 	{}
 
 
-	template <typename T, precision P>
-	GLM_FUNC_QUALIFIER tvec2<T, P>::tvec2(tvec2<T, P> const & v)
-		: x(v.x), y(v.y)
-	{}
-
 	template <typename T, precision P>
 	template <typename T, precision P>
 	template <precision Q>
 	template <precision Q>
 	GLM_FUNC_QUALIFIER tvec2<T, P>::tvec2(tvec2<T, Q> const & v)
 	GLM_FUNC_QUALIFIER tvec2<T, P>::tvec2(tvec2<T, Q> const & v)
@@ -141,14 +136,6 @@ namespace glm
 	//////////////////////////////////////
 	//////////////////////////////////////
 	// Unary arithmetic operators
 	// Unary arithmetic operators
 
 
-	template <typename T, precision P>
-	GLM_FUNC_QUALIFIER tvec2<T, P> & tvec2<T, P>::operator=(tvec2<T, P> const & v)
-	{
-		this->x = v.x;
-		this->y = v.y;
-		return *this;
-	}
-
 	template <typename T, precision P>
 	template <typename T, precision P>
 	template <typename U>
 	template <typename U>
 	GLM_FUNC_QUALIFIER tvec2<T, P> & tvec2<T, P>::operator=(tvec2<U, P> const & v)
 	GLM_FUNC_QUALIFIER tvec2<T, P> & tvec2<T, P>::operator=(tvec2<U, P> const & v)

+ 0 - 3
glm/detail/type_vec3.hpp

@@ -105,7 +105,6 @@ namespace glm
 		// Implicit basic constructors
 		// Implicit basic constructors
 
 
 		GLM_FUNC_DECL tvec3();
 		GLM_FUNC_DECL tvec3();
-		GLM_FUNC_DECL tvec3(tvec3<T, P> const & v);
 		template <precision Q>
 		template <precision Q>
 		GLM_FUNC_DECL tvec3(tvec3<T, Q> const & v);
 		GLM_FUNC_DECL tvec3(tvec3<T, Q> const & v);
 
 
@@ -173,8 +172,6 @@ namespace glm
 		//////////////////////////////////////
 		//////////////////////////////////////
 		// Unary arithmetic operators
 		// Unary arithmetic operators
 
 
-		GLM_FUNC_DECL tvec3<T, P> & operator=(tvec3<T, P> const & v);
-
 		template <typename U>
 		template <typename U>
 		GLM_FUNC_DECL tvec3<T, P> & operator=(tvec3<U, P> const & v);
 		GLM_FUNC_DECL tvec3<T, P> & operator=(tvec3<U, P> const & v);
 		template <typename U>
 		template <typename U>

+ 0 - 14
glm/detail/type_vec3.inl

@@ -69,11 +69,6 @@ namespace glm
 #		endif
 #		endif
 	{}
 	{}
 
 
-	template <typename T, precision P>
-	GLM_FUNC_QUALIFIER tvec3<T, P>::tvec3(tvec3<T, P> const & v)
-		: x(v.x), y(v.y), z(v.z)
-	{}
-
 	template <typename T, precision P>
 	template <typename T, precision P>
 	template <precision Q>
 	template <precision Q>
 	GLM_FUNC_QUALIFIER tvec3<T, P>::tvec3(tvec3<T, Q> const & v)
 	GLM_FUNC_QUALIFIER tvec3<T, P>::tvec3(tvec3<T, Q> const & v)
@@ -170,15 +165,6 @@ namespace glm
 	//////////////////////////////////////
 	//////////////////////////////////////
 	// Unary arithmetic operators
 	// Unary arithmetic operators
 
 
-	template <typename T, precision P>
-	GLM_FUNC_QUALIFIER tvec3<T, P>& tvec3<T, P>::operator=(tvec3<T, P> const & v)
-	{
-		this->x = v.x;
-		this->y = v.y;
-		this->z = v.z;
-		return *this;
-	}
-
 	template <typename T, precision P>
 	template <typename T, precision P>
 	template <typename U>
 	template <typename U>
 	GLM_FUNC_QUALIFIER tvec3<T, P>& tvec3<T, P>::operator=(tvec3<U, P> const & v)
 	GLM_FUNC_QUALIFIER tvec3<T, P>& tvec3<T, P>::operator=(tvec3<U, P> const & v)

+ 0 - 3
glm/detail/type_vec4.hpp

@@ -148,7 +148,6 @@ namespace detail
 		// Implicit basic constructors
 		// Implicit basic constructors
 
 
 		GLM_FUNC_DECL tvec4();
 		GLM_FUNC_DECL tvec4();
-		//GLM_FUNC_DECL tvec4(tvec4<T, P> const & v);
 		template <precision Q>
 		template <precision Q>
 		GLM_FUNC_DECL tvec4(tvec4<T, Q> const & v);
 		GLM_FUNC_DECL tvec4(tvec4<T, Q> const & v);
 
 
@@ -259,8 +258,6 @@ namespace detail
 		//////////////////////////////////////
 		//////////////////////////////////////
 		// Unary arithmetic operators
 		// Unary arithmetic operators
 
 
-		//GLM_FUNC_DECL tvec4<T, P> & operator=(tvec4<T, P> const & v);
-
 		template <typename U>
 		template <typename U>
 		GLM_FUNC_DECL tvec4<T, P> & operator=(tvec4<U, P> const & v);
 		GLM_FUNC_DECL tvec4<T, P> & operator=(tvec4<U, P> const & v);
 		template <typename U>
 		template <typename U>