## SliceLike

# Trait SliceLike

    pub trait SliceLike: Sized + Copy {
        type Item: Copy;
        type IntoIter: Iterator<Item = Self::Item> + DoubleEndedIterator;

        // Required methods
        fn iter(self) -> Self::IntoIter;
        fn as_slice(&self) -> &[Self::Item];

        // Provided methods
        fn get(self, idx: usize) -> Option<Self::Item> { ... }
        fn len(self) -> usize { ... }
        fn is_empty(self) -> bool { ... }
        fn contains(self, t: &Self::Item) -> bool
           where Self::Item: PartialEq { ... }
        fn to_vec(self) -> Vec<Self::Item> { ... }
        fn last(self) -> Option<Self::Item> { ... }
        fn split_last(&self) -> Option<(&Self::Item, &[Self::Item])> { ... }
    }

## Required Associated Types§

#### type Item: Copy

#### type IntoIter: Iterator<Item = Self::Item> + DoubleEndedIterator

## Required Methods§

#### fn iter(self) -> Self::IntoIter

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

## Provided Methods§

#### fn get(self, idx: usize) -> Option<Self::Item>

#### fn len(self) -> usize

#### fn is_empty(self) -> bool

#### fn contains(self, t: &Self::Item) -> bool
where Self::Item: PartialEq,

#### fn to_vec(self) -> Vec<Self::Item>

#### fn last(self) -> Option<Self::Item>

#### fn split_last(&self) -> Option<(&Self::Item, &[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§

§

### impl<'a, S> SliceLike for &'a S
where S: SliceLike,

§

#### type Item = <S as SliceLike>::Item

§

#### type IntoIter = <S as SliceLike>::IntoIter

§

#### fn iter(self) -> <S as SliceLike>::IntoIter

§

#### fn as_slice(&self) -> &[<S as SliceLike>::Item]

§

### impl<'a, T> SliceLike for &'a [T]
where T: Copy,

§

#### type Item = T

§

#### type IntoIter = Copied<Iter<'a, T>>

§

#### fn iter(self) -> Copied<Iter<'a, T>>

§

#### fn as_slice(&self) -> &[T]

§

### impl<'a, T, const N: usize> SliceLike for &'a [T; N]
where T: Copy,

§

#### type Item = T

§

#### type IntoIter = Copied<Iter<'a, T>>

§

#### fn iter(self) -> Copied<Iter<'a, T>>

§

#### fn as_slice(&self) -> &[T]

## Implementors§