LinearIndex

Trait LinearIndex 

Source
pub trait LinearIndex<I> {
    // Required methods
    fn index_unchecked(&self, i: I) -> Option<usize>;
    fn unindex(&self, i: usize) -> Option<I>;
    fn is_in_bounds(&self, i: &I) -> bool;
    unsafe fn cardinality(&self) -> Option<usize>;

    // Provided method
    fn index(&self, i: I) -> Option<usize> { ... }
}

Required Methods§

Source

fn index_unchecked(&self, i: I) -> Option<usize>

Source

fn unindex(&self, i: usize) -> Option<I>

Source

fn is_in_bounds(&self, i: &I) -> bool

Source

unsafe fn cardinality(&self) -> Option<usize>

👎Deprecated

This is unsafe and should not be called as overflows are not checked. Uses Iterator::product

§Safety

Don’t use this

Provided Methods§

Source

fn index(&self, i: I) -> Option<usize>

Implementors§

Source§

impl<const N: usize> LinearIndex<Vector<N, i8>> for Vector<N, i8>

Source§

impl<const N: usize> LinearIndex<Vector<N, i16>> for Vector<N, i16>

Source§

impl<const N: usize> LinearIndex<Vector<N, i32>> for Vector<N, i32>

Source§

impl<const N: usize> LinearIndex<Vector<N, i64>> for Vector<N, i64>

Source§

impl<const N: usize> LinearIndex<Vector<N, i128>> for Vector<N, i128>

Source§

impl<const N: usize> LinearIndex<Vector<N, isize>> for Vector<N, isize>

Source§

impl<const N: usize> LinearIndex<Vector<N, u8>> for Vector<N, u8>

Source§

impl<const N: usize> LinearIndex<Vector<N, u16>> for Vector<N, u16>

Source§

impl<const N: usize> LinearIndex<Vector<N, u32>> for Vector<N, u32>

Source§

impl<const N: usize> LinearIndex<Vector<N, u64>> for Vector<N, u64>

Source§

impl<const N: usize> LinearIndex<Vector<N, u128>> for Vector<N, u128>

Source§

impl<const N: usize> LinearIndex<Vector<N, usize>> for Vector<N, usize>

Source§

impl<const N: usize, T> LinearIndex<usize> for ArrayNd<N, T>

Source§

impl<const N: usize, T> LinearIndex<Vector<N, i32>> for ArrayNd<N, T>

Source§

impl<const N: usize, T> LinearIndex<Vector<N, usize>> for ArrayNd<N, T>