orx_v/
nvec_aliases.rs

1use crate::dim::*;
2use crate::NVec;
3use crate::NVecMut;
4
5/// A type alias: `V1<T>` is equivalent to `NVec<D1, T>`.
6pub trait V1<T>: NVec<D1, T> {}
7impl<T, N: NVec<D1, T>> V1<T> for N {}
8
9/// A type alias: `V2<T>` is equivalent to `NVec<D2, T>`.
10pub trait V2<T>: NVec<D2, T> {}
11impl<T, N: NVec<D2, T>> V2<T> for N {}
12
13/// A type alias: `V3<T>` is equivalent to `NVec<D3, T>`.
14pub trait V3<T>: NVec<D3, T> {}
15impl<T, N: NVec<D3, T>> V3<T> for N {}
16
17/// A type alias: `V4<T>` is equivalent to `NVec<D4, T>`.
18pub trait V4<T>: NVec<D4, T> {}
19impl<T, N: NVec<D4, T>> V4<T> for N {}
20
21// mut
22
23/// A type alias: `V1Mut<T>` is equivalent to `NVecMut<D1, T>`.
24pub trait V1Mut<T>: NVecMut<D1, T> {}
25impl<T, N: NVecMut<D1, T>> V1Mut<T> for N {}
26
27/// A type alias: `V2Mut<T>` is equivalent to `NVecMut<D2, T>`.
28pub trait V2Mut<T>: NVecMut<D2, T> {}
29impl<T, N: NVecMut<D2, T>> V2Mut<T> for N {}
30
31/// A type alias: `V3Mut<T>` is equivalent to `NVecMut<D3, T>`.
32pub trait V3Mut<T>: NVecMut<D3, T> {}
33impl<T, N: NVecMut<D3, T>> V3Mut<T> for N {}
34
35/// A type alias: `V4Mut<T>` is equivalent to `NVecMut<D4, T>`.
36pub trait V4Mut<T>: NVecMut<D4, T> {}
37impl<T, N: NVecMut<D4, T>> V4Mut<T> for N {}