Struct imbl_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§
source§impl<'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> ⓘ
pub fn iter(&self) -> Iter<'_, A, N> ⓘ
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>where
A: Clone,
pub fn to_owned(&self) -> RingBuffer<A, N>where
A: Clone,
Construct a new RingBuffer
by copying the elements in this slice.
Trait Implementations§
source§impl<'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>
source§fn binary_search_by<F>(&self, compare: F) -> Result<usize, usize>
fn binary_search_by<F>(&self, compare: F) -> Result<usize, usize>
Perform a binary search using a comparator function.
source§fn binary_search_by_key<K, F>(
&self,
key: &K,
extract: F
) -> Result<usize, usize>
fn binary_search_by_key<K, F>( &self, key: &K, extract: F ) -> Result<usize, usize>
Perform a binary search using a key and a key extractor function.
source§fn is_sorted_by<F>(&self, compare: F) -> bool
fn is_sorted_by<F>(&self, compare: F) -> bool
Test whether the array is sorted using a comparator function.
source§fn is_sorted_by_key<K, F>(&self, extract: F) -> bool
fn is_sorted_by_key<K, F>(&self, extract: F) -> bool
Test whether the array is sorted using a key extractor function.
source§impl<'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>
source§fn from(buffer: &'a RingBuffer<A, N>) -> Self
fn from(buffer: &'a RingBuffer<A, N>) -> Self
Converts to this type from the input type.
source§impl<'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>
source§impl<'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>
source§impl<'a, A: PartialEq + 'a, const N: usize> PartialEq<RingBuffer<A, N>> for Slice<'a, A, N>
impl<'a, A: PartialEq + 'a, const N: usize> PartialEq<RingBuffer<A, N>> for Slice<'a, A, N>
source§fn eq(&self, other: &RingBuffer<A, N>) -> bool
fn eq(&self, other: &RingBuffer<A, N>) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl<A, const N: usize> PartialEq<Slice<'_, A, N>> for RingBuffer<A, N>where
A: PartialEq,
impl<A, const N: usize> PartialEq<Slice<'_, A, N>> for RingBuffer<A, N>where
A: PartialEq,
source§impl<'a, A: PartialEq + 'a, const N: usize> PartialEq<Slice<'a, A, N>> for SliceMut<'a, A, N>
impl<'a, A: PartialEq + 'a, const N: usize> PartialEq<Slice<'a, A, N>> for SliceMut<'a, A, N>
source§impl<'a, A: PartialEq + 'a, const N: usize> PartialEq<SliceMut<'a, A, N>> for Slice<'a, A, N>
impl<'a, A: PartialEq + 'a, const N: usize> PartialEq<SliceMut<'a, A, N>> for Slice<'a, A, N>
source§impl<'a, A: PartialEq + 'a, const N: usize> PartialEq for Slice<'a, A, N>
impl<'a, A: PartialEq + 'a, const N: usize> PartialEq for Slice<'a, A, N>
source§impl<'a, A: PartialOrd + 'a, const N: usize> PartialOrd for Slice<'a, A, N>
impl<'a, A: PartialOrd + 'a, const N: usize> PartialOrd for Slice<'a, A, N>
1.0.0 · source§fn 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 moreimpl<'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§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more