[][src]Trait flatk::IsolateIndex

pub trait IsolateIndex<S> {
    type Output;
    fn try_isolate(self, set: S) -> Option<Self::Output>;
}

A helper trait like GetIndex but for Isolate types.

Associated Types

type Output

Loading content...

Required methods

fn try_isolate(self, set: S) -> Option<Self::Output>

Loading content...

Implementations on Foreign Types

impl<O: Isolate<Range<usize>>> IsolateIndex<Offsets<O>> for Range<usize>[src]

type Output = Offsets<O::Output>

impl<O: Isolate<Range<usize>>> IsolateIndex<SortedChunks<O>> for Range<usize>[src]

type Output = SortedChunks<O::Output>

impl<S, O> IsolateIndex<Chunked<S, O>> for usize where
    S: Set + Isolate<Range<usize>>,
    O: IndexRange
[src]

type Output = S::Output

fn try_isolate(self, chunked: Chunked<S, O>) -> Option<Self::Output>[src]

Isolate a single chunk of the given Chunked collection.

impl<S, O> IsolateIndex<Chunked<S, O>> for Range<usize> where
    S: Set + Isolate<Range<usize>>,
    <S as Isolate<Range<usize>>>::Output: Set,
    O: IndexRange + Isolate<Range<usize>>, 
[src]

type Output = Chunked<S::Output, O::Output>

fn try_isolate(self, chunked: Chunked<S, O>) -> Option<Self::Output>[src]

Isolate a [begin..end) range of the given Chunked collection.

impl<T: IntBound> IsolateIndex<Range<T>> for usize[src]

type Output = T

impl<T: IntBound> IsolateIndex<Range<T>> for Range<usize>[src]

type Output = Range<T>

impl<T: IntBound> IsolateIndex<RangeTo<T>> for usize[src]

type Output = T

impl<T: IntBound> IsolateIndex<RangeTo<T>> for Range<usize>[src]

type Output = Range<T>

impl<S, I> IsolateIndex<Select<S, I>> for usize where
    I: Isolate<usize>,
    <I as Isolate<usize>>::Output: Borrow<usize>,
    S: Isolate<usize>, 
[src]

type Output = (I::Output, S::Output)

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

Isolating a range from a selection will preserve the original target data set.

type Output = Select<S, I::Output>

impl<S, T, I> IsolateIndex<Sparse<S, T, I>> for usize where
    I: Isolate<usize>,
    <I as Isolate<usize>>::Output: Borrow<usize>,
    S: Isolate<usize>,
    T: Isolate<usize>, 
[src]

type Output = (<I as Isolate<usize>>::Output, <S as Isolate<usize>>::Output, <T as Isolate<usize>>::Output)

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

type Output = Sparse<S::Output, T, I::Output>

impl<S, O> IsolateIndex<Subset<S, O>> for usize where
    O: AsRef<[usize]>,
    S: Isolate<usize>, 
[src]

type Output = <S as Isolate<usize>>::Output

impl<'a, S, T> IsolateIndex<(S, T)> for usize where
    S: Isolate<usize>,
    T: Isolate<usize>, 
[src]

type Output = (S::Output, T::Output)

impl<'a, S, T> IsolateIndex<(S, T)> for Range<usize> where
    S: Isolate<Range<usize>>,
    T: Isolate<Range<usize>>, 
[src]

type Output = (S::Output, T::Output)

impl<S, N> IsolateIndex<UniChunked<S, U<N>>> for usize where
    S: Set + UniChunkable<N> + Isolate<StaticRange<N>>,
    N: Unsigned
[src]

type Output = S::Output

fn try_isolate(self, chunked: UniChunked<S, U<N>>) -> Option<Self::Output>[src]

Isolate a chunk of the given UniChunked collection.

impl<S, N> IsolateIndex<UniChunked<S, U<N>>> for Range<usize> where
    S: Set + UniChunkable<N> + Isolate<Range<usize>>,
    N: Unsigned + Default
[src]

type Output = UniChunked<S::Output, U<N>>

fn try_isolate(self, chunked: UniChunked<S, U<N>>) -> Option<Self::Output>[src]

Isolate a [begin..end) range of the given UniChunked collection.

impl<S> IsolateIndex<UniChunked<S, usize>> for usize where
    S: Set + Isolate<Range<usize>>, 
[src]

type Output = S::Output

fn try_isolate(self, chunked: ChunkedN<S>) -> Option<Self::Output>[src]

Isolate a chunk of the given ChunkedN collection.

impl<S> IsolateIndex<UniChunked<S, usize>> for Range<usize> where
    S: Set + Isolate<Range<usize>>, 
[src]

type Output = ChunkedN<S::Output>

fn try_isolate(self, chunked: ChunkedN<S>) -> Option<Self::Output>[src]

Isolate a [begin..end) range of the given ChunkedN collection.

impl<S> IsolateIndex<S> for RangeFrom<usize> where
    S: Set + ValueType,
    Range<usize>: IsolateIndex<S>, 
[src]

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

impl<S: ValueType> IsolateIndex<S> for RangeTo<usize> where
    Range<usize>: IsolateIndex<S>, 
[src]

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

impl<S: ValueType> IsolateIndex<S> for RangeFull where
    S: Set,
    Range<usize>: IsolateIndex<S>, 
[src]

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

impl<S: ValueType> IsolateIndex<S> for RangeInclusive<usize> where
    S: Set,
    Range<usize>: IsolateIndex<S>, 
[src]

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

impl<S: ValueType> IsolateIndex<S> for RangeToInclusive<usize> where
    S: Set,
    Range<usize>: IsolateIndex<S>, 
[src]

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

Loading content...

Implementors

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<'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; 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; 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, 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, 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<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, 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, 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

Loading content...