Layer

Trait Layer 

Source
pub trait Layer<S> {
    type Step;

    // Required method
    fn layer(&self, step: S) -> Self::Step;
}
Expand description

A layer to wrap a step

Required Associated Types§

Source

type Step

The resulting step type after layering.

Required Methods§

Source

fn layer(&self, step: S) -> Self::Step

Wrap the given step with this layer.

Implementors§

Source§

impl<F, Init, S> Layer<S> for Fold<F, Init>
where F: Clone, Init: Clone,

Source§

type Step = FoldStep<S, F, Init>

Source§

impl<S> Layer<S> for DelayFor
where S: Clone,

Source§

impl<S> Layer<S> for Identity

Source§

type Step = S

Source§

impl<S, F> Layer<S> for AndThen<F>
where F: Clone,

Source§

impl<S, F, I> Layer<S> for FilterMap<F, I>
where F: Clone,

Source§

type Step = FilterMapStep<F, S, I>

Source§

impl<S, F: Clone, B, I> Layer<S> for DelayWith<F, B, I>

Source§

type Step = DelayWithStep<S, F, B, I>

Source§

impl<S, Inner, Outer> Layer<S> for Stack<Inner, Outer>
where Inner: Layer<S>, Outer: Layer<Inner::Step>,

Source§

type Step = <Outer as Layer<<Inner as Layer<S>>::Step>>::Step