Trait ArrayIter

Source
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.

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<T: Default + PartialEq, const N: usize> ArrayIter<T> for [T; N]

Source§

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

Source§

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

Source§

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§