Trait Runner

Source
pub trait Runner<Left, Value, Right, Default>: Command
where Left: List, Value: Bit, Right: List, Default: Bit,
{ type Run: StateTrait; }
Expand description

Represents result of running some Command on State via generic arguments.

Required Associated Types§

Source

type Run: StateTrait

Result of running on State<Left, Value, Right>.

Implementors§

Source§

impl<Left, Right, Body, Default, Next> Runner<Left, True, Right, Default> for Cycle<Body, Next>
where Left: List, Right: List, Body: Runner<Left, True, Right, Default>, Default: Bit, Next: Command, Cycle<Body, Next>: Runner<<<Body as Runner<Left, True, Right, Default>>::Run as StateTrait>::Left, <<Body as Runner<Left, True, Right, Default>>::Run as StateTrait>::Value, <<Body as Runner<Left, True, Right, Default>>::Run as StateTrait>::Right, <<Body as Runner<Left, True, Right, Default>>::Run as StateTrait>::Default>,

Source§

type Run = <Cycle<Body, Next> as Runner<<<Body as Runner<<State<Left, True, Right, Default> as StateTrait>::Left, <State<Left, True, Right, Default> as StateTrait>::Value, <State<Left, True, Right, Default> as StateTrait>::Right, <State<Left, True, Right, Default> as StateTrait>::Default>>::Run as StateTrait>::Left, <<Body as Runner<<State<Left, True, Right, Default> as StateTrait>::Left, <State<Left, True, Right, Default> as StateTrait>::Value, <State<Left, True, Right, Default> as StateTrait>::Right, <State<Left, True, Right, Default> as StateTrait>::Default>>::Run as StateTrait>::Value, <<Body as Runner<<State<Left, True, Right, Default> as StateTrait>::Left, <State<Left, True, Right, Default> as StateTrait>::Value, <State<Left, True, Right, Default> as StateTrait>::Right, <State<Left, True, Right, Default> as StateTrait>::Default>>::Run as StateTrait>::Right, <<Body as Runner<<State<Left, True, Right, Default> as StateTrait>::Left, <State<Left, True, Right, Default> as StateTrait>::Value, <State<Left, True, Right, Default> as StateTrait>::Right, <State<Left, True, Right, Default> as StateTrait>::Default>>::Run as StateTrait>::Default>>::Run

Source§

impl<Left, Right, Body, Next, Default> Runner<Left, False, Right, Default> for Cycle<Body, Next>
where Left: List, Right: List, Body: Command, Next: Runner<Left, False, Right, Default>, Default: Bit,

Source§

type Run = <Next as Runner<<State<Left, False, Right, Default> as StateTrait>::Left, <State<Left, False, Right, Default> as StateTrait>::Value, <State<Left, False, Right, Default> as StateTrait>::Right, <State<Left, False, Right, Default> as StateTrait>::Default>>::Run

Source§

impl<Left, Value, Next, Default> Runner<Left, Value, Nil, Default> for Right<Next>
where Left: List, Value: Bit, Next: Runner<Cons<Value, Left>, Default, Nil, Default>, Default: Bit,

Source§

type Run = <Next as Runner<<State<Cons<Value, Left>, Default, Nil, Default> as StateTrait>::Left, <State<Cons<Value, Left>, Default, Nil, Default> as StateTrait>::Value, <State<Cons<Value, Left>, Default, Nil, Default> as StateTrait>::Right, <State<Cons<Value, Left>, Default, Nil, Default> as StateTrait>::Default>>::Run

Source§

impl<Left, Value, Right, Default> Runner<Left, Value, Right, Default> for EOF
where Left: List, Value: Bit, Right: List, Default: Bit,

Source§

type Run = State<Left, Value, Right, Default>

Source§

impl<Left, Value, Right, Default, Next> Runner<Left, Value, Right, Default> for Flip<Next>
where Left: List, Value: Bit, Right: List, Default: Bit, Next: Runner<Left, Value::Neg, Right, Default>,

Source§

type Run = <Next as Runner<<State<Left, <Value as Bit>::Neg, Right, Default> as StateTrait>::Left, <State<Left, <Value as Bit>::Neg, Right, Default> as StateTrait>::Value, <State<Left, <Value as Bit>::Neg, Right, Default> as StateTrait>::Right, <State<Left, <Value as Bit>::Neg, Right, Default> as StateTrait>::Default>>::Run

Source§

impl<LeftNew, ValueNew, ValuePrev, RightPrev, Default, Next> Runner<Cons<ValueNew, LeftNew>, ValuePrev, RightPrev, Default> for Left<Next>
where LeftNew: List, ValueNew: Bit, ValuePrev: Bit, RightPrev: List, Next: Runner<LeftNew, ValueNew, Cons<ValuePrev, RightPrev>, Default>, Default: Bit,

Source§

type Run = <Next as Runner<<State<LeftNew, ValueNew, Cons<ValuePrev, RightPrev>, Default> as StateTrait>::Left, <State<LeftNew, ValueNew, Cons<ValuePrev, RightPrev>, Default> as StateTrait>::Value, <State<LeftNew, ValueNew, Cons<ValuePrev, RightPrev>, Default> as StateTrait>::Right, <State<LeftNew, ValueNew, Cons<ValuePrev, RightPrev>, Default> as StateTrait>::Default>>::Run

Source§

impl<LeftPrev, ValuePrev, ValueNew, RightNew, Next, Default> Runner<LeftPrev, ValuePrev, Cons<ValueNew, RightNew>, Default> for Right<Next>
where LeftPrev: List, ValuePrev: Bit, ValueNew: Bit, RightNew: List, Next: Runner<Cons<ValuePrev, LeftPrev>, ValueNew, RightNew, Default>, Default: Bit,

Source§

type Run = <Next as Runner<<State<Cons<ValuePrev, LeftPrev>, ValueNew, RightNew, Default> as StateTrait>::Left, <State<Cons<ValuePrev, LeftPrev>, ValueNew, RightNew, Default> as StateTrait>::Value, <State<Cons<ValuePrev, LeftPrev>, ValueNew, RightNew, Default> as StateTrait>::Right, <State<Cons<ValuePrev, LeftPrev>, ValueNew, RightNew, Default> as StateTrait>::Default>>::Run

Source§

impl<Value, Right, Next, Default> Runner<Nil, Value, Right, Default> for Left<Next>
where Value: Bit, Right: List, Default: Bit, Next: Runner<Nil, Default, Cons<Value, Right>, Default>,

Source§

type Run = <Next as Runner<<State<Nil, Default, Cons<Value, Right>, Default> as StateTrait>::Left, <State<Nil, Default, Cons<Value, Right>, Default> as StateTrait>::Value, <State<Nil, Default, Cons<Value, Right>, Default> as StateTrait>::Right, <State<Nil, Default, Cons<Value, Right>, Default> as StateTrait>::Default>>::Run