Struct RChunksExactMut
pub struct RChunksExactMut<'data, T: Send> { /* private fields */ }
Parallel iterator over mutable non-overlapping chunks of a slice, starting at the end.
Implementations
impl<'data, T: Send> RChunksExactMut<'data, T>
fn into_remainder(self) -> &'data mut [T]Return the remainder of the original slice that is not going to be returned by the iterator. The returned slice has at most
chunk_size-1elements.Note that this has to consume
selfto return the original lifetime of the data, which prevents this from actually being used as a parallel iterator since that also consumes. This method is provided for parity withstd::iter::RChunksExactMut, but consider callingremainder()ortake_remainder()as alternatives.fn remainder(&mut self) -> &mut [T]Return the remainder of the original slice that is not going to be returned by the iterator. The returned slice has at most
chunk_size-1elements.Consider
take_remainder()if you need access to the data with its original lifetime, rather than borrowing through&mut selfhere.fn take_remainder(&mut self) -> &'data mut [T]Return the remainder of the original slice that is not going to be returned by the iterator. The returned slice has at most
chunk_size-1elements. Subsequent calls will return an empty slice.
Trait Implementations
impl<'data, T: Debug + Send> Debug for RChunksExactMut<'data, T>
fn fmt(&self, f: &mut Formatter<'_>) -> Result
impl<'data, T: Send + 'data> IndexedParallelIterator for RChunksExactMut<'data, T>
fn drive<C>(self, consumer: C) -> C::Result where C: Consumer<Self::Item>,fn len(&self) -> usizefn with_producer<CB>(self, callback: CB) -> CB::Output where CB: ProducerCallback<Self::Item>,
impl<'data, T: Send + 'data> ParallelIterator for RChunksExactMut<'data, T>
type Item = &'data mut [T];fn drive_unindexed<C>(self, consumer: C) -> C::Result where C: UnindexedConsumer<Self::Item>,fn opt_len(&self) -> Option<usize>
Auto Trait Implementations
impl<'data, T> !UnwindSafe for RChunksExactMut<'data, T>
impl<'data, T> Freeze for RChunksExactMut<'data, T>
where
&'data mut [T]: Freeze + Freeze,
impl<'data, T> RefUnwindSafe for RChunksExactMut<'data, T>
where
&'data mut [T]: RefUnwindSafe + RefUnwindSafe,
impl<'data, T> Send for RChunksExactMut<'data, T>
where
&'data mut [T]: Send + Send,
impl<'data, T> Sync for RChunksExactMut<'data, T>
where
&'data mut [T]: Sync + Sync,
impl<'data, T> Unpin for RChunksExactMut<'data, T>
where
&'data mut [T]: Unpin + Unpin,
impl<'data, T> UnsafeUnpin for RChunksExactMut<'data, T>
where
&'data mut [T]: UnsafeUnpin + UnsafeUnpin,
Blanket Implementations
impl<T> Any for RChunksExactMut<'data, T>
where
T: 'static + ?Sized,
fn type_id(&self) -> TypeId
impl<T> Borrow<T> for RChunksExactMut<'data, T>
where
T: ?Sized,
fn borrow(&self) -> &T
impl<T> BorrowMut<T> for RChunksExactMut<'data, T>
where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
impl<T> From<T> for RChunksExactMut<'data, T>
fn from(t: T) -> TReturns the argument unchanged.
impl<T> IntoEither for RChunksExactMut<'data, T>
impl<T> IntoParallelIterator for RChunksExactMut<'data, T>
where
T: ParallelIterator,
type Iter = T;type Item = <T as ParallelIterator>::Item;fn into_par_iter(self) -> T
impl<T> Pointable for RChunksExactMut<'data, T>
const ALIGN: usize = _;type Init = T;unsafe fn init(init: <T as Pointable>::Init) -> usizeunsafe fn deref<'a>(ptr: usize) -> &'a Tunsafe fn deref_mut<'a>(ptr: usize) -> &'a mut Tunsafe fn drop(ptr: usize)
impl<T, U> Into<U> for RChunksExactMut<'data, T>
where
U: From<T>,
fn into(self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom<U> for RChunksExactMut<'data, T>
where
U: Into<T>,
type Error = never;fn try_from(value: U) -> Result<T, never>
impl<T, U> TryInto<U> for RChunksExactMut<'data, T>
where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error;fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>