/// Transpose the matrix by referencing cells in the original matrix.
///
/// # Examples
///
/// With copy types, it is often useful to follow this by mapping a derefence:
///
/// ```
/// use matrix::*;
/// use matrix::type_nats::*;
///
/// let vals = vec![vec![1, 2], vec![3, 4]];
/// let mat: Matrix<N2, N2, i32> = Matrix::from_rows_auto(vals.clone()).unwrap();
/// let transpose = mat.transposed().map(|&x| *x);
///
/// assert_eq!(transpose, Matrix::from_cols_auto(vals).unwrap());
/// ```
Transpose the matrix by referencing cells in the original matrix.
Transpose the matrix by referencing cells in the original matrix .
pub fn transposed(&self) -> Matrix<M, N, &T> {
        unsafe {
            Matrix::from_rows_unsafe(self.num_cols.clone(),
                                     self.num_rows.clone(),
                                     self.iter_cols())
        }
    }
pub fn transposed ( & self ) -> Matrix < M , N , & T > { unsafe { Matrix :: from_rows_unsafe ( self . num_cols . clone ( ) , self . num_rows . clone ( ) , self . iter_cols ( ) ) } }
Transpose the matrix by referencing cells in the original matrix.
Transpose the matrix by referencing cells in the original matrix .
&self
examples
With copy types, it is often useful to follow this by mapping a derefence.

```
use matrix::*;
use matrix::type_nats::*.

let vals = vec![vec![1, 2], vec![3, 4]];
let mat: Matrix = Matrix::from_rows_auto(vals.clone()).unwrap();
let transpose = mat.transposed().map(|&x| *x).

assert_eq!(transpose, Matrix::from_cols_auto(vals).unwrap());
```
With copy types it is often useful to follow this by mapping a derefence . ` ` ` use matrix :: * ; use matrix :: type_nats :: * . let vals = vec! [ vec! [ 1 2 ] vec! [ 3 4 ]] ; let mat : Matrix = Matrix :: from_rows_auto ( vals . clone () ) . unwrap () ; let transpose = mat . transposed () . map ( |&x| * x ) . assert_eq! ( transpose Matrix :: from_cols_auto ( vals ) . unwrap () ) ; ` ` `