Skip to main content

SplitViewProcess

Trait SplitViewProcess 

Source
pub trait SplitViewProcess<X, Y = X, S: ?Sized = ()> {
    // Required method
    fn process_view(&self, state: &mut S, x: X, y: Y);
}
Expand description

Split-state processing API over typed views.

Required Methods§

Source

fn process_view(&self, state: &mut S, x: X, y: Y)

Process one typed input view into one typed output view.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl<'a, 'b, X, Y, S: ?Sized, T, const L: usize> SplitViewProcess<View<'a, X, FrameMajor, L>, ViewMut<'b, Y, FrameMajor, L>, S> for T
where X: Copy, T: SplitProcess<X, Y, S>,

Source§

impl<'a, 'b, X: Copy, Y, C0, C1, S0, S1> SplitViewProcess<View<'a, X, LaneMajor, 2>, ViewMut<'b, Y, LaneMajor, 2>, (S0, S1)> for ByLane<(C0, C1)>
where C0: SplitProcess<X, Y, S0>, C1: SplitProcess<X, Y, S1>,

Source§

impl<'a, 'b, X: Copy, Y, C, S, const N: usize> SplitViewProcess<View<'a, X, LaneMajor, N>, ViewMut<'b, Y, LaneMajor, N>, [S; N]> for ByLane<[C; N]>
where C: SplitProcess<X, Y, S>,

Source§

impl<'a, 'b, X: Copy, Y, C, S, const N: usize> SplitViewProcess<View<'a, X, LaneMajor, N>, ViewMut<'b, Y, LaneMajor, N>, [S; N]> for Lanes<C>
where C: SplitProcess<X, Y, S>,