pub trait ArrayIter<T: Default + PartialEq> {
    type Iter<'a>: Iterator<Item = &'a T> + DoubleEndedIterator + ExactSizeIterator
       where Self: 'a,
             T: 'a;
    type IterMut<'a>: Iterator<Item = &'a mut T> + DoubleEndedIterator + ExactSizeIterator
       where Self: 'a,
             T: 'a;
    type IntoIter: Iterator<Item = T> + DoubleEndedIterator + ExactSizeIterator;

    // Required methods
    fn into_iter_elements(self) -> Self::IntoIter;
    fn iter_elements(&self) -> Self::Iter<'_>;
    fn iter_elements_mut(&mut self) -> Self::IterMut<'_>;
    fn len(&self) -> usize;
    fn last(&self) -> Option<&T>;

    // Provided methods
    fn reset(&mut self) { ... }
    fn is_empty(&self) -> bool { ... }
    fn first_non_zero_index(&self) -> Option<usize> { ... }
    fn last_non_zero_index(&self) -> Option<usize> { ... }
}

Required Associated Types§

Required Methods§

source

fn into_iter_elements(self) -> Self::IntoIter

source

fn iter_elements(&self) -> Self::Iter<'_>

source

fn iter_elements_mut(&mut self) -> Self::IterMut<'_>

source

fn len(&self) -> usize

source

fn last(&self) -> Option<&T>

Provided Methods§

source

fn reset(&mut self)

source

fn is_empty(&self) -> bool

source

fn first_non_zero_index(&self) -> Option<usize>

Returns the first element that is not equal to the default value.

source

fn last_non_zero_index(&self) -> Option<usize>

Returns the last element that is not equal to the default value.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<T: Default + PartialEq, const N: usize> ArrayIter<T> for [T; N]

§

type Iter<'a> = Iter<'a, T> where Self: 'a

§

type IterMut<'a> = IterMut<'a, T> where Self: 'a

§

type IntoIter = IntoIter<T, N>

source§

fn into_iter_elements(self) -> Self::IntoIter

source§

fn iter_elements(&self) -> Self::Iter<'_>

source§

fn iter_elements_mut(&mut self) -> Self::IterMut<'_>

source§

fn len(&self) -> usize

source§

fn last(&self) -> Option<&T>

Implementors§