[][src]Trait type_freak::list::LScanOp

pub trait LScanOp<State, Func> where
    Self: TList,
    Self::Output: TList
{ type Output; type State; }

A LMap-like operator that maintains internal state.

Associated Types

type Output

type State

Loading content...

Implementors

impl<State, Func> LScanOp<State, Func> for LNil[src]

type Output = LNil

type State = State

impl<State, Func, Head, Tail> LScanOp<State, Func> for LCons<Head, Tail> where
    Func: Functor<(State, Head)>,
    Tail: TList + LScanOp<SecondOf<ApplyFunctor<Func, (State, Head)>>, Func>,
    FirstOfFunctor: Functor<ApplyFunctor<Func, (State, Head)>>,
    SecondOfFunctor: Functor<ApplyFunctor<Func, (State, Head)>>,
    ApplyFunctor<Func, (State, Head)>: Pair
[src]

type Output = LCons<FirstOf<ApplyFunctor<Func, (State, Head)>>, LScanOpOutput<Tail, Self::State, Func>>

type State = SecondOf<ApplyFunctor<Func, (State, Head)>>

Loading content...