Browse Source

Added assert to row and column functions

Christophe Riccio 12 years ago
parent
commit
6487ed1c34
2 changed files with 16 additions and 8 deletions
  1. 4 4
      glm/gtc/matrix_access.hpp
  2. 12 4
      glm/gtc/matrix_access.inl

+ 4 - 4
glm/gtc/matrix_access.hpp

@@ -54,14 +54,14 @@ namespace glm
 	template <typename genType> 
 	typename genType::row_type row(
 		genType const & m, 
-		int index);
+		typename genType::size_type const & index);
 
 	/// Set a specific row to a matrix.
 	/// @see gtc_matrix_access
 	template <typename genType> 
 	genType row(
 		genType const & m, 
-		int index, 
+		typename genType::size_type const & index, 
 		typename genType::row_type const & x);
 
 	/// Get a specific column of a matrix.
@@ -69,14 +69,14 @@ namespace glm
 	template <typename genType> 
 	typename genType::col_type column(
 		genType const & m, 
-		int index);
+		typename genType::size_type const & index);
 
 	/// Set a specific column to a matrix.
 	/// @see gtc_matrix_access
 	template <typename genType> 
 	genType column(
 		genType const & m, 
-		int index, 
+		typename genType::size_type const & index, 
 		typename genType::col_type const & x);
 
 	/// @}

+ 12 - 4
glm/gtc/matrix_access.inl

@@ -32,10 +32,12 @@ namespace glm
 	GLM_FUNC_QUALIFIER genType row
 	(
 		genType const & m, 
-		int index, 
+		typename genType::size_type const & index, 
 		typename genType::row_type const & x
 	)
 	{
+		assert(index < m.col_size());
+
 		genType Result = m;
 		for(typename genType::size_type i = 0; i < genType::row_size(); ++i)
 			Result[i][index] = x[i];
@@ -46,9 +48,11 @@ namespace glm
 	GLM_FUNC_QUALIFIER typename genType::row_type row
 	(
 		genType const & m,
-		int index
+		typename genType::size_type const & index
 	)
 	{
+		assert(index < m.col_size());
+
 		typename genType::row_type Result;
 		for(typename genType::size_type i = 0; i < genType::row_size(); ++i)
 			Result[i] = m[i][index];
@@ -59,10 +63,12 @@ namespace glm
 	GLM_FUNC_QUALIFIER genType column
 	(
 		genType const & m,
-		int index,
+		typename genType::size_type const & index,
 		typename genType::col_type const & x
 	)
 	{
+		assert(index < m.row_size());
+
 		genType Result = m;
 		Result[index] = x;
 		return Result;
@@ -72,9 +78,11 @@ namespace glm
 	GLM_FUNC_QUALIFIER typename genType::col_type column
 	(
 		genType const & m,
-		int index
+		typename genType::size_type const & index
 	)
 	{
+		assert(index < m.row_size());
+
 		return m[index];
 	}
 }//namespace glm