Trait Array

Source
pub trait Array:
    Primitive
    + Sized
    + IntoIterator
    + AsRef<[Self::Item]>
    + AsMut<[Self::Item]>
    + Borrow<[Self::Item]>
    + BorrowMut<[Self::Item]>
    + Index<usize, Output = Self::Item>
    + Index<(Bound<usize>, Bound<usize>), Output = [Self::Item]>
    + Index<Range<usize>, Output = [Self::Item]>
    + Index<RangeInclusive<usize>, Output = [Self::Item]>
    + Index<RangeFrom<usize>, Output = [Self::Item]>
    + Index<RangeTo<usize>, Output = [Self::Item]>
    + Index<RangeToInclusive<usize>, Output = [Self::Item]>
    + Index<RangeFull, Output = [Self::Item]>
    + IndexMut<usize, Output = Self::Item>
    + IndexMut<(Bound<usize>, Bound<usize>), Output = [Self::Item]>
    + IndexMut<Range<usize>, Output = [Self::Item]>
    + IndexMut<RangeInclusive<usize>, Output = [Self::Item]>
    + IndexMut<RangeFrom<usize>, Output = [Self::Item]>
    + IndexMut<RangeTo<usize>, Output = [Self::Item]>
    + IndexMut<RangeToInclusive<usize>, Output = [Self::Item]>
    + IndexMut<RangeFull, Output = [Self::Item]>
    + TryFrom<Vec<Self::Item>>
    + Into<Box<[Self::Item]>>
    + Into<Rc<[Self::Item]>>
    + Into<Arc<[Self::Item]>>
    + Into<Vec<Self::Item>>
    + Into<VecDeque<Self::Item>>
    + Into<LinkedList<Self::Item>> {
    const N: usize;

    // Required methods
    fn as_slice(&self) -> &[Self::Item];
    fn as_mut_slice(&mut self) -> &mut [Self::Item];
    fn map<F, U>(self, f: F) -> impl Array<Item = U>
       where F: FnMut(Self::Item) -> U;
    fn each_ref(&self) -> impl Array<Item = &Self::Item>;
    fn each_mut(&mut self) -> impl Array<Item = &mut Self::Item>;
}

Required Associated Constants§

Source

const N: usize

Required Methods§

Source

fn as_slice(&self) -> &[Self::Item]

Source

fn as_mut_slice(&mut self) -> &mut [Self::Item]

Source

fn map<F, U>(self, f: F) -> impl Array<Item = U>
where F: FnMut(Self::Item) -> U,

Source

fn each_ref(&self) -> impl Array<Item = &Self::Item>

Source

fn each_mut(&mut self) -> impl Array<Item = &mut Self::Item>

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<const N: usize, T> Array for [T; N]

Source§

const N: usize = N

Source§

fn as_slice(&self) -> &[Self::Item]

Source§

fn as_mut_slice(&mut self) -> &mut [Self::Item]

Source§

fn map<F, U>(self, f: F) -> impl Array<Item = U>
where F: FnMut(Self::Item) -> U,

Source§

fn each_ref(&self) -> impl Array<Item = &Self::Item>

Source§

fn each_mut(&mut self) -> impl Array<Item = &mut Self::Item>

Implementors§