Struct sized_chunks::ring_buffer::Slice
source · [−]pub struct Slice<'a, A, const N: usize> { /* private fields */ }
Expand description
An indexable representation of a subset of a RingBuffer
.
Implementations
sourceimpl<'a, A: 'a, const N: usize> Slice<'a, A, N>
impl<'a, A: 'a, const N: usize> Slice<'a, A, N>
sourcepub unsafe fn get_unchecked(&self, index: usize) -> &A
pub unsafe fn get_unchecked(&self, index: usize) -> &A
Get an unchecked reference to the value at the given index.
Safety
You must ensure the index is not out of bounds.
sourcepub fn iter(&self) -> Iter<'_, A, N>ⓘNotable traits for Iter<'a, A, N>impl<'a, A, const N: usize> Iterator for Iter<'a, A, N> type Item = &'a A;
pub fn iter(&self) -> Iter<'_, A, N>ⓘNotable traits for Iter<'a, A, N>impl<'a, A, const N: usize> Iterator for Iter<'a, A, N> type Item = &'a A;
Get an iterator over references to the items in the slice in order.
sourcepub fn slice<R: RangeBounds<usize>>(self, range: R) -> Slice<'a, A, N>
pub fn slice<R: RangeBounds<usize>>(self, range: R) -> Slice<'a, A, N>
Create a subslice of this slice.
This consumes the slice. To create a subslice without consuming it,
clone it first: my_slice.clone().slice(1..2)
.
sourcepub fn split_at(self, index: usize) -> (Slice<'a, A, N>, Slice<'a, A, N>)
pub fn split_at(self, index: usize) -> (Slice<'a, A, N>, Slice<'a, A, N>)
Split the slice into two subslices at the given index.
sourcepub fn to_owned(&self) -> RingBuffer<A, N>ⓘNotable traits for RingBuffer<u8, N>impl<const N: usize> Write for RingBuffer<u8, N>impl<const N: usize> Read for RingBuffer<u8, N>
where
A: Clone,
pub fn to_owned(&self) -> RingBuffer<A, N>ⓘNotable traits for RingBuffer<u8, N>impl<const N: usize> Write for RingBuffer<u8, N>impl<const N: usize> Read for RingBuffer<u8, N>
where
A: Clone,
Construct a new RingBuffer
by copying the elements in this slice.
Trait Implementations
sourceimpl<'a, A: 'a, const N: usize> Array for Slice<'a, A, N>
impl<'a, A: 'a, const N: usize> Array for Slice<'a, A, N>
sourcefn contains(&self, target: &Self::Output) -> bool where
Self::Output: PartialEq<Self::Output>,
fn contains(&self, target: &Self::Output) -> bool where
Self::Output: PartialEq<Self::Output>,
Return true if an element equivalent to target
exists in the array.
sourcefn binary_search(&self, target: &Self::Output) -> Result<usize, usize> where
Self::Output: Ord,
fn binary_search(&self, target: &Self::Output) -> Result<usize, usize> where
Self::Output: Ord,
Perform a binary search for target
.
sourcefn binary_search_by<F>(&self, compare: F) -> Result<usize, usize> where
F: FnMut(&Self::Output) -> Ordering,
fn binary_search_by<F>(&self, compare: F) -> Result<usize, usize> where
F: FnMut(&Self::Output) -> Ordering,
Perform a binary search using a comparator function.
sourcefn binary_search_by_key<K, F>(
&self,
key: &K,
extract: F
) -> Result<usize, usize> where
F: FnMut(&Self::Output) -> K,
K: Ord,
fn binary_search_by_key<K, F>(
&self,
key: &K,
extract: F
) -> Result<usize, usize> where
F: FnMut(&Self::Output) -> K,
K: Ord,
Perform a binary search using a key and a key extractor function.
sourcefn is_sorted(&self) -> bool where
Self::Output: PartialOrd<Self::Output>,
fn is_sorted(&self) -> bool where
Self::Output: PartialOrd<Self::Output>,
Test whether the array is sorted.
sourcefn is_sorted_by<F>(&self, compare: F) -> bool where
F: FnMut(&Self::Output, &Self::Output) -> Option<Ordering>,
fn is_sorted_by<F>(&self, compare: F) -> bool where
F: FnMut(&Self::Output, &Self::Output) -> Option<Ordering>,
Test whether the array is sorted using a comparator function.
sourcefn is_sorted_by_key<K, F>(&self, extract: F) -> bool where
F: FnMut(&Self::Output) -> K,
K: PartialOrd<K>,
fn is_sorted_by_key<K, F>(&self, extract: F) -> bool where
F: FnMut(&Self::Output) -> K,
K: PartialOrd<K>,
Test whether the array is sorted using a key extractor function.
sourceimpl<'a, A: 'a, const N: usize> From<&'a RingBuffer<A, N>> for Slice<'a, A, N>
impl<'a, A: 'a, const N: usize> From<&'a RingBuffer<A, N>> for Slice<'a, A, N>
sourcefn from(buffer: &'a RingBuffer<A, N>) -> Self
fn from(buffer: &'a RingBuffer<A, N>) -> Self
Converts to this type from the input type.
sourceimpl<'a, A: 'a, const N: usize> IntoIterator for &'a Slice<'a, A, N>
impl<'a, A: 'a, const N: usize> IntoIterator for &'a Slice<'a, A, N>
sourceimpl<'a, A: Ord + 'a, const N: usize> Ord for Slice<'a, A, N>
impl<'a, A: Ord + 'a, const N: usize> Ord for Slice<'a, A, N>
sourceimpl<'a, A: PartialEq + 'a, S, const N: usize> PartialEq<S> for Slice<'a, A, N> where
S: Borrow<[A]>,
impl<'a, A: PartialEq + 'a, S, const N: usize> PartialEq<S> for Slice<'a, A, N> where
S: Borrow<[A]>,
sourceimpl<'a, A: PartialOrd + 'a, const N: usize> PartialOrd<Slice<'a, A, N>> for Slice<'a, A, N>
impl<'a, A: PartialOrd + 'a, const N: usize> PartialOrd<Slice<'a, A, N>> for Slice<'a, A, N>
sourcefn partial_cmp(&self, other: &Self) -> Option<Ordering>
fn partial_cmp(&self, other: &Self) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
impl<'a, A: Eq + 'a, const N: usize> Eq for Slice<'a, A, N>
Auto Trait Implementations
impl<'a, A, const N: usize> RefUnwindSafe for Slice<'a, A, N> where
A: RefUnwindSafe,
impl<'a, A, const N: usize> Send for Slice<'a, A, N> where
A: Sync,
impl<'a, A, const N: usize> Sync for Slice<'a, A, N> where
A: Sync,
impl<'a, A, const N: usize> Unpin for Slice<'a, A, N>
impl<'a, A, const N: usize> UnwindSafe for Slice<'a, A, N> where
A: RefUnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more