Trait generic_array::sequence::GenericSequence[][src]

pub unsafe trait GenericSequence<T>: Sized + IntoIterator {
    type Length: ArrayLength<T>;
    type Sequence: GenericSequence<T, Length = Self::Length> + FromIterator<T>;
    fn generate<F>(f: F) -> Self::Sequence
    where
        F: FnMut(usize) -> T
; }

Defines some sequence with an associated length and iteration capabilities.

This is useful for passing N-length generic arrays as generics.

Associated Types

type Length: ArrayLength<T>[src]

GenericArray associated length

type Sequence: GenericSequence<T, Length = Self::Length> + FromIterator<T>[src]

Concrete sequence type used in conjuction with reference implementations of GenericSequence

Loading content...

Required methods

fn generate<F>(f: F) -> Self::Sequence where
    F: FnMut(usize) -> T, 
[src]

Initializes a new sequence instance using the given function.

If the generator function panics while initializing the sequence, any already initialized elements will be dropped.

Loading content...

Implementors

impl<'a, T: 'a, S: GenericSequence<T>> GenericSequence<T> for &'a S where
    &'a S: IntoIterator
[src]

type Length = S::Length

type Sequence = S::Sequence

impl<'a, T: 'a, S: GenericSequence<T>> GenericSequence<T> for &'a mut S where
    &'a mut S: IntoIterator
[src]

type Length = S::Length

type Sequence = S::Sequence

impl<T, N> GenericSequence<T> for GenericArray<T, N> where
    N: ArrayLength<T>,
    Self: IntoIterator<Item = T>, 
[src]

type Length = N

type Sequence = Self

Loading content...