pub struct Length<const N: usize>;Expand description
Marker type representing the length of a math type.
For simplicity’s sake, math types like Vector do not support
arbitrary lengths. Supporting types like Vec10<T> would quickly lead to
excessive API bloat. Instead, all math types must have a length of either 2,
3, or 4.
This restriction is enforced in the type system by implementing the
marker trait SupportedLength for the types Length<2>, Length<3>,
Length<4>.
§Usage
use ggmath::{Length, SupportedLength};
struct MathType<const N: usize>
where
Length<N>: SupportedLength,
{
// ...
}Trait Implementations§
impl SupportedLength for Length<2>
impl SupportedLength for Length<3>
impl SupportedLength for Length<4>
Auto Trait Implementations§
impl<const N: usize> Freeze for Length<N>
impl<const N: usize> RefUnwindSafe for Length<N>
impl<const N: usize> Send for Length<N>
impl<const N: usize> Sync for Length<N>
impl<const N: usize> Unpin for Length<N>
impl<const N: usize> UnsafeUnpin for Length<N>
impl<const N: usize> UnwindSafe for Length<N>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more