Struct generic_array::GenericArray[][src]

pub struct GenericArray<T, U: ArrayLength<T>> { /* fields omitted */ }

Struct representing a generic array - GenericArray<T, N> works like [T; N]

Implementations

impl<T, N> GenericArray<T, N> where
    N: ArrayLength<T>, 
[src]

pub fn generate<F>(f: F) -> GenericArray<T, N> where
    F: Fn(usize) -> T, 
[src]

Initializes a new GenericArray instance using the given function.

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

pub fn map_slice<S, F: Fn(&S) -> T>(s: &[S], f: F) -> GenericArray<T, N>[src]

Map a function over a slice to a GenericArray.

The length of the slice must be equal to the length of the array.

pub fn map<U, F>(self, f: F) -> GenericArray<U, N> where
    F: Fn(T) -> U,
    N: ArrayLength<U>, 
[src]

Maps a GenericArray to another GenericArray.

If the mapping function panics, any already initialized elements in the new array will be dropped, AND any unused elements in the source array will also be dropped.

pub fn map_ref<U, F>(&self, f: F) -> GenericArray<U, N> where
    F: Fn(&T) -> U,
    N: ArrayLength<U>, 
[src]

Maps a GenericArray to another GenericArray by reference.

If the mapping function panics, any already initialized elements will be dropped.

pub fn zip<B, U, F>(self, rhs: GenericArray<B, N>, f: F) -> GenericArray<U, N> where
    F: Fn(T, B) -> U,
    N: ArrayLength<B> + ArrayLength<U>, 
[src]

Combines two GenericArray instances and iterates through both of them, initializing a new GenericArray with the result of the zipped mapping function.

If the mapping function panics, any already initialized elements in the new array will be dropped, AND any unused elements in the source arrays will also be dropped.

pub fn zip_ref<B, U, F>(
    &self,
    rhs: &GenericArray<B, N>,
    f: F
) -> GenericArray<U, N> where
    F: Fn(&T, &B) -> U,
    N: ArrayLength<B> + ArrayLength<U>, 
[src]

Combines two GenericArray instances and iterates through both of them by reference, initializing a new GenericArray with the result of the zipped mapping function.

If the mapping function panics, any already initialized elements will be dropped.

pub fn as_slice(&self) -> &[T][src]

Extracts a slice containing the entire array.

pub fn as_mut_slice(&mut self) -> &mut [T][src]

Extracts a mutable slice containing the entire array.

pub fn from_slice(slice: &[T]) -> &GenericArray<T, N>[src]

Converts slice to a generic array reference with inferred length;

Length of the slice must be equal to the length of the array.

pub fn from_mut_slice(slice: &mut [T]) -> &mut GenericArray<T, N>[src]

Converts mutable slice to a mutable generic array reference

Length of the slice must be equal to the length of the array.

impl<T: Clone, N> GenericArray<T, N> where
    N: ArrayLength<T>, 
[src]

pub fn clone_from_slice(list: &[T]) -> GenericArray<T, N>[src]

Construct a GenericArray from a slice by cloning its content

Length of the slice must be equal to the length of the array

impl<T, N> GenericArray<T, N> where
    N: ArrayLength<T>, 
[src]

pub fn from_exact_iter<I>(iter: I) -> Option<Self> where
    I: IntoIterator<Item = T>,
    <I as IntoIterator>::IntoIter: ExactSizeIterator
[src]

Trait Implementations

impl<T, N> AsMut<[T]> for GenericArray<T, N> where
    N: ArrayLength<T>, 
[src]

impl<T, N> AsRef<[T]> for GenericArray<T, N> where
    N: ArrayLength<T>, 
[src]

impl<T, N> Borrow<[T]> for GenericArray<T, N> where
    N: ArrayLength<T>, 
[src]

impl<T, N> BorrowMut<[T]> for GenericArray<T, N> where
    N: ArrayLength<T>, 
[src]

impl<T: Clone, N> Clone for GenericArray<T, N> where
    N: ArrayLength<T>, 
[src]

impl<T: Copy, N> Copy for GenericArray<T, N> where
    N: ArrayLength<T>,
    N::ArrayType: Copy
[src]

impl<T: Debug, N> Debug for GenericArray<T, N> where
    N: ArrayLength<T>, 
[src]

impl<T: Default, N> Default for GenericArray<T, N> where
    N: ArrayLength<T>, 
[src]

impl<T, N> Deref for GenericArray<T, N> where
    N: ArrayLength<T>, 
[src]

type Target = [T]

The resulting type after dereferencing.

impl<T, N> DerefMut for GenericArray<T, N> where
    N: ArrayLength<T>, 
[src]

impl<T: Eq, N> Eq for GenericArray<T, N> where
    N: ArrayLength<T>, 
[src]

impl<T> From<[T; 1]> for GenericArray<T, U1>[src]

impl<T> From<[T; 10]> for GenericArray<T, U10>[src]

impl<T> From<[T; 11]> for GenericArray<T, U11>[src]

impl<T> From<[T; 12]> for GenericArray<T, U12>[src]

impl<T> From<[T; 13]> for GenericArray<T, U13>[src]

impl<T> From<[T; 14]> for GenericArray<T, U14>[src]

impl<T> From<[T; 15]> for GenericArray<T, U15>[src]

impl<T> From<[T; 16]> for GenericArray<T, U16>[src]

impl<T> From<[T; 17]> for GenericArray<T, U17>[src]

impl<T> From<[T; 18]> for GenericArray<T, U18>[src]

impl<T> From<[T; 19]> for GenericArray<T, U19>[src]

impl<T> From<[T; 2]> for GenericArray<T, U2>[src]

impl<T> From<[T; 20]> for GenericArray<T, U20>[src]

impl<T> From<[T; 21]> for GenericArray<T, U21>[src]

impl<T> From<[T; 22]> for GenericArray<T, U22>[src]

impl<T> From<[T; 23]> for GenericArray<T, U23>[src]

impl<T> From<[T; 24]> for GenericArray<T, U24>[src]

impl<T> From<[T; 25]> for GenericArray<T, U25>[src]

impl<T> From<[T; 26]> for GenericArray<T, U26>[src]

impl<T> From<[T; 27]> for GenericArray<T, U27>[src]

impl<T> From<[T; 28]> for GenericArray<T, U28>[src]

impl<T> From<[T; 29]> for GenericArray<T, U29>[src]

impl<T> From<[T; 3]> for GenericArray<T, U3>[src]

impl<T> From<[T; 30]> for GenericArray<T, U30>[src]

impl<T> From<[T; 31]> for GenericArray<T, U31>[src]

impl<T> From<[T; 32]> for GenericArray<T, U32>[src]

impl<T> From<[T; 4]> for GenericArray<T, U4>[src]

impl<T> From<[T; 5]> for GenericArray<T, U5>[src]

impl<T> From<[T; 6]> for GenericArray<T, U6>[src]

impl<T> From<[T; 7]> for GenericArray<T, U7>[src]

impl<T> From<[T; 8]> for GenericArray<T, U8>[src]

impl<T> From<[T; 9]> for GenericArray<T, U9>[src]

impl<T, N> FromIterator<T> for GenericArray<T, N> where
    N: ArrayLength<T>,
    T: Default
[src]

impl<T: Hash, N> Hash for GenericArray<T, N> where
    N: ArrayLength<T>, 
[src]

impl<T, N> IntoIterator for GenericArray<T, N> where
    N: ArrayLength<T>, 
[src]

type Item = T

The type of the elements being iterated over.

type IntoIter = GenericArrayIter<T, N>

Which kind of iterator are we turning this into?

impl<T: ArrayLength<u8>> LowerHex for GenericArray<u8, T> where
    T: Add<T>,
    <T as Add<T>>::Output: ArrayLength<u8>, 
[src]

impl<T: Ord, N> Ord for GenericArray<T, N> where
    N: ArrayLength<T>, 
[src]

impl<T: PartialEq, N> PartialEq<GenericArray<T, N>> for GenericArray<T, N> where
    N: ArrayLength<T>, 
[src]

impl<T: PartialOrd, N> PartialOrd<GenericArray<T, N>> for GenericArray<T, N> where
    N: ArrayLength<T>, 
[src]

impl<T: ArrayLength<u8>> UpperHex for GenericArray<u8, T> where
    T: Add<T>,
    <T as Add<T>>::Output: ArrayLength<u8>, 
[src]

Auto Trait Implementations

impl<T, U> Send for GenericArray<T, U> where
    <U as ArrayLength<T>>::ArrayType: Send

impl<T, U> Sync for GenericArray<T, U> where
    <U as ArrayLength<T>>::ArrayType: Sync

impl<T, U> Unpin for GenericArray<T, U> where
    <U as ArrayLength<T>>::ArrayType: Unpin

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[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<T, U> Into<U> for T where
    U: From<T>, 
[src]

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

type Output = T

Should always be Self

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.