Trait ArrayRef

Source
pub trait ArrayRef<T> {
    // Required methods
    fn as_slice(&self) -> &[T];
    fn len(&self) -> usize;
    fn is_empty(&self) -> bool;
    fn get(&self, index: usize) -> Option<&T>;
    fn get_n<Range>(&self, range: Range) -> Option<Array<&[T]>>
       where Range: RangeBounds<usize>;
    fn first(&self) -> Option<&T>;
    fn last(&self) -> Option<&T>;
    fn iter(&self) -> SliceIter<'_, T> ;
    fn clone_to<Target>(
        &self,
        target: &mut Target,
    ) -> Result<(), BufferTooSmall>
       where Target: ArrayMut<T>,
             T: Clone;
}
Expand description

A trait for referencable linear array types

Required Methods§

Source

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

The underlying elements as slice

Source

fn len(&self) -> usize

The length of the wrapped elements

Source

fn is_empty(&self) -> bool

Whether self is empty or not

Source

fn get(&self, index: usize) -> Option<&T>

Gets an element

Source

fn get_n<Range>(&self, range: Range) -> Option<Array<&[T]>>
where Range: RangeBounds<usize>,

Gets a subrange

Source

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

Returns a reference to the first element

Source

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

Returns a reference to the last element

Source

fn iter(&self) -> SliceIter<'_, T>

Returns an iterator that references the elements

Source

fn clone_to<Target>(&self, target: &mut Target) -> Result<(), BufferTooSmall>
where Target: ArrayMut<T>, T: Clone,

Clones self to target

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.

Implementors§

Source§

impl<T, Wrapped> ArrayRef<T> for Array<Wrapped>
where Wrapped: AsRef<[T]>,