GenericSequence

Trait GenericSequence 

Source
pub unsafe trait GenericSequence<T>: Sized + IntoIterator {
    type Length: ArrayLength<T>;
    type Sequence: GenericSequence<T, Length = Self::Length> + FromIterator<T>;

    // Required method
    fn generate<F>(f: F) -> Self::Sequence
       where F: FnMut(usize) -> T;
}
👎Deprecated: please upgrade to generic-array 1.x
Expand description

Defines some sequence with an associated length and iteration capabilities.

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

Required Associated Types§

Source

type Length: ArrayLength<T>

👎Deprecated: please upgrade to generic-array 1.x

GenericArray associated length

Source

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

👎Deprecated: please upgrade to generic-array 1.x

Concrete sequence type used in conjuction with reference implementations of GenericSequence

Required Methods§

Source

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

👎Deprecated: please upgrade to generic-array 1.x

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.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<'a, T: 'a, S: GenericSequence<T>> GenericSequence<T> for &'a S

Source§

type Length = <S as GenericSequence<T>>::Length

👎Deprecated: please upgrade to generic-array 1.x
Source§

type Sequence = <S as GenericSequence<T>>::Sequence

👎Deprecated: please upgrade to generic-array 1.x
Source§

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

👎Deprecated: please upgrade to generic-array 1.x
Source§

impl<'a, T: 'a, S: GenericSequence<T>> GenericSequence<T> for &'a mut S

Source§

type Length = <S as GenericSequence<T>>::Length

👎Deprecated: please upgrade to generic-array 1.x
Source§

type Sequence = <S as GenericSequence<T>>::Sequence

👎Deprecated: please upgrade to generic-array 1.x
Source§

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

👎Deprecated: please upgrade to generic-array 1.x

Implementors§

Source§

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