soa_rs/
as_slice.rs

1use crate::{SliceMut, SliceRef, Soars};
2
3/// Similar to `AsRef<Slice>`, but returns a value type rather than an
4/// reference.
5pub trait AsSlice {
6    /// The type that the slice contains.
7    type Item: Soars;
8
9    /// Returns a [`SliceRef`] containing the entire array.
10    fn as_slice(&self) -> SliceRef<'_, Self::Item>;
11}
12
13/// Similar to `AsMut<Slice>`, but returns a value type rather than a mutable
14/// reference.
15pub trait AsMutSlice: AsSlice {
16    /// Returns a [`SliceMut`] containing the entire array.
17    fn as_mut_slice(&mut self) -> SliceMut<'_, Self::Item>;
18}