Struct ChunksExactMut
pub struct ChunksExactMut<'data, T>where
T: Send,{ /* private fields */ }
dep_rayon
only.Expand description
Parallel iterator over mutable non-overlapping chunks of a slice
Implementations§
§impl<'data, T> ChunksExactMut<'data, T>where
T: Send,
impl<'data, T> ChunksExactMut<'data, T>where
T: Send,
pub fn into_remainder(self) -> &'data mut [T] ⓘ
pub 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-1
elements.
Note that this has to consume self
to 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
with std::iter::ChunksExactMut
, but consider calling remainder()
or
take_remainder()
as alternatives.
pub fn remainder(&mut self) -> &mut [T] ⓘ
pub 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-1
elements.
Consider take_remainder()
if you need access to the data with its
original lifetime, rather than borrowing through &mut self
here.
pub fn take_remainder(&mut self) -> &'data mut [T] ⓘ
pub 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-1
elements. Subsequent calls will return an empty slice.
Trait Implementations§
§impl<'data, T> Debug for ChunksExactMut<'data, T>
impl<'data, T> Debug for ChunksExactMut<'data, T>
§impl<'data, T> IndexedParallelIterator for ChunksExactMut<'data, T>where
T: Send + 'data,
impl<'data, T> IndexedParallelIterator for ChunksExactMut<'data, T>where
T: Send + 'data,
§fn drive<C>(
self,
consumer: C,
) -> <C as Consumer<<ChunksExactMut<'data, T> as ParallelIterator>::Item>>::Result
fn drive<C>( self, consumer: C, ) -> <C as Consumer<<ChunksExactMut<'data, T> as ParallelIterator>::Item>>::Result
§fn len(&self) -> usize ⓘ
fn len(&self) -> usize ⓘ
§fn with_producer<CB>(
self,
callback: CB,
) -> <CB as ProducerCallback<<ChunksExactMut<'data, T> as ParallelIterator>::Item>>::Output
fn with_producer<CB>( self, callback: CB, ) -> <CB as ProducerCallback<<ChunksExactMut<'data, T> as ParallelIterator>::Item>>::Output
§fn by_exponential_blocks(self) -> ExponentialBlocks<Self>
fn by_exponential_blocks(self) -> ExponentialBlocks<Self>
§fn by_uniform_blocks(self, block_size: usize) -> UniformBlocks<Self>
fn by_uniform_blocks(self, block_size: usize) -> UniformBlocks<Self>
§fn collect_into_vec(self, target: &mut Vec<Self::Item>)
fn collect_into_vec(self, target: &mut Vec<Self::Item>)
§fn unzip_into_vecs<A, B>(self, left: &mut Vec<A>, right: &mut Vec<B>)
fn unzip_into_vecs<A, B>(self, left: &mut Vec<A>, right: &mut Vec<B>)
§fn zip<Z>(self, zip_op: Z) -> Zip<Self, <Z as IntoParallelIterator>::Iter>
fn zip<Z>(self, zip_op: Z) -> Zip<Self, <Z as IntoParallelIterator>::Iter>
(A, B)
, where the items A
are from
this iterator and B
are from the iterator given as argument.
Like the zip
method on ordinary iterators, if the two
iterators are of unequal length, you only get the items they
have in common. Read more§fn zip_eq<Z>(self, zip_op: Z) -> ZipEq<Self, <Z as IntoParallelIterator>::Iter>
fn zip_eq<Z>(self, zip_op: Z) -> ZipEq<Self, <Z as IntoParallelIterator>::Iter>
Zip
, but requires that both iterators have the same length. Read more§fn interleave<I>(
self,
other: I,
) -> Interleave<Self, <I as IntoParallelIterator>::Iter>where
I: IntoParallelIterator<Item = Self::Item>,
<I as IntoParallelIterator>::Iter: IndexedParallelIterator<Item = Self::Item>,
fn interleave<I>(
self,
other: I,
) -> Interleave<Self, <I as IntoParallelIterator>::Iter>where
I: IntoParallelIterator<Item = Self::Item>,
<I as IntoParallelIterator>::Iter: IndexedParallelIterator<Item = Self::Item>,
§fn interleave_shortest<I>(
self,
other: I,
) -> InterleaveShortest<Self, <I as IntoParallelIterator>::Iter>where
I: IntoParallelIterator<Item = Self::Item>,
<I as IntoParallelIterator>::Iter: IndexedParallelIterator<Item = Self::Item>,
fn interleave_shortest<I>(
self,
other: I,
) -> InterleaveShortest<Self, <I as IntoParallelIterator>::Iter>where
I: IntoParallelIterator<Item = Self::Item>,
<I as IntoParallelIterator>::Iter: IndexedParallelIterator<Item = Self::Item>,
§fn chunks(self, chunk_size: usize) -> Chunks<Self>
fn chunks(self, chunk_size: usize) -> Chunks<Self>
§fn fold_chunks<T, ID, F>(
self,
chunk_size: usize,
identity: ID,
fold_op: F,
) -> FoldChunks<Self, ID, F>
fn fold_chunks<T, ID, F>( self, chunk_size: usize, identity: ID, fold_op: F, ) -> FoldChunks<Self, ID, F>
§fn fold_chunks_with<T, F>(
self,
chunk_size: usize,
init: T,
fold_op: F,
) -> FoldChunksWith<Self, T, F>
fn fold_chunks_with<T, F>( self, chunk_size: usize, init: T, fold_op: F, ) -> FoldChunksWith<Self, T, F>
§fn cmp<I>(self, other: I) -> Orderingwhere
I: IntoParallelIterator<Item = Self::Item>,
<I as IntoParallelIterator>::Iter: IndexedParallelIterator,
Self::Item: Ord,
fn cmp<I>(self, other: I) -> Orderingwhere
I: IntoParallelIterator<Item = Self::Item>,
<I as IntoParallelIterator>::Iter: IndexedParallelIterator,
Self::Item: Ord,
ParallelIterator
with those of
another. Read more§fn partial_cmp<I>(self, other: I) -> Option<Ordering> ⓘwhere
I: IntoParallelIterator,
<I as IntoParallelIterator>::Iter: IndexedParallelIterator,
Self::Item: PartialOrd<<I as IntoParallelIterator>::Item>,
fn partial_cmp<I>(self, other: I) -> Option<Ordering> ⓘwhere
I: IntoParallelIterator,
<I as IntoParallelIterator>::Iter: IndexedParallelIterator,
Self::Item: PartialOrd<<I as IntoParallelIterator>::Item>,
ParallelIterator
with those of
another. Read more§fn eq<I>(self, other: I) -> boolwhere
I: IntoParallelIterator,
<I as IntoParallelIterator>::Iter: IndexedParallelIterator,
Self::Item: PartialEq<<I as IntoParallelIterator>::Item>,
fn eq<I>(self, other: I) -> boolwhere
I: IntoParallelIterator,
<I as IntoParallelIterator>::Iter: IndexedParallelIterator,
Self::Item: PartialEq<<I as IntoParallelIterator>::Item>,
ParallelIterator
are equal to those of another§fn ne<I>(self, other: I) -> boolwhere
I: IntoParallelIterator,
<I as IntoParallelIterator>::Iter: IndexedParallelIterator,
Self::Item: PartialEq<<I as IntoParallelIterator>::Item>,
fn ne<I>(self, other: I) -> boolwhere
I: IntoParallelIterator,
<I as IntoParallelIterator>::Iter: IndexedParallelIterator,
Self::Item: PartialEq<<I as IntoParallelIterator>::Item>,
ParallelIterator
are unequal to those of another§fn lt<I>(self, other: I) -> boolwhere
I: IntoParallelIterator,
<I as IntoParallelIterator>::Iter: IndexedParallelIterator,
Self::Item: PartialOrd<<I as IntoParallelIterator>::Item>,
fn lt<I>(self, other: I) -> boolwhere
I: IntoParallelIterator,
<I as IntoParallelIterator>::Iter: IndexedParallelIterator,
Self::Item: PartialOrd<<I as IntoParallelIterator>::Item>,
ParallelIterator
are lexicographically less than those of another.§fn le<I>(self, other: I) -> boolwhere
I: IntoParallelIterator,
<I as IntoParallelIterator>::Iter: IndexedParallelIterator,
Self::Item: PartialOrd<<I as IntoParallelIterator>::Item>,
fn le<I>(self, other: I) -> boolwhere
I: IntoParallelIterator,
<I as IntoParallelIterator>::Iter: IndexedParallelIterator,
Self::Item: PartialOrd<<I as IntoParallelIterator>::Item>,
ParallelIterator
are less or equal to those of another.§fn gt<I>(self, other: I) -> boolwhere
I: IntoParallelIterator,
<I as IntoParallelIterator>::Iter: IndexedParallelIterator,
Self::Item: PartialOrd<<I as IntoParallelIterator>::Item>,
fn gt<I>(self, other: I) -> boolwhere
I: IntoParallelIterator,
<I as IntoParallelIterator>::Iter: IndexedParallelIterator,
Self::Item: PartialOrd<<I as IntoParallelIterator>::Item>,
ParallelIterator
are lexicographically greater than those of another.§fn ge<I>(self, other: I) -> boolwhere
I: IntoParallelIterator,
<I as IntoParallelIterator>::Iter: IndexedParallelIterator,
Self::Item: PartialOrd<<I as IntoParallelIterator>::Item>,
fn ge<I>(self, other: I) -> boolwhere
I: IntoParallelIterator,
<I as IntoParallelIterator>::Iter: IndexedParallelIterator,
Self::Item: PartialOrd<<I as IntoParallelIterator>::Item>,
ParallelIterator
are less or equal to those of another.§fn step_by(self, step: usize) -> StepBy<Self>
fn step_by(self, step: usize) -> StepBy<Self>
§fn skip(self, n: usize) -> Skip<Self>
fn skip(self, n: usize) -> Skip<Self>
n
elements. Read more§fn take(self, n: usize) -> Take<Self>
fn take(self, n: usize) -> Take<Self>
n
elements. Read more§fn position_any<P>(self, predicate: P) -> Option<usize> ⓘ
fn position_any<P>(self, predicate: P) -> Option<usize> ⓘ
ParallelIterator::find_any
, the parallel search will not
necessarily find the first match, and once a match is
found we’ll attempt to stop processing any more. Read more§fn position_first<P>(self, predicate: P) -> Option<usize> ⓘ
fn position_first<P>(self, predicate: P) -> Option<usize> ⓘ
§fn position_last<P>(self, predicate: P) -> Option<usize> ⓘ
fn position_last<P>(self, predicate: P) -> Option<usize> ⓘ
§fn positions<P>(self, predicate: P) -> Positions<Self, P>
fn positions<P>(self, predicate: P) -> Positions<Self, P>
§fn rev(self) -> Rev<Self>
fn rev(self) -> Rev<Self>
§fn with_min_len(self, min: usize) -> MinLen<Self>
fn with_min_len(self, min: usize) -> MinLen<Self>
§fn with_max_len(self, max: usize) -> MaxLen<Self>
fn with_max_len(self, max: usize) -> MaxLen<Self>
with_min_len()
.
For example, given min=10 and max=15, a length of 16 will not be
split any further. Read more§impl<'data, T> ParallelIterator for ChunksExactMut<'data, T>where
T: Send + 'data,
impl<'data, T> ParallelIterator for ChunksExactMut<'data, T>where
T: Send + 'data,
§type Item = &'data mut [T]
type Item = &'data mut [T]
for_each
method, this is the type of
item that your closure will be invoked with.§fn drive_unindexed<C>(
self,
consumer: C,
) -> <C as Consumer<<ChunksExactMut<'data, T> as ParallelIterator>::Item>>::Result
fn drive_unindexed<C>( self, consumer: C, ) -> <C as Consumer<<ChunksExactMut<'data, T> as ParallelIterator>::Item>>::Result
§fn opt_len(&self) -> Option<usize> ⓘ
fn opt_len(&self) -> Option<usize> ⓘ
§fn for_each<OP>(self, op: OP)
fn for_each<OP>(self, op: OP)
OP
on each item produced by the iterator, in parallel. Read more§fn for_each_with<OP, T>(self, init: T, op: OP)
fn for_each_with<OP, T>(self, init: T, op: OP)
§fn for_each_init<OP, INIT, T>(self, init: INIT, op: OP)
fn for_each_init<OP, INIT, T>(self, init: INIT, op: OP)
OP
on a value returned by init
with each item produced by
the iterator, in parallel. Read more§fn try_for_each<OP, R>(self, op: OP) -> R
fn try_for_each<OP, R>(self, op: OP) -> R
OP
on each item produced by the iterator, in parallel. Read more§fn try_for_each_with<OP, T, R>(self, init: T, op: OP) -> R
fn try_for_each_with<OP, T, R>(self, init: T, op: OP) -> R
OP
on the given init
value with each item
produced by the iterator, in parallel. Read more§fn try_for_each_init<OP, INIT, T, R>(self, init: INIT, op: OP) -> R
fn try_for_each_init<OP, INIT, T, R>(self, init: INIT, op: OP) -> R
OP
on a value returned by init
with each item
produced by the iterator, in parallel. Read more§fn map<F, R>(self, map_op: F) -> Map<Self, F>
fn map<F, R>(self, map_op: F) -> Map<Self, F>
map_op
to each item of this iterator, producing a new
iterator with the results. Read more§fn map_with<F, T, R>(self, init: T, map_op: F) -> MapWith<Self, T, F>
fn map_with<F, T, R>(self, init: T, map_op: F) -> MapWith<Self, T, F>
map_op
to the given init
value with each item of this
iterator, producing a new iterator with the results. Read more§fn map_init<F, INIT, T, R>(
self,
init: INIT,
map_op: F,
) -> MapInit<Self, INIT, F>
fn map_init<F, INIT, T, R>( self, init: INIT, map_op: F, ) -> MapInit<Self, INIT, F>
map_op
to a value returned by init
with each item of this
iterator, producing a new iterator with the results. Read more§fn inspect<OP>(self, inspect_op: OP) -> Inspect<Self, OP>
fn inspect<OP>(self, inspect_op: OP) -> Inspect<Self, OP>
inspect_op
to a reference to each item of this iterator,
producing a new iterator passing through the original items. This is
often useful for debugging to see what’s happening in iterator stages. Read more§fn update<F>(self, update_op: F) -> Update<Self, F>
fn update<F>(self, update_op: F) -> Update<Self, F>
§fn filter<P>(self, filter_op: P) -> Filter<Self, P>
fn filter<P>(self, filter_op: P) -> Filter<Self, P>
filter_op
to each item of this iterator, producing a new
iterator with only the items that gave true
results. Read more§fn filter_map<P, R>(self, filter_op: P) -> FilterMap<Self, P>
fn filter_map<P, R>(self, filter_op: P) -> FilterMap<Self, P>
filter_op
to each item of this iterator to get an Option
,
producing a new iterator with only the items from Some
results. Read more§fn flat_map<F, PI>(self, map_op: F) -> FlatMap<Self, F>
fn flat_map<F, PI>(self, map_op: F) -> FlatMap<Self, F>
map_op
to each item of this iterator to get nested parallel iterators,
producing a new parallel iterator that flattens these back into one. Read more§fn flat_map_iter<F, SI>(self, map_op: F) -> FlatMapIter<Self, F>
fn flat_map_iter<F, SI>(self, map_op: F) -> FlatMapIter<Self, F>
map_op
to each item of this iterator to get nested serial iterators,
producing a new parallel iterator that flattens these back into one. Read more§fn flatten(self) -> Flatten<Self>where
Self::Item: IntoParallelIterator,
fn flatten(self) -> Flatten<Self>where
Self::Item: IntoParallelIterator,
Item
s into one large iterator. Read more§fn flatten_iter(self) -> FlattenIter<Self>
fn flatten_iter(self) -> FlattenIter<Self>
Item
s into one large iterator. Read more§fn reduce<OP, ID>(self, identity: ID, op: OP) -> Self::Item
fn reduce<OP, ID>(self, identity: ID, op: OP) -> Self::Item
op
.
The argument identity
should be a closure that can produce
“identity” value which may be inserted into the sequence as
needed to create opportunities for parallel execution. So, for
example, if you are doing a summation, then identity()
ought
to produce something that represents the zero for your type
(but consider just calling sum()
in that case). Read more§fn reduce_with<OP>(self, op: OP) -> Option<Self::Item> ⓘ
fn reduce_with<OP>(self, op: OP) -> Option<Self::Item> ⓘ
op
.
If the iterator is empty, None
is returned; otherwise,
Some
is returned. Read more§fn try_reduce<T, OP, ID>(self, identity: ID, op: OP) -> Self::Item
fn try_reduce<T, OP, ID>(self, identity: ID, op: OP) -> Self::Item
§fn try_reduce_with<T, OP>(self, op: OP) -> Option<Self::Item> ⓘ
fn try_reduce_with<T, OP>(self, op: OP) -> Option<Self::Item> ⓘ
op
. Read more§fn fold<T, ID, F>(self, identity: ID, fold_op: F) -> Fold<Self, ID, F>
fn fold<T, ID, F>(self, identity: ID, fold_op: F) -> Fold<Self, ID, F>
22 3 77 89 46
. If
you used sequential fold to add them (fold(0, |a,b| a+b)
,
you would wind up first adding 0 + 22, then 22 + 3, then 25 +
77, and so forth. The parallel fold works similarly except
that it first breaks up your list into sublists, and hence
instead of yielding up a single sum at the end, it yields up
multiple sums. The number of results is nondeterministic, as
is the point where the breaks occur. Read more§fn fold_with<F, T>(self, init: T, fold_op: F) -> FoldWith<Self, T, F>
fn fold_with<F, T>(self, init: T, fold_op: F) -> FoldWith<Self, T, F>
fold_op
to the given init
value with each item of this
iterator, finally producing the value for further use. Read more§fn try_fold<T, R, ID, F>(
self,
identity: ID,
fold_op: F,
) -> TryFold<Self, R, ID, F>
fn try_fold<T, R, ID, F>( self, identity: ID, fold_op: F, ) -> TryFold<Self, R, ID, F>
§fn try_fold_with<F, T, R>(self, init: T, fold_op: F) -> TryFoldWith<Self, R, F>
fn try_fold_with<F, T, R>(self, init: T, fold_op: F) -> TryFoldWith<Self, R, F>
init
value. Read more§fn min(self) -> Option<Self::Item> ⓘ
fn min(self) -> Option<Self::Item> ⓘ
None
is returned; otherwise, Some(min)
is returned. Read more§fn min_by<F>(self, f: F) -> Option<Self::Item> ⓘ
fn min_by<F>(self, f: F) -> Option<Self::Item> ⓘ
None
is
returned; otherwise, Some(min)
is returned. Read more§fn min_by_key<K, F>(self, f: F) -> Option<Self::Item> ⓘ
fn min_by_key<K, F>(self, f: F) -> Option<Self::Item> ⓘ
None
is returned;
otherwise, Some(item)
is returned. Read more§fn max(self) -> Option<Self::Item> ⓘ
fn max(self) -> Option<Self::Item> ⓘ
None
is returned; otherwise, Some(max)
is returned. Read more§fn max_by<F>(self, f: F) -> Option<Self::Item> ⓘ
fn max_by<F>(self, f: F) -> Option<Self::Item> ⓘ
None
is
returned; otherwise, Some(max)
is returned. Read more§fn max_by_key<K, F>(self, f: F) -> Option<Self::Item> ⓘ
fn max_by_key<K, F>(self, f: F) -> Option<Self::Item> ⓘ
None
is returned;
otherwise, Some(item)
is returned. Read more§fn chain<C>(self, chain: C) -> Chain<Self, <C as IntoParallelIterator>::Iter>where
C: IntoParallelIterator<Item = Self::Item>,
fn chain<C>(self, chain: C) -> Chain<Self, <C as IntoParallelIterator>::Iter>where
C: IntoParallelIterator<Item = Self::Item>,
§fn find_any<P>(self, predicate: P) -> Option<Self::Item> ⓘ
fn find_any<P>(self, predicate: P) -> Option<Self::Item> ⓘ
find
on sequential iterators but
the item returned may not be the first one in the parallel
sequence which matches, since we search the entire sequence in parallel. Read more§fn find_first<P>(self, predicate: P) -> Option<Self::Item> ⓘ
fn find_first<P>(self, predicate: P) -> Option<Self::Item> ⓘ
§fn find_last<P>(self, predicate: P) -> Option<Self::Item> ⓘ
fn find_last<P>(self, predicate: P) -> Option<Self::Item> ⓘ
§fn find_map_any<P, R>(self, predicate: P) -> Option<R> ⓘ
fn find_map_any<P, R>(self, predicate: P) -> Option<R> ⓘ
§fn find_map_first<P, R>(self, predicate: P) -> Option<R> ⓘ
fn find_map_first<P, R>(self, predicate: P) -> Option<R> ⓘ
§fn find_map_last<P, R>(self, predicate: P) -> Option<R> ⓘ
fn find_map_last<P, R>(self, predicate: P) -> Option<R> ⓘ
§fn any<P>(self, predicate: P) -> bool
fn any<P>(self, predicate: P) -> bool
§fn all<P>(self, predicate: P) -> bool
fn all<P>(self, predicate: P) -> bool
§fn while_some<T>(self) -> WhileSome<Self>
fn while_some<T>(self) -> WhileSome<Self>
Some
items of this iterator, halting
as soon as any None
is found. Read more§fn panic_fuse(self) -> PanicFuse<Self>
fn panic_fuse(self) -> PanicFuse<Self>
§fn collect<C>(self) -> Cwhere
C: FromParallelIterator<Self::Item>,
fn collect<C>(self) -> Cwhere
C: FromParallelIterator<Self::Item>,
§fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB) ⓘwhere
Self: ParallelIterator<Item = (A, B)>,
FromA: Default + Send + ParallelExtend<A>,
FromB: Default + Send + ParallelExtend<B>,
A: Send,
B: Send,
fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB) ⓘwhere
Self: ParallelIterator<Item = (A, B)>,
FromA: Default + Send + ParallelExtend<A>,
FromB: Default + Send + ParallelExtend<B>,
A: Send,
B: Send,
ParallelExtend
containers. Read more§fn partition<A, B, P>(self, predicate: P) -> (A, B) ⓘ
fn partition<A, B, P>(self, predicate: P) -> (A, B) ⓘ
ParallelExtend
containers. Items for which the predicate
returns
true go into the first container, and the rest go into the second. Read more§fn partition_map<A, B, P, L, R>(self, predicate: P) -> (A, B) ⓘ
fn partition_map<A, B, P, L, R>(self, predicate: P) -> (A, B) ⓘ
ParallelExtend
containers. Either::Left
items go into
the first container, and Either::Right
items go into the second. Read more§fn intersperse(self, element: Self::Item) -> Intersperse<Self>
fn intersperse(self, element: Self::Item) -> Intersperse<Self>
§fn take_any(self, n: usize) -> TakeAny<Self>
fn take_any(self, n: usize) -> TakeAny<Self>
n
elements from anywhere in the original iterator. Read more§fn skip_any(self, n: usize) -> SkipAny<Self>
fn skip_any(self, n: usize) -> SkipAny<Self>
n
elements from anywhere in the original iterator. Read more§fn take_any_while<P>(self, predicate: P) -> TakeAnyWhile<Self, P>
fn take_any_while<P>(self, predicate: P) -> TakeAnyWhile<Self, P>
predicate
returns false
. Read more§fn skip_any_while<P>(self, predicate: P) -> SkipAnyWhile<Self, P>
fn skip_any_while<P>(self, predicate: P) -> SkipAnyWhile<Self, P>
predicate
returns false
. Read more§fn collect_vec_list(self) -> LinkedList<Vec<Self::Item>>
fn collect_vec_list(self) -> LinkedList<Vec<Self::Item>>
Auto Trait Implementations§
impl<'data, T> Freeze for ChunksExactMut<'data, T>
impl<'data, T> RefUnwindSafe for ChunksExactMut<'data, T>where
T: RefUnwindSafe,
impl<'data, T> Send for ChunksExactMut<'data, T>
impl<'data, T> Sync for ChunksExactMut<'data, T>where
T: Sync,
impl<'data, T> Unpin for ChunksExactMut<'data, T>
impl<'data, T> !UnwindSafe for ChunksExactMut<'data, T>
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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
Source§impl<T> ByteSized for T
impl<T> ByteSized for T
Source§const BYTE_ALIGN: usize = _
const BYTE_ALIGN: usize = _
Source§fn byte_align(&self) -> usize ⓘ
fn byte_align(&self) -> usize ⓘ
Source§fn ptr_size_ratio(&self) -> [usize; 2]
fn ptr_size_ratio(&self) -> [usize; 2]
Source§impl<T, R> Chain<R> for Twhere
T: ?Sized,
impl<T, R> Chain<R> for Twhere
T: ?Sized,
Source§impl<T> ExtAny for T
impl<T> ExtAny for T
Source§fn as_any_mut(&mut self) -> &mut dyn Anywhere
Self: Sized,
fn as_any_mut(&mut self) -> &mut dyn Anywhere
Self: Sized,
Source§impl<T> ExtMem for Twhere
T: ?Sized,
impl<T> ExtMem for Twhere
T: ?Sized,
Source§const NEEDS_DROP: bool = _
const NEEDS_DROP: bool = _
Source§fn mem_align_of_val(&self) -> usize ⓘ
fn mem_align_of_val(&self) -> usize ⓘ
Source§fn mem_size_of_val(&self) -> usize ⓘ
fn mem_size_of_val(&self) -> usize ⓘ
Source§fn mem_needs_drop(&self) -> bool
fn mem_needs_drop(&self) -> bool
true
if dropping values of this type matters. Read moreSource§fn mem_forget(self)where
Self: Sized,
fn mem_forget(self)where
Self: Sized,
self
without running its destructor. Read moreSource§fn mem_replace(&mut self, other: Self) -> Selfwhere
Self: Sized,
fn mem_replace(&mut self, other: Self) -> Selfwhere
Self: Sized,
Source§unsafe fn mem_zeroed<T>() -> T
unsafe fn mem_zeroed<T>() -> T
unsafe_layout
only.T
represented by the all-zero byte-pattern. Read moreSource§unsafe fn mem_transmute_copy<Src, Dst>(src: &Src) -> Dst
unsafe fn mem_transmute_copy<Src, Dst>(src: &Src) -> Dst
unsafe_layout
only.T
represented by the all-zero byte-pattern. Read moreSource§fn mem_as_bytes(&self) -> &[u8] ⓘ
fn mem_as_bytes(&self) -> &[u8] ⓘ
unsafe_slice
only.§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
Source§impl<T> Hook for T
impl<T> Hook for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more§impl<T> IntoParallelIterator for Twhere
T: ParallelIterator,
impl<T> IntoParallelIterator for Twhere
T: ParallelIterator,
§type Item = <T as ParallelIterator>::Item
type Item = <T as ParallelIterator>::Item
§fn into_par_iter(self) -> T
fn into_par_iter(self) -> T
self
into a parallel iterator. Read more§impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
fn into_sample(self) -> T
§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError> ⓘ
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError> ⓘ
§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out
indicating that a T
is niched.