Skip to main content

Array

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

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§