[][src]Struct flatk::StaticRange

pub struct StaticRange<N> {
    pub start: usize,
    pub phantom: PhantomData<N>,
}

A type of range whose size is determined at compile time. This represents a range [start..start + N::value()]. This aids UniChunked types when indexing.

Fields

start: usizephantom: PhantomData<N>

Trait Implementations

impl<N: Unsigned> BoundedRange for StaticRange<N>[src]

type Index = usize

impl<N: Clone> Clone for StaticRange<N>[src]

impl<N: Copy> Copy for StaticRange<N>[src]

impl<N: Debug> Debug for StaticRange<N>[src]

impl<'a, T, N> GetIndex<'a, &'a [T; 1]> for StaticRange<N> where
    N: Unsigned + Array<T>,
    <N as Array<T>>::Array: 'a, 
[src]

type Output = &'a N::Array

impl<'a, T, N> GetIndex<'a, &'a [T; 10]> for StaticRange<N> where
    N: Unsigned + Array<T>,
    <N as Array<T>>::Array: 'a, 
[src]

type Output = &'a N::Array

impl<'a, T, N> GetIndex<'a, &'a [T; 11]> for StaticRange<N> where
    N: Unsigned + Array<T>,
    <N as Array<T>>::Array: 'a, 
[src]

type Output = &'a N::Array

impl<'a, T, N> GetIndex<'a, &'a [T; 12]> for StaticRange<N> where
    N: Unsigned + Array<T>,
    <N as Array<T>>::Array: 'a, 
[src]

type Output = &'a N::Array

impl<'a, T, N> GetIndex<'a, &'a [T; 13]> for StaticRange<N> where
    N: Unsigned + Array<T>,
    <N as Array<T>>::Array: 'a, 
[src]

type Output = &'a N::Array

impl<'a, T, N> GetIndex<'a, &'a [T; 14]> for StaticRange<N> where
    N: Unsigned + Array<T>,
    <N as Array<T>>::Array: 'a, 
[src]

type Output = &'a N::Array

impl<'a, T, N> GetIndex<'a, &'a [T; 15]> for StaticRange<N> where
    N: Unsigned + Array<T>,
    <N as Array<T>>::Array: 'a, 
[src]

type Output = &'a N::Array

impl<'a, T, N> GetIndex<'a, &'a [T; 16]> for StaticRange<N> where
    N: Unsigned + Array<T>,
    <N as Array<T>>::Array: 'a, 
[src]

type Output = &'a N::Array

impl<'a, T, N> GetIndex<'a, &'a [T; 2]> for StaticRange<N> where
    N: Unsigned + Array<T>,
    <N as Array<T>>::Array: 'a, 
[src]

type Output = &'a N::Array

impl<'a, T, N> GetIndex<'a, &'a [T; 3]> for StaticRange<N> where
    N: Unsigned + Array<T>,
    <N as Array<T>>::Array: 'a, 
[src]

type Output = &'a N::Array

impl<'a, T, N> GetIndex<'a, &'a [T; 4]> for StaticRange<N> where
    N: Unsigned + Array<T>,
    <N as Array<T>>::Array: 'a, 
[src]

type Output = &'a N::Array

impl<'a, T, N> GetIndex<'a, &'a [T; 5]> for StaticRange<N> where
    N: Unsigned + Array<T>,
    <N as Array<T>>::Array: 'a, 
[src]

type Output = &'a N::Array

impl<'a, T, N> GetIndex<'a, &'a [T; 6]> for StaticRange<N> where
    N: Unsigned + Array<T>,
    <N as Array<T>>::Array: 'a, 
[src]

type Output = &'a N::Array

impl<'a, T, N> GetIndex<'a, &'a [T; 7]> for StaticRange<N> where
    N: Unsigned + Array<T>,
    <N as Array<T>>::Array: 'a, 
[src]

type Output = &'a N::Array

impl<'a, T, N> GetIndex<'a, &'a [T; 8]> for StaticRange<N> where
    N: Unsigned + Array<T>,
    <N as Array<T>>::Array: 'a, 
[src]

type Output = &'a N::Array

impl<'a, T, N> GetIndex<'a, &'a [T; 9]> for StaticRange<N> where
    N: Unsigned + Array<T>,
    <N as Array<T>>::Array: 'a, 
[src]

type Output = &'a N::Array

impl<'a, T, N> GetIndex<'a, &'a [T]> for StaticRange<N> where
    N: Unsigned + Array<T>,
    <N as Array<T>>::Array: 'a, 
[src]

type Output = &'a N::Array

impl<'a, S, N> GetIndex<'a, S> for StaticRange<N> where
    S: Set + ValueType,
    N: Unsigned,
    Range<usize>: GetIndex<'a, S>, 
[src]

type Output = <Range<usize> as GetIndex<'a, S>>::Output

impl<'a, T, N> IsolateIndex<&'a [T; 1]> for StaticRange<N> where
    N: Unsigned + Array<T>,
    <N as Array<T>>::Array: 'a, 
[src]

type Output = &'a N::Array

impl<'a, T, N> IsolateIndex<&'a [T; 10]> for StaticRange<N> where
    N: Unsigned + Array<T>,
    <N as Array<T>>::Array: 'a, 
[src]

type Output = &'a N::Array

impl<'a, T, N> IsolateIndex<&'a [T; 11]> for StaticRange<N> where
    N: Unsigned + Array<T>,
    <N as Array<T>>::Array: 'a, 
[src]

type Output = &'a N::Array

impl<'a, T, N> IsolateIndex<&'a [T; 12]> for StaticRange<N> where
    N: Unsigned + Array<T>,
    <N as Array<T>>::Array: 'a, 
[src]

type Output = &'a N::Array

impl<'a, T, N> IsolateIndex<&'a [T; 13]> for StaticRange<N> where
    N: Unsigned + Array<T>,
    <N as Array<T>>::Array: 'a, 
[src]

type Output = &'a N::Array

impl<'a, T, N> IsolateIndex<&'a [T; 14]> for StaticRange<N> where
    N: Unsigned + Array<T>,
    <N as Array<T>>::Array: 'a, 
[src]

type Output = &'a N::Array

impl<'a, T, N> IsolateIndex<&'a [T; 15]> for StaticRange<N> where
    N: Unsigned + Array<T>,
    <N as Array<T>>::Array: 'a, 
[src]

type Output = &'a N::Array

impl<'a, T, N> IsolateIndex<&'a [T; 16]> for StaticRange<N> where
    N: Unsigned + Array<T>,
    <N as Array<T>>::Array: 'a, 
[src]

type Output = &'a N::Array

impl<'a, T, N> IsolateIndex<&'a [T; 2]> for StaticRange<N> where
    N: Unsigned + Array<T>,
    <N as Array<T>>::Array: 'a, 
[src]

type Output = &'a N::Array

impl<'a, T, N> IsolateIndex<&'a [T; 3]> for StaticRange<N> where
    N: Unsigned + Array<T>,
    <N as Array<T>>::Array: 'a, 
[src]

type Output = &'a N::Array

impl<'a, T, N> IsolateIndex<&'a [T; 4]> for StaticRange<N> where
    N: Unsigned + Array<T>,
    <N as Array<T>>::Array: 'a, 
[src]

type Output = &'a N::Array

impl<'a, T, N> IsolateIndex<&'a [T; 5]> for StaticRange<N> where
    N: Unsigned + Array<T>,
    <N as Array<T>>::Array: 'a, 
[src]

type Output = &'a N::Array

impl<'a, T, N> IsolateIndex<&'a [T; 6]> for StaticRange<N> where
    N: Unsigned + Array<T>,
    <N as Array<T>>::Array: 'a, 
[src]

type Output = &'a N::Array

impl<'a, T, N> IsolateIndex<&'a [T; 7]> for StaticRange<N> where
    N: Unsigned + Array<T>,
    <N as Array<T>>::Array: 'a, 
[src]

type Output = &'a N::Array

impl<'a, T, N> IsolateIndex<&'a [T; 8]> for StaticRange<N> where
    N: Unsigned + Array<T>,
    <N as Array<T>>::Array: 'a, 
[src]

type Output = &'a N::Array

impl<'a, T, N> IsolateIndex<&'a [T; 9]> for StaticRange<N> where
    N: Unsigned + Array<T>,
    <N as Array<T>>::Array: 'a, 
[src]

type Output = &'a N::Array

impl<'a, T, N> IsolateIndex<&'a [T]> for StaticRange<N> where
    N: Unsigned + Array<T>,
    <N as Array<T>>::Array: 'a, 
[src]

type Output = &'a N::Array

impl<'a, T, N> IsolateIndex<&'a mut [T]> for StaticRange<N> where
    N: Unsigned + Array<T>,
    <N as Array<T>>::Array: 'a, 
[src]

type Output = &'a mut N::Array

impl<S, O, N: Unsigned> IsolateIndex<Chunked<S, O>> for StaticRange<N> where
    Range<usize>: IsolateIndex<Chunked<S, O>>, 
[src]

type Output = <Range<usize> as IsolateIndex<Chunked<S, O>>>::Output

impl<S, I, N: Unsigned> IsolateIndex<Select<S, I>> for StaticRange<N> where
    Range<usize>: IsolateIndex<Select<S, I>>, 
[src]

type Output = <Range<usize> as IsolateIndex<Select<S, I>>>::Output

impl<S, T, I, N: Unsigned> IsolateIndex<Sparse<S, T, I>> for StaticRange<N> where
    Range<usize>: IsolateIndex<Sparse<S, T, I>>, 
[src]

type Output = <Range<usize> as IsolateIndex<Sparse<S, T, I>>>::Output

impl<S, O, N: Unsigned> IsolateIndex<Subset<S, O>> for StaticRange<N> where
    Range<usize>: IsolateIndex<Subset<S, O>>, 
[src]

type Output = <Range<usize> as IsolateIndex<Subset<S, O>>>::Output

impl<S, N, M> IsolateIndex<UniChunked<S, U<M>>> for StaticRange<N> where
    S: Set,
    M: Unsigned,
    N: Unsigned + Mul<M>,
    StaticRange<<N as Mul<M>>::Output>: IsolateIndex<S>, 
[src]

type Output = UniChunked<<StaticRange<N::Output> as IsolateIndex<S>>::Output, U<M>>

impl<S, N: Unsigned> IsolateIndex<UniChunked<S, usize>> for StaticRange<N> where
    Range<usize>: IsolateIndex<ChunkedN<S>>, 
[src]

type Output = <Range<usize> as IsolateIndex<ChunkedN<S>>>::Output

impl<N: PartialEq> PartialEq<StaticRange<N>> for StaticRange<N>[src]

impl<N: Unsigned> Set for StaticRange<N>[src]

type Elem = usize

Owned element of the set.

type Atom = usize

The most basic element contained by this collection. If this collection contains other collections, this type should be different than Elem. Read more

impl<N> StructuralPartialEq for StaticRange<N>[src]

Auto Trait Implementations

impl<N> RefUnwindSafe for StaticRange<N> where
    N: RefUnwindSafe

impl<N> Send for StaticRange<N> where
    N: Send

impl<N> Sync for StaticRange<N> where
    N: Sync

impl<N> Unpin for StaticRange<N> where
    N: Unpin

impl<N> UnwindSafe for StaticRange<N> where
    N: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> AsSlice<T> for T[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<'a, S, I> Get<'a, I> for S where
    I: GetIndex<'a, S>, 
[src]

type Output = <I as GetIndex<'a, S>>::Output

impl<'a, T, I> GetIndex<'a, &'a [T]> for I where
    I: SliceIndex<[T]>,
    <[T] as Index<I>>::Output: 'a, 
[src]

type Output = &'a <[T] as Index<I>>::Output

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<S, I> Isolate<I> for S where
    I: IsolateIndex<S>, 
[src]

type Output = <I as IsolateIndex<S>>::Output

impl<'a, T, I> IsolateIndex<&'a [T]> for I where
    I: SliceIndex<[T]>,
    <I as SliceIndex<[T]>>::Output: 'a, 
[src]

type Output = &'a <[T] as Index<I>>::Output

impl<'a, T, I> IsolateIndex<&'a mut [T]> for I where
    I: SliceIndex<[T]>,
    <I as SliceIndex<[T]>>::Output: 'a, 
[src]

type Output = &'a mut <[T] as Index<I>>::Output

impl<T> Same<T> for T[src]

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.