pub trait SplitInplace<X: Copy, S: ?Sized = ()>: SplitProcess<X, X, S> {
// Provided method
fn inplace(&self, state: &mut S, xy: &mut [X]) { ... }
}Expand description
Inplace processing with a split state
This is the split-state companion to Inplace. Implement it when a
SplitProcess<X, X, S> can update a buffer in place more efficiently than
routing through a separate output slice.
Provided Methods§
Sourcefn inplace(&self, state: &mut S, xy: &mut [X])
fn inplace(&self, state: &mut S, xy: &mut [X])
See also Inplace::inplace
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementations on Foreign Types§
Source§impl<X: Copy, C0, C1, S0, S1> SplitInplace<X, (S0, S1)> for (C0, C1)where
C0: SplitInplace<X, S0>,
C1: SplitInplace<X, S1>,
impl<X: Copy, C0, C1, S0, S1> SplitInplace<X, (S0, S1)> for (C0, C1)where
C0: SplitInplace<X, S0>,
C1: SplitInplace<X, S1>,
Source§impl<X: Copy, C, S, const N: usize> SplitInplace<X, [S; N]> for [C; N]where
C: SplitInplace<X, S>,
impl<X: Copy, C, S, const N: usize> SplitInplace<X, [S; N]> for [C; N]where
C: SplitInplace<X, S>,
Source§impl<X: Copy, C, S> SplitInplace<X, [S]> for [C]where
C: SplitInplace<X, S>,
impl<X: Copy, C, S> SplitInplace<X, [S]> for [C]where
C: SplitInplace<X, S>,
Source§impl<X: Copy, S: ?Sized, T: SplitInplace<X, S>> SplitInplace<X, S> for &T
impl<X: Copy, S: ?Sized, T: SplitInplace<X, S>> SplitInplace<X, S> for &T
Source§impl<X: Copy, S: ?Sized, T: SplitInplace<X, S>> SplitInplace<X, S> for &mut T
impl<X: Copy, S: ?Sized, T: SplitInplace<X, S>> SplitInplace<X, S> for &mut T
Implementors§
impl<C: SplitInplace<X, S>, S, X: Copy, const N: usize> SplitInplace<[X; N], S> for Chunk<C>
impl<C: SplitInplace<[X; 1], S>, S, X: Copy, const N: usize> SplitInplace<[X; N], S> for ChunkIn<C, 1>
impl<C: SplitInplace<[X; 1], S>, S, X: Copy, const N: usize> SplitInplace<[X; N], S> for ChunkInOut<C, 1, 1>
impl<C: SplitInplace<[X; 1], S>, S, X: Copy, const N: usize> SplitInplace<[X; N], S> for ChunkOut<C, 1>
impl<C: SplitInplace<[X; 1], S>, S, X: Copy, const N: usize> SplitInplace<[X; N], S> for ChunkOutPod<C, 1>
Available on crate feature
bytemuck only.