nalgebra/base/alias_view.rs
1use crate::base::dimension::{Dyn, U1, U2, U3, U4, U5, U6};
2use crate::base::matrix_view::{ViewStorage, ViewStorageMut};
3use crate::base::{Const, Matrix};
4
5/*
6 *
7 *
8 * Matrix view aliases.
9 *
10 *
11 */
12// NOTE: we can't provide defaults for the strides because it's not supported yet by min_const_generics.
13/// An immutable column-major matrix view with dimensions known at compile-time.
14///
15/// See [`SMatrixViewMut`] for a mutable version of this type.
16///
17/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
18pub type SMatrixView<'a, T, const R: usize, const C: usize> =
19 Matrix<T, Const<R>, Const<C>, ViewStorage<'a, T, Const<R>, Const<C>, Const<1>, Const<R>>>;
20
21/// An immutable column-major matrix view dynamic numbers of rows and columns.
22///
23/// See [`DMatrixViewMut`] for a mutable version of this type.
24///
25/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
26pub type DMatrixView<'a, T, RStride = U1, CStride = Dyn> =
27 Matrix<T, Dyn, Dyn, ViewStorage<'a, T, Dyn, Dyn, RStride, CStride>>;
28
29/// An immutable column-major 1x1 matrix view.
30///
31/// See [`MatrixViewMut1`] for a mutable version of this type.
32///
33/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
34pub type MatrixView1<'a, T, RStride = U1, CStride = U1> =
35 Matrix<T, U1, U1, ViewStorage<'a, T, U1, U1, RStride, CStride>>;
36/// An immutable column-major 2x2 matrix view.
37///
38/// See [`MatrixViewMut2`] for a mutable version of this type.
39///
40/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
41pub type MatrixView2<'a, T, RStride = U1, CStride = U2> =
42 Matrix<T, U2, U2, ViewStorage<'a, T, U2, U2, RStride, CStride>>;
43/// An immutable column-major 3x3 matrix view.
44///
45/// See [`MatrixViewMut3`] for a mutable version of this type.
46///
47/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
48pub type MatrixView3<'a, T, RStride = U1, CStride = U3> =
49 Matrix<T, U3, U3, ViewStorage<'a, T, U3, U3, RStride, CStride>>;
50/// An immutable column-major 4x4 matrix view.
51///
52/// See [`MatrixViewMut4`] for a mutable version of this type.
53///
54/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
55pub type MatrixView4<'a, T, RStride = U1, CStride = U4> =
56 Matrix<T, U4, U4, ViewStorage<'a, T, U4, U4, RStride, CStride>>;
57/// An immutable column-major 5x5 matrix view.
58///
59/// See [`MatrixViewMut5`] for a mutable version of this type.
60///
61/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
62pub type MatrixView5<'a, T, RStride = U1, CStride = U5> =
63 Matrix<T, U5, U5, ViewStorage<'a, T, U5, U5, RStride, CStride>>;
64/// An immutable column-major 6x6 matrix view.
65///
66/// See [`MatrixViewMut6`] for a mutable version of this type.
67///
68/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
69pub type MatrixView6<'a, T, RStride = U1, CStride = U6> =
70 Matrix<T, U6, U6, ViewStorage<'a, T, U6, U6, RStride, CStride>>;
71
72/// An immutable column-major 1x2 matrix view.
73///
74/// See [`MatrixViewMut1x2`] for a mutable version of this type.
75///
76/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
77pub type MatrixView1x2<'a, T, RStride = U1, CStride = U1> =
78 Matrix<T, U1, U2, ViewStorage<'a, T, U1, U2, RStride, CStride>>;
79/// An immutable column-major 1x3 matrix view.
80///
81/// See [`MatrixViewMut1x3`] for a mutable version of this type.
82///
83/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
84pub type MatrixView1x3<'a, T, RStride = U1, CStride = U1> =
85 Matrix<T, U1, U3, ViewStorage<'a, T, U1, U3, RStride, CStride>>;
86/// An immutable column-major 1x4 matrix view.
87///
88/// See [`MatrixViewMut1x4`] for a mutable version of this type.
89///
90/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
91pub type MatrixView1x4<'a, T, RStride = U1, CStride = U1> =
92 Matrix<T, U1, U4, ViewStorage<'a, T, U1, U4, RStride, CStride>>;
93/// An immutable column-major 1x5 matrix view.
94///
95/// See [`MatrixViewMut1x5`] for a mutable version of this type.
96///
97/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
98pub type MatrixView1x5<'a, T, RStride = U1, CStride = U1> =
99 Matrix<T, U1, U5, ViewStorage<'a, T, U1, U5, RStride, CStride>>;
100/// An immutable column-major 1x6 matrix view.
101///
102/// See [`MatrixViewMut1x6`] for a mutable version of this type.
103///
104/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
105pub type MatrixView1x6<'a, T, RStride = U1, CStride = U1> =
106 Matrix<T, U1, U6, ViewStorage<'a, T, U1, U6, RStride, CStride>>;
107
108/// An immutable column-major 2x1 matrix view.
109///
110/// See [`MatrixViewMut2x1`] for a mutable version of this type.
111///
112/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
113pub type MatrixView2x1<'a, T, RStride = U1, CStride = U2> =
114 Matrix<T, U2, U1, ViewStorage<'a, T, U2, U1, RStride, CStride>>;
115/// An immutable column-major 2x3 matrix view.
116///
117/// See [`MatrixViewMut2x3`] for a mutable version of this type.
118///
119/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
120pub type MatrixView2x3<'a, T, RStride = U1, CStride = U2> =
121 Matrix<T, U2, U3, ViewStorage<'a, T, U2, U3, RStride, CStride>>;
122/// An immutable column-major 2x4 matrix view.
123///
124/// See [`MatrixViewMut2x4`] for a mutable version of this type.
125///
126/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
127pub type MatrixView2x4<'a, T, RStride = U1, CStride = U2> =
128 Matrix<T, U2, U4, ViewStorage<'a, T, U2, U4, RStride, CStride>>;
129/// An immutable column-major 2x5 matrix view.
130///
131/// See [`MatrixViewMut2x5`] for a mutable version of this type.
132///
133/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
134pub type MatrixView2x5<'a, T, RStride = U1, CStride = U2> =
135 Matrix<T, U2, U5, ViewStorage<'a, T, U2, U5, RStride, CStride>>;
136/// An immutable column-major 2x6 matrix view.
137///
138/// See [`MatrixViewMut2x6`] for a mutable version of this type.
139///
140/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
141pub type MatrixView2x6<'a, T, RStride = U1, CStride = U2> =
142 Matrix<T, U2, U6, ViewStorage<'a, T, U2, U6, RStride, CStride>>;
143
144/// An immutable column-major 3x1 matrix view.
145///
146/// See [`MatrixViewMut3x1`] for a mutable version of this type.
147///
148/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
149pub type MatrixView3x1<'a, T, RStride = U1, CStride = U3> =
150 Matrix<T, U3, U1, ViewStorage<'a, T, U3, U1, RStride, CStride>>;
151/// An immutable column-major 3x2 matrix view.
152///
153/// See [`MatrixViewMut3x2`] for a mutable version of this type.
154///
155/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
156pub type MatrixView3x2<'a, T, RStride = U1, CStride = U3> =
157 Matrix<T, U3, U2, ViewStorage<'a, T, U3, U2, RStride, CStride>>;
158/// An immutable column-major 3x4 matrix view.
159///
160/// See [`MatrixViewMut3x4`] for a mutable version of this type.
161///
162/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
163pub type MatrixView3x4<'a, T, RStride = U1, CStride = U3> =
164 Matrix<T, U3, U4, ViewStorage<'a, T, U3, U4, RStride, CStride>>;
165/// An immutable column-major 3x5 matrix view.
166///
167/// See [`MatrixViewMut3x5`] for a mutable version of this type.
168///
169/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
170pub type MatrixView3x5<'a, T, RStride = U1, CStride = U3> =
171 Matrix<T, U3, U5, ViewStorage<'a, T, U3, U5, RStride, CStride>>;
172/// An immutable column-major 3x6 matrix view.
173///
174/// See [`MatrixViewMut3x6`] for a mutable version of this type.
175///
176/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
177pub type MatrixView3x6<'a, T, RStride = U1, CStride = U3> =
178 Matrix<T, U3, U6, ViewStorage<'a, T, U3, U6, RStride, CStride>>;
179
180/// An immutable column-major 4x1 matrix view.
181///
182/// See [`MatrixViewMut4x1`] for a mutable version of this type.
183///
184/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
185pub type MatrixView4x1<'a, T, RStride = U1, CStride = U4> =
186 Matrix<T, U4, U1, ViewStorage<'a, T, U4, U1, RStride, CStride>>;
187/// An immutable column-major 4x2 matrix view.
188///
189/// See [`MatrixViewMut4x2`] for a mutable version of this type.
190///
191/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
192pub type MatrixView4x2<'a, T, RStride = U1, CStride = U4> =
193 Matrix<T, U4, U2, ViewStorage<'a, T, U4, U2, RStride, CStride>>;
194/// An immutable column-major 4x3 matrix view.
195///
196/// See [`MatrixViewMut4x3`] for a mutable version of this type.
197///
198/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
199pub type MatrixView4x3<'a, T, RStride = U1, CStride = U4> =
200 Matrix<T, U4, U3, ViewStorage<'a, T, U4, U3, RStride, CStride>>;
201/// An immutable column-major 4x5 matrix view.
202///
203/// See [`MatrixViewMut4x5`] for a mutable version of this type.
204///
205/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
206pub type MatrixView4x5<'a, T, RStride = U1, CStride = U4> =
207 Matrix<T, U4, U5, ViewStorage<'a, T, U4, U5, RStride, CStride>>;
208/// An immutable column-major 4x6 matrix view.
209///
210/// See [`MatrixViewMut4x6`] for a mutable version of this type.
211///
212/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
213pub type MatrixView4x6<'a, T, RStride = U1, CStride = U4> =
214 Matrix<T, U4, U6, ViewStorage<'a, T, U4, U6, RStride, CStride>>;
215
216/// An immutable column-major 5x1 matrix view.
217///
218/// See [`MatrixViewMut5x1`] for a mutable version of this type.
219///
220/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
221pub type MatrixView5x1<'a, T, RStride = U1, CStride = U5> =
222 Matrix<T, U5, U1, ViewStorage<'a, T, U5, U1, RStride, CStride>>;
223/// An immutable column-major 5x2 matrix view.
224///
225/// See [`MatrixViewMut5x2`] for a mutable version of this type.
226///
227/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
228pub type MatrixView5x2<'a, T, RStride = U1, CStride = U5> =
229 Matrix<T, U5, U2, ViewStorage<'a, T, U5, U2, RStride, CStride>>;
230/// An immutable column-major 5x3 matrix view.
231///
232/// See [`MatrixViewMut5x3`] for a mutable version of this type.
233///
234/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
235pub type MatrixView5x3<'a, T, RStride = U1, CStride = U5> =
236 Matrix<T, U5, U3, ViewStorage<'a, T, U5, U3, RStride, CStride>>;
237/// An immutable column-major 5x4 matrix view.
238///
239/// See [`MatrixViewMut5x4`] for a mutable version of this type.
240///
241/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
242pub type MatrixView5x4<'a, T, RStride = U1, CStride = U5> =
243 Matrix<T, U5, U4, ViewStorage<'a, T, U5, U4, RStride, CStride>>;
244/// An immutable column-major 5x6 matrix view.
245///
246/// See [`MatrixViewMut5x6`] for a mutable version of this type.
247///
248/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
249pub type MatrixView5x6<'a, T, RStride = U1, CStride = U5> =
250 Matrix<T, U5, U6, ViewStorage<'a, T, U5, U6, RStride, CStride>>;
251
252/// An immutable column-major 6x1 matrix view.
253///
254/// See [`MatrixViewMut6x1`] for a mutable version of this type.
255///
256/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
257pub type MatrixView6x1<'a, T, RStride = U1, CStride = U6> =
258 Matrix<T, U6, U1, ViewStorage<'a, T, U6, U1, RStride, CStride>>;
259/// An immutable column-major 6x2 matrix view.
260///
261/// See [`MatrixViewMut6x2`] for a mutable version of this type.
262///
263/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
264pub type MatrixView6x2<'a, T, RStride = U1, CStride = U6> =
265 Matrix<T, U6, U2, ViewStorage<'a, T, U6, U2, RStride, CStride>>;
266/// An immutable column-major 6x3 matrix view.
267///
268/// See [`MatrixViewMut6x3`] for a mutable version of this type.
269///
270/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
271pub type MatrixView6x3<'a, T, RStride = U1, CStride = U6> =
272 Matrix<T, U6, U3, ViewStorage<'a, T, U6, U3, RStride, CStride>>;
273/// An immutable column-major 6x4 matrix view.
274///
275/// See [`MatrixViewMut6x4`] for a mutable version of this type.
276///
277/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
278pub type MatrixView6x4<'a, T, RStride = U1, CStride = U6> =
279 Matrix<T, U6, U4, ViewStorage<'a, T, U6, U4, RStride, CStride>>;
280/// An immutable column-major 6x5 matrix view.
281///
282/// See [`MatrixViewMut6x5`] for a mutable version of this type.
283///
284/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
285pub type MatrixView6x5<'a, T, RStride = U1, CStride = U6> =
286 Matrix<T, U6, U5, ViewStorage<'a, T, U6, U5, RStride, CStride>>;
287
288/// An immutable column-major matrix view with 1 row and a number of columns chosen at runtime.
289///
290/// See [`MatrixViewMut1xX`] for a mutable version of this type.
291///
292/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
293pub type MatrixView1xX<'a, T, RStride = U1, CStride = U1> =
294 Matrix<T, U1, Dyn, ViewStorage<'a, T, U1, Dyn, RStride, CStride>>;
295/// An immutable column-major matrix view with 2 rows and a number of columns chosen at runtime.
296///
297/// See [`MatrixViewMut2xX`] for a mutable version of this type.
298///
299/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
300pub type MatrixView2xX<'a, T, RStride = U1, CStride = U2> =
301 Matrix<T, U2, Dyn, ViewStorage<'a, T, U2, Dyn, RStride, CStride>>;
302/// An immutable column-major matrix view with 3 rows and a number of columns chosen at runtime.
303///
304/// See [`MatrixViewMut3xX`] for a mutable version of this type.
305///
306/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
307pub type MatrixView3xX<'a, T, RStride = U1, CStride = U3> =
308 Matrix<T, U3, Dyn, ViewStorage<'a, T, U3, Dyn, RStride, CStride>>;
309/// An immutable column-major matrix view with 4 rows and a number of columns chosen at runtime.
310///
311/// See [`MatrixViewMut4xX`] for a mutable version of this type.
312///
313/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
314pub type MatrixView4xX<'a, T, RStride = U1, CStride = U4> =
315 Matrix<T, U4, Dyn, ViewStorage<'a, T, U4, Dyn, RStride, CStride>>;
316/// An immutable column-major matrix view with 5 rows and a number of columns chosen at runtime.
317///
318/// See [`MatrixViewMut5xX`] for a mutable version of this type.
319///
320/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
321pub type MatrixView5xX<'a, T, RStride = U1, CStride = U5> =
322 Matrix<T, U5, Dyn, ViewStorage<'a, T, U5, Dyn, RStride, CStride>>;
323/// An immutable column-major matrix view with 6 rows and a number of columns chosen at runtime.
324///
325/// See [`MatrixViewMut6xX`] for a mutable version of this type.
326///
327/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
328pub type MatrixView6xX<'a, T, RStride = U1, CStride = U6> =
329 Matrix<T, U6, Dyn, ViewStorage<'a, T, U6, Dyn, RStride, CStride>>;
330
331/// An immutable column-major matrix view with a number of rows chosen at runtime and 1 column.
332///
333/// See [`MatrixViewMutXx1`] for a mutable version of this type.
334///
335/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
336pub type MatrixViewXx1<'a, T, RStride = U1, CStride = Dyn> =
337 Matrix<T, Dyn, U1, ViewStorage<'a, T, Dyn, U1, RStride, CStride>>;
338/// An immutable column-major matrix view with a number of rows chosen at runtime and 2 columns.
339///
340/// See [`MatrixViewMutXx2`] for a mutable version of this type.
341///
342/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
343pub type MatrixViewXx2<'a, T, RStride = U1, CStride = Dyn> =
344 Matrix<T, Dyn, U2, ViewStorage<'a, T, Dyn, U2, RStride, CStride>>;
345/// An immutable column-major matrix view with a number of rows chosen at runtime and 3 columns.
346///
347/// See [`MatrixViewMutXx3`] for a mutable version of this type.
348///
349/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
350pub type MatrixViewXx3<'a, T, RStride = U1, CStride = Dyn> =
351 Matrix<T, Dyn, U3, ViewStorage<'a, T, Dyn, U3, RStride, CStride>>;
352/// An immutable column-major matrix view with a number of rows chosen at runtime and 4 columns.
353///
354/// See [`MatrixViewMutXx4`] for a mutable version of this type.
355///
356/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
357pub type MatrixViewXx4<'a, T, RStride = U1, CStride = Dyn> =
358 Matrix<T, Dyn, U4, ViewStorage<'a, T, Dyn, U4, RStride, CStride>>;
359/// An immutable column-major matrix view with a number of rows chosen at runtime and 5 columns.
360///
361/// See [`MatrixViewMutXx5`] for a mutable version of this type.
362///
363/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
364pub type MatrixViewXx5<'a, T, RStride = U1, CStride = Dyn> =
365 Matrix<T, Dyn, U5, ViewStorage<'a, T, Dyn, U5, RStride, CStride>>;
366/// An immutable column-major matrix view with a number of rows chosen at runtime and 6 columns.
367///
368/// See [`MatrixViewMutXx6`] for a mutable version of this type.
369///
370/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
371pub type MatrixViewXx6<'a, T, RStride = U1, CStride = Dyn> =
372 Matrix<T, Dyn, U6, ViewStorage<'a, T, Dyn, U6, RStride, CStride>>;
373
374/// An immutable column vector view with dimensions known at compile-time.
375///
376/// See [`VectorViewMut`] for a mutable version of this type.
377///
378/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
379pub type VectorView<'a, T, D, RStride = U1, CStride = D> =
380 Matrix<T, D, U1, ViewStorage<'a, T, D, U1, RStride, CStride>>;
381
382/// An immutable column vector view with dimensions known at compile-time.
383///
384/// See [`SVectorViewMut`] for a mutable version of this type.
385///
386/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
387pub type SVectorView<'a, T, const D: usize> =
388 Matrix<T, Const<D>, Const<1>, ViewStorage<'a, T, Const<D>, Const<1>, Const<1>, Const<D>>>;
389
390/// An immutable column vector view dynamic numbers of rows and columns.
391///
392/// See [`DVectorViewMut`] for a mutable version of this type.
393///
394/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
395pub type DVectorView<'a, T, RStride = U1, CStride = Dyn> =
396 Matrix<T, Dyn, U1, ViewStorage<'a, T, Dyn, U1, RStride, CStride>>;
397
398/// An immutable 1D column vector view.
399///
400/// See [`VectorViewMut1`] for a mutable version of this type.
401///
402/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
403pub type VectorView1<'a, T, RStride = U1, CStride = U1> =
404 Matrix<T, U1, U1, ViewStorage<'a, T, U1, U1, RStride, CStride>>;
405/// An immutable 2D column vector view.
406///
407/// See [`VectorViewMut2`] for a mutable version of this type.
408///
409/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
410pub type VectorView2<'a, T, RStride = U1, CStride = U2> =
411 Matrix<T, U2, U1, ViewStorage<'a, T, U2, U1, RStride, CStride>>;
412/// An immutable 3D column vector view.
413///
414/// See [`VectorViewMut3`] for a mutable version of this type.
415///
416/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
417pub type VectorView3<'a, T, RStride = U1, CStride = U3> =
418 Matrix<T, U3, U1, ViewStorage<'a, T, U3, U1, RStride, CStride>>;
419/// An immutable 4D column vector view.
420///
421/// See [`VectorViewMut4`] for a mutable version of this type.
422///
423/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
424pub type VectorView4<'a, T, RStride = U1, CStride = U4> =
425 Matrix<T, U4, U1, ViewStorage<'a, T, U4, U1, RStride, CStride>>;
426/// An immutable 5D column vector view.
427///
428/// See [`VectorViewMut5`] for a mutable version of this type.
429///
430/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
431pub type VectorView5<'a, T, RStride = U1, CStride = U5> =
432 Matrix<T, U5, U1, ViewStorage<'a, T, U5, U1, RStride, CStride>>;
433/// An immutable 6D column vector view.
434///
435/// See [`VectorViewMut6`] for a mutable version of this type.
436///
437/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
438pub type VectorView6<'a, T, RStride = U1, CStride = U6> =
439 Matrix<T, U6, U1, ViewStorage<'a, T, U6, U1, RStride, CStride>>;
440
441/*
442 *
443 *
444 * Same thing, but for mutable views.
445 *
446 *
447 */
448
449/// A mutable column-major matrix view with dimensions known at compile-time.
450///
451/// See [`SMatrixView`] for an immutable version of this type.
452///
453/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
454pub type SMatrixViewMut<'a, T, const R: usize, const C: usize> =
455 Matrix<T, Const<R>, Const<C>, ViewStorageMut<'a, T, Const<R>, Const<C>, Const<1>, Const<R>>>;
456
457/// A mutable column-major matrix view dynamic numbers of rows and columns.
458///
459/// See [`DMatrixView`] for an immutable version of this type.
460///
461/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
462pub type DMatrixViewMut<'a, T, RStride = U1, CStride = Dyn> =
463 Matrix<T, Dyn, Dyn, ViewStorageMut<'a, T, Dyn, Dyn, RStride, CStride>>;
464
465/// A mutable column-major 1x1 matrix view.
466///
467/// See [`MatrixView1`] for an immutable version of this type.
468///
469/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
470pub type MatrixViewMut1<'a, T, RStride = U1, CStride = U1> =
471 Matrix<T, U1, U1, ViewStorageMut<'a, T, U1, U1, RStride, CStride>>;
472/// A mutable column-major 2x2 matrix view.
473///
474/// See [`MatrixView2`] for an immutable version of this type.
475///
476/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
477pub type MatrixViewMut2<'a, T, RStride = U1, CStride = U2> =
478 Matrix<T, U2, U2, ViewStorageMut<'a, T, U2, U2, RStride, CStride>>;
479/// A mutable column-major 3x3 matrix view.
480///
481/// See [`MatrixView3`] for an immutable version of this type.
482///
483/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
484pub type MatrixViewMut3<'a, T, RStride = U1, CStride = U3> =
485 Matrix<T, U3, U3, ViewStorageMut<'a, T, U3, U3, RStride, CStride>>;
486/// A mutable column-major 4x4 matrix view.
487///
488/// See [`MatrixView4`] for an immutable version of this type.
489///
490/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
491pub type MatrixViewMut4<'a, T, RStride = U1, CStride = U4> =
492 Matrix<T, U4, U4, ViewStorageMut<'a, T, U4, U4, RStride, CStride>>;
493/// A mutable column-major 5x5 matrix view.
494///
495/// See [`MatrixView5`] for an immutable version of this type.
496///
497/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
498pub type MatrixViewMut5<'a, T, RStride = U1, CStride = U5> =
499 Matrix<T, U5, U5, ViewStorageMut<'a, T, U5, U5, RStride, CStride>>;
500/// A mutable column-major 6x6 matrix view.
501///
502/// See [`MatrixView6`] for an immutable version of this type.
503///
504/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
505pub type MatrixViewMut6<'a, T, RStride = U1, CStride = U6> =
506 Matrix<T, U6, U6, ViewStorageMut<'a, T, U6, U6, RStride, CStride>>;
507
508/// A mutable column-major 1x2 matrix view.
509///
510/// See [`MatrixView1x2`] for an immutable version of this type.
511///
512/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
513pub type MatrixViewMut1x2<'a, T, RStride = U1, CStride = U1> =
514 Matrix<T, U1, U2, ViewStorageMut<'a, T, U1, U2, RStride, CStride>>;
515/// A mutable column-major 1x3 matrix view.
516///
517/// See [`MatrixView1x3`] for an immutable version of this type.
518///
519/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
520pub type MatrixViewMut1x3<'a, T, RStride = U1, CStride = U1> =
521 Matrix<T, U1, U3, ViewStorageMut<'a, T, U1, U3, RStride, CStride>>;
522/// A mutable column-major 1x4 matrix view.
523///
524/// See [`MatrixView1x4`] for an immutable version of this type.
525///
526/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
527pub type MatrixViewMut1x4<'a, T, RStride = U1, CStride = U1> =
528 Matrix<T, U1, U4, ViewStorageMut<'a, T, U1, U4, RStride, CStride>>;
529/// A mutable column-major 1x5 matrix view.
530///
531/// See [`MatrixView1x5`] for an immutable version of this type.
532///
533/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
534pub type MatrixViewMut1x5<'a, T, RStride = U1, CStride = U1> =
535 Matrix<T, U1, U5, ViewStorageMut<'a, T, U1, U5, RStride, CStride>>;
536/// A mutable column-major 1x6 matrix view.
537///
538/// See [`MatrixView1x6`] for an immutable version of this type.
539///
540/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
541pub type MatrixViewMut1x6<'a, T, RStride = U1, CStride = U1> =
542 Matrix<T, U1, U6, ViewStorageMut<'a, T, U1, U6, RStride, CStride>>;
543
544/// A mutable column-major 2x1 matrix view.
545///
546/// See [`MatrixView2x1`] for an immutable version of this type.
547///
548/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
549pub type MatrixViewMut2x1<'a, T, RStride = U1, CStride = U2> =
550 Matrix<T, U2, U1, ViewStorageMut<'a, T, U2, U1, RStride, CStride>>;
551/// A mutable column-major 2x3 matrix view.
552///
553/// See [`MatrixView2x3`] for an immutable version of this type.
554///
555/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
556pub type MatrixViewMut2x3<'a, T, RStride = U1, CStride = U2> =
557 Matrix<T, U2, U3, ViewStorageMut<'a, T, U2, U3, RStride, CStride>>;
558/// A mutable column-major 2x4 matrix view.
559///
560/// See [`MatrixView2x4`] for an immutable version of this type.
561///
562/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
563pub type MatrixViewMut2x4<'a, T, RStride = U1, CStride = U2> =
564 Matrix<T, U2, U4, ViewStorageMut<'a, T, U2, U4, RStride, CStride>>;
565/// A mutable column-major 2x5 matrix view.
566///
567/// See [`MatrixView2x5`] for an immutable version of this type.
568///
569/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
570pub type MatrixViewMut2x5<'a, T, RStride = U1, CStride = U2> =
571 Matrix<T, U2, U5, ViewStorageMut<'a, T, U2, U5, RStride, CStride>>;
572/// A mutable column-major 2x6 matrix view.
573///
574/// See [`MatrixView2x6`] for an immutable version of this type.
575///
576/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
577pub type MatrixViewMut2x6<'a, T, RStride = U1, CStride = U2> =
578 Matrix<T, U2, U6, ViewStorageMut<'a, T, U2, U6, RStride, CStride>>;
579
580/// A mutable column-major 3x1 matrix view.
581///
582/// See [`MatrixView3x1`] for an immutable version of this type.
583///
584/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
585pub type MatrixViewMut3x1<'a, T, RStride = U1, CStride = U3> =
586 Matrix<T, U3, U1, ViewStorageMut<'a, T, U3, U1, RStride, CStride>>;
587/// A mutable column-major 3x2 matrix view.
588///
589/// See [`MatrixView3x2`] for an immutable version of this type.
590///
591/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
592pub type MatrixViewMut3x2<'a, T, RStride = U1, CStride = U3> =
593 Matrix<T, U3, U2, ViewStorageMut<'a, T, U3, U2, RStride, CStride>>;
594/// A mutable column-major 3x4 matrix view.
595///
596/// See [`MatrixView3x4`] for an immutable version of this type.
597///
598/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
599pub type MatrixViewMut3x4<'a, T, RStride = U1, CStride = U3> =
600 Matrix<T, U3, U4, ViewStorageMut<'a, T, U3, U4, RStride, CStride>>;
601/// A mutable column-major 3x5 matrix view.
602///
603/// See [`MatrixView3x5`] for an immutable version of this type.
604///
605/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
606pub type MatrixViewMut3x5<'a, T, RStride = U1, CStride = U3> =
607 Matrix<T, U3, U5, ViewStorageMut<'a, T, U3, U5, RStride, CStride>>;
608/// A mutable column-major 3x6 matrix view.
609///
610/// See [`MatrixView3x6`] for an immutable version of this type.
611///
612/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
613pub type MatrixViewMut3x6<'a, T, RStride = U1, CStride = U3> =
614 Matrix<T, U3, U6, ViewStorageMut<'a, T, U3, U6, RStride, CStride>>;
615
616/// A mutable column-major 4x1 matrix view.
617///
618/// See [`MatrixView4x1`] for an immutable version of this type.
619///
620/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
621pub type MatrixViewMut4x1<'a, T, RStride = U1, CStride = U4> =
622 Matrix<T, U4, U1, ViewStorageMut<'a, T, U4, U1, RStride, CStride>>;
623/// A mutable column-major 4x2 matrix view.
624///
625/// See [`MatrixView4x2`] for an immutable version of this type.
626///
627/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
628pub type MatrixViewMut4x2<'a, T, RStride = U1, CStride = U4> =
629 Matrix<T, U4, U2, ViewStorageMut<'a, T, U4, U2, RStride, CStride>>;
630/// A mutable column-major 4x3 matrix view.
631///
632/// See [`MatrixView4x3`] for an immutable version of this type.
633///
634/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
635pub type MatrixViewMut4x3<'a, T, RStride = U1, CStride = U4> =
636 Matrix<T, U4, U3, ViewStorageMut<'a, T, U4, U3, RStride, CStride>>;
637/// A mutable column-major 4x5 matrix view.
638///
639/// See [`MatrixView4x5`] for an immutable version of this type.
640///
641/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
642pub type MatrixViewMut4x5<'a, T, RStride = U1, CStride = U4> =
643 Matrix<T, U4, U5, ViewStorageMut<'a, T, U4, U5, RStride, CStride>>;
644/// A mutable column-major 4x6 matrix view.
645///
646/// See [`MatrixView4x6`] for an immutable version of this type.
647///
648/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
649pub type MatrixViewMut4x6<'a, T, RStride = U1, CStride = U4> =
650 Matrix<T, U4, U6, ViewStorageMut<'a, T, U4, U6, RStride, CStride>>;
651
652/// A mutable column-major 5x1 matrix view.
653///
654/// See [`MatrixView5x1`] for an immutable version of this type.
655///
656/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
657pub type MatrixViewMut5x1<'a, T, RStride = U1, CStride = U5> =
658 Matrix<T, U5, U1, ViewStorageMut<'a, T, U5, U1, RStride, CStride>>;
659/// A mutable column-major 5x2 matrix view.
660///
661/// See [`MatrixView5x2`] for an immutable version of this type.
662///
663/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
664pub type MatrixViewMut5x2<'a, T, RStride = U1, CStride = U5> =
665 Matrix<T, U5, U2, ViewStorageMut<'a, T, U5, U2, RStride, CStride>>;
666/// A mutable column-major 5x3 matrix view.
667///
668/// See [`MatrixView5x3`] for an immutable version of this type.
669///
670/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
671pub type MatrixViewMut5x3<'a, T, RStride = U1, CStride = U5> =
672 Matrix<T, U5, U3, ViewStorageMut<'a, T, U5, U3, RStride, CStride>>;
673/// A mutable column-major 5x4 matrix view.
674///
675/// See [`MatrixView5x4`] for an immutable version of this type.
676///
677/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
678pub type MatrixViewMut5x4<'a, T, RStride = U1, CStride = U5> =
679 Matrix<T, U5, U4, ViewStorageMut<'a, T, U5, U4, RStride, CStride>>;
680/// A mutable column-major 5x6 matrix view.
681///
682/// See [`MatrixView5x6`] for an immutable version of this type.
683///
684/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
685pub type MatrixViewMut5x6<'a, T, RStride = U1, CStride = U5> =
686 Matrix<T, U5, U6, ViewStorageMut<'a, T, U5, U6, RStride, CStride>>;
687
688/// A mutable column-major 6x1 matrix view.
689///
690/// See [`MatrixView6x1`] for an immutable version of this type.
691///
692/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
693pub type MatrixViewMut6x1<'a, T, RStride = U1, CStride = U6> =
694 Matrix<T, U6, U1, ViewStorageMut<'a, T, U6, U1, RStride, CStride>>;
695/// A mutable column-major 6x2 matrix view.
696///
697/// See [`MatrixView6x2`] for an immutable version of this type.
698///
699/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
700pub type MatrixViewMut6x2<'a, T, RStride = U1, CStride = U6> =
701 Matrix<T, U6, U2, ViewStorageMut<'a, T, U6, U2, RStride, CStride>>;
702/// A mutable column-major 6x3 matrix view.
703///
704/// See [`MatrixView6x3`] for an immutable version of this type.
705///
706/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
707pub type MatrixViewMut6x3<'a, T, RStride = U1, CStride = U6> =
708 Matrix<T, U6, U3, ViewStorageMut<'a, T, U6, U3, RStride, CStride>>;
709/// A mutable column-major 6x4 matrix view.
710///
711/// See [`MatrixView6x4`] for an immutable version of this type.
712///
713/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
714pub type MatrixViewMut6x4<'a, T, RStride = U1, CStride = U6> =
715 Matrix<T, U6, U4, ViewStorageMut<'a, T, U6, U4, RStride, CStride>>;
716/// A mutable column-major 6x5 matrix view.
717///
718/// See [`MatrixView6x5`] for an immutable version of this type.
719///
720/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
721pub type MatrixViewMut6x5<'a, T, RStride = U1, CStride = U6> =
722 Matrix<T, U6, U5, ViewStorageMut<'a, T, U6, U5, RStride, CStride>>;
723
724/// A mutable column-major matrix view with 1 row and a number of columns chosen at runtime.
725///
726/// See [`MatrixView1xX`] for an immutable version of this type.
727///
728/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
729pub type MatrixViewMut1xX<'a, T, RStride = U1, CStride = U1> =
730 Matrix<T, U1, Dyn, ViewStorageMut<'a, T, U1, Dyn, RStride, CStride>>;
731/// A mutable column-major matrix view with 2 rows and a number of columns chosen at runtime.
732///
733/// See [`MatrixView2xX`] for an immutable version of this type.
734///
735/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
736pub type MatrixViewMut2xX<'a, T, RStride = U1, CStride = U2> =
737 Matrix<T, U2, Dyn, ViewStorageMut<'a, T, U2, Dyn, RStride, CStride>>;
738/// A mutable column-major matrix view with 3 rows and a number of columns chosen at runtime.
739///
740/// See [`MatrixView3xX`] for an immutable version of this type.
741///
742/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
743pub type MatrixViewMut3xX<'a, T, RStride = U1, CStride = U3> =
744 Matrix<T, U3, Dyn, ViewStorageMut<'a, T, U3, Dyn, RStride, CStride>>;
745/// A mutable column-major matrix view with 4 rows and a number of columns chosen at runtime.
746///
747/// See [`MatrixView4xX`] for an immutable version of this type.
748///
749/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
750pub type MatrixViewMut4xX<'a, T, RStride = U1, CStride = U4> =
751 Matrix<T, U4, Dyn, ViewStorageMut<'a, T, U4, Dyn, RStride, CStride>>;
752/// A mutable column-major matrix view with 5 rows and a number of columns chosen at runtime.
753///
754/// See [`MatrixView5xX`] for an immutable version of this type.
755///
756/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
757pub type MatrixViewMut5xX<'a, T, RStride = U1, CStride = U5> =
758 Matrix<T, U5, Dyn, ViewStorageMut<'a, T, U5, Dyn, RStride, CStride>>;
759/// A mutable column-major matrix view with 6 rows and a number of columns chosen at runtime.
760///
761/// See [`MatrixView6xX`] for an immutable version of this type.
762///
763/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
764pub type MatrixViewMut6xX<'a, T, RStride = U1, CStride = U6> =
765 Matrix<T, U6, Dyn, ViewStorageMut<'a, T, U6, Dyn, RStride, CStride>>;
766
767/// A mutable column-major matrix view with a number of rows chosen at runtime and 1 column.
768///
769/// See [`MatrixViewXx1`] for an immutable version of this type.
770///
771/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
772pub type MatrixViewMutXx1<'a, T, RStride = U1, CStride = Dyn> =
773 Matrix<T, Dyn, U1, ViewStorageMut<'a, T, Dyn, U1, RStride, CStride>>;
774/// A mutable column-major matrix view with a number of rows chosen at runtime and 2 columns.
775///
776/// See [`MatrixViewXx2`] for an immutable version of this type.
777///
778/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
779pub type MatrixViewMutXx2<'a, T, RStride = U1, CStride = Dyn> =
780 Matrix<T, Dyn, U2, ViewStorageMut<'a, T, Dyn, U2, RStride, CStride>>;
781/// A mutable column-major matrix view with a number of rows chosen at runtime and 3 columns.
782///
783/// See [`MatrixViewXx3`] for an immutable version of this type.
784///
785/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
786pub type MatrixViewMutXx3<'a, T, RStride = U1, CStride = Dyn> =
787 Matrix<T, Dyn, U3, ViewStorageMut<'a, T, Dyn, U3, RStride, CStride>>;
788/// A mutable column-major matrix view with a number of rows chosen at runtime and 4 columns.
789///
790/// See [`MatrixViewXx4`] for an immutable version of this type.
791///
792/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
793pub type MatrixViewMutXx4<'a, T, RStride = U1, CStride = Dyn> =
794 Matrix<T, Dyn, U4, ViewStorageMut<'a, T, Dyn, U4, RStride, CStride>>;
795/// A mutable column-major matrix view with a number of rows chosen at runtime and 5 columns.
796///
797/// See [`MatrixViewXx5`] for an immutable version of this type.
798///
799/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
800pub type MatrixViewMutXx5<'a, T, RStride = U1, CStride = Dyn> =
801 Matrix<T, Dyn, U5, ViewStorageMut<'a, T, Dyn, U5, RStride, CStride>>;
802/// A mutable column-major matrix view with a number of rows chosen at runtime and 6 columns.
803///
804/// See [`MatrixViewXx6`] for an immutable version of this type.
805///
806/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
807pub type MatrixViewMutXx6<'a, T, RStride = U1, CStride = Dyn> =
808 Matrix<T, Dyn, U6, ViewStorageMut<'a, T, Dyn, U6, RStride, CStride>>;
809
810/// A mutable column vector view with dimensions known at compile-time.
811///
812/// See [`VectorView`] for an immutable version of this type.
813///
814/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
815pub type VectorViewMut<'a, T, D, RStride = U1, CStride = D> =
816 Matrix<T, D, U1, ViewStorageMut<'a, T, D, U1, RStride, CStride>>;
817
818/// A mutable column vector view with dimensions known at compile-time.
819///
820/// See [`SVectorView`] for an immutable version of this type.
821///
822/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
823pub type SVectorViewMut<'a, T, const D: usize> =
824 Matrix<T, Const<D>, Const<1>, ViewStorageMut<'a, T, Const<D>, Const<1>, Const<1>, Const<D>>>;
825
826/// A mutable column vector view dynamic numbers of rows and columns.
827///
828/// See [`DVectorView`] for an immutable version of this type.
829///
830/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
831pub type DVectorViewMut<'a, T, RStride = U1, CStride = Dyn> =
832 Matrix<T, Dyn, U1, ViewStorageMut<'a, T, Dyn, U1, RStride, CStride>>;
833
834/// A mutable 1D column vector view.
835///
836/// See [`VectorView1`] for an immutable version of this type.
837///
838/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
839pub type VectorViewMut1<'a, T, RStride = U1, CStride = U1> =
840 Matrix<T, U1, U1, ViewStorageMut<'a, T, U1, U1, RStride, CStride>>;
841/// A mutable 2D column vector view.
842///
843/// See [`VectorView2`] for an immutable version of this type.
844///
845/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
846pub type VectorViewMut2<'a, T, RStride = U1, CStride = U2> =
847 Matrix<T, U2, U1, ViewStorageMut<'a, T, U2, U1, RStride, CStride>>;
848/// A mutable 3D column vector view.
849///
850/// See [`VectorView3`] for an immutable version of this type.
851///
852/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
853pub type VectorViewMut3<'a, T, RStride = U1, CStride = U3> =
854 Matrix<T, U3, U1, ViewStorageMut<'a, T, U3, U1, RStride, CStride>>;
855/// A mutable 4D column vector view.
856///
857/// See [`VectorView4`] for an immutable version of this type.
858///
859/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
860pub type VectorViewMut4<'a, T, RStride = U1, CStride = U4> =
861 Matrix<T, U4, U1, ViewStorageMut<'a, T, U4, U1, RStride, CStride>>;
862/// A mutable 5D column vector view.
863///
864/// See [`VectorView5`] for an immutable version of this type.
865///
866/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
867pub type VectorViewMut5<'a, T, RStride = U1, CStride = U5> =
868 Matrix<T, U5, U1, ViewStorageMut<'a, T, U5, U1, RStride, CStride>>;
869/// A mutable 6D column vector view.
870///
871/// See [`VectorView6`] for an immutable version of this type.
872///
873/// **Because this is an alias, not all its methods are listed here. See the [`Matrix`](crate::base::Matrix) type too.**
874pub type VectorViewMut6<'a, T, RStride = U1, CStride = U6> =
875 Matrix<T, U6, U1, ViewStorageMut<'a, T, U6, U1, RStride, CStride>>;