`pub type MatrixView5<'a, T, RStride = Const<1>, CStride = Const<5>> = Matrix<T, Const<5>, Const<5>, ViewStorage<'a, T, Const<5>, Const<5>, RStride, CStride>>;`

## Expand description

An immutable column-major 5x5 matrix view.

See `MatrixViewMut5`

for a mutable version of this type.

**Because this is an alias, not all its methods are listed here. See the Matrix type too.**

## Aliased Type§

```
struct MatrixView5<'a, T, RStride = Const<1>, CStride = Const<5>> {
pub data: ViewStorage<'a, T, Const<5>, Const<5>, RStride, CStride>,
/* private fields */
}
```

## Fields§

§`data: ViewStorage<'a, T, Const<5>, Const<5>, RStride, CStride>`

The data storage that contains all the matrix components. Disappointed?

Well, if you came here to see how you can access the matrix components,
you may be in luck: you can access the individual components of all vectors with compile-time
dimensions <= 6 using field notation like this:
`vec.x`

, `vec.y`

, `vec.z`

, `vec.w`

, `vec.a`

, `vec.b`

. Reference and assignation work too:

```
let mut vec = Vector3::new(1.0, 2.0, 3.0);
vec.x = 10.0;
vec.y += 30.0;
assert_eq!(vec.x, 10.0);
assert_eq!(vec.y + 100.0, 132.0);
```

Similarly, for matrices with compile-time dimensions <= 6, you can use field notation
like this: `mat.m11`

, `mat.m42`

, etc. The first digit identifies the row to address
and the second digit identifies the column to address. So `mat.m13`

identifies the component
at the first row and third column (note that the count of rows and columns start at 1 instead
of 0 here. This is so we match the mathematical notation).

For all matrices and vectors, independently from their size, individual components can
be accessed and modified using indexing: `vec[20]`

, `mat[(20, 19)]`

. Here the indexing
starts at 0 as you would expect.