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§
Sourcefn get_n<Range>(&self, range: Range) -> Option<Array<&[T]>>where
Range: RangeBounds<usize>,
fn get_n<Range>(&self, range: Range) -> Option<Array<&[T]>>where
Range: RangeBounds<usize>,
Gets a subrange
Sourcefn clone_to<Target>(&self, target: &mut Target) -> Result<(), BufferTooSmall>
fn clone_to<Target>(&self, target: &mut Target) -> Result<(), BufferTooSmall>
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.