StateFilter

Trait StateFilter 

Source
pub trait StateFilter<State, Input> {
    type ValidOutput;
    type Error: Error;

    // Required method
    fn filter(
        state: &State,
        value: Input,
    ) -> Result<Self::ValidOutput, Self::Error>;
}

Required Associated Types§

Required Methods§

Source

fn filter(state: &State, value: Input) -> Result<Self::ValidOutput, Self::Error>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<State, InitialInput, Input0, Input1, F0: StateFilter<State, Input0>, F1: StateFilter<State, Input1>> StateFilter<State, InitialInput> for (Condition<Input0, F0>, Condition<Input1, F1>)

Source§

type ValidOutput = <<<<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<<F0 as StateFilter<State, Input0>>::ValidOutput>>::Combined as StateFilterInputConversion<Input1>>::Remainder as StateFilterInputCombination<<F1 as StateFilter<State, Input1>>::ValidOutput>>::Combined

Source§

type Error = StateFilterTwoChainError<<F0 as StateFilter<State, Input0>>::Error, <F1 as StateFilter<State, Input1>>::Error>

Source§

fn filter( state: &State, value: InitialInput, ) -> Result<Self::ValidOutput, Self::Error>

Source§

impl<State, InitialInput, Input0, Input1, Input2, F0: StateFilter<State, Input0>, F1: StateFilter<State, Input1>, F2: StateFilter<State, Input2>> StateFilter<State, InitialInput> for (Condition<Input0, F0>, Condition<Input1, F1>, Condition<Input2, F2>)

Source§

type ValidOutput = <<<<<<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<<F0 as StateFilter<State, Input0>>::ValidOutput>>::Combined as StateFilterInputConversion<Input1>>::Remainder as StateFilterInputCombination<<F1 as StateFilter<State, Input1>>::ValidOutput>>::Combined as StateFilterInputConversion<Input2>>::Remainder as StateFilterInputCombination<<F2 as StateFilter<State, Input2>>::ValidOutput>>::Combined

Source§

type Error = StateFilterThreeChainError<<F0 as StateFilter<State, Input0>>::Error, <F1 as StateFilter<State, Input1>>::Error, <F2 as StateFilter<State, Input2>>::Error>

Source§

fn filter( state: &State, value: InitialInput, ) -> Result<Self::ValidOutput, Self::Error>

Source§

impl<State, InitialInput, Input0, Input1, Input2, Input3, F0: StateFilter<State, Input0>, F1: StateFilter<State, Input1>, F2: StateFilter<State, Input2>, F3: StateFilter<State, Input3>> StateFilter<State, InitialInput> for (Condition<Input0, F0>, Condition<Input1, F1>, Condition<Input2, F2>, Condition<Input3, F3>)
where InitialInput: StateFilterInputConversion<Input0>, <InitialInput as StateFilterInputConversion<Input0>>::Remainder: StateFilterInputCombination<F0::ValidOutput>, <<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<F0::ValidOutput>>::Combined: StateFilterInputConversion<Input1>, <<<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<F0::ValidOutput>>::Combined as StateFilterInputConversion<Input1>>::Remainder: StateFilterInputCombination<F1::ValidOutput>, <<<<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<F0::ValidOutput>>::Combined as StateFilterInputConversion<Input1>>::Remainder as StateFilterInputCombination<F1::ValidOutput>>::Combined: StateFilterInputConversion<Input2>, <<<<<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<F0::ValidOutput>>::Combined as StateFilterInputConversion<Input1>>::Remainder as StateFilterInputCombination<F1::ValidOutput>>::Combined as StateFilterInputConversion<Input2>>::Remainder: StateFilterInputCombination<F2::ValidOutput>, <<<<<<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<F0::ValidOutput>>::Combined as StateFilterInputConversion<Input1>>::Remainder as StateFilterInputCombination<F1::ValidOutput>>::Combined as StateFilterInputConversion<Input2>>::Remainder as StateFilterInputCombination<F2::ValidOutput>>::Combined: StateFilterInputConversion<Input3>, <<<<<<<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<F0::ValidOutput>>::Combined as StateFilterInputConversion<Input1>>::Remainder as StateFilterInputCombination<F1::ValidOutput>>::Combined as StateFilterInputConversion<Input2>>::Remainder as StateFilterInputCombination<F2::ValidOutput>>::Combined as StateFilterInputConversion<Input3>>::Remainder: StateFilterInputCombination<F3::ValidOutput>,

Source§

type ValidOutput = <<<<<<<<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<<F0 as StateFilter<State, Input0>>::ValidOutput>>::Combined as StateFilterInputConversion<Input1>>::Remainder as StateFilterInputCombination<<F1 as StateFilter<State, Input1>>::ValidOutput>>::Combined as StateFilterInputConversion<Input2>>::Remainder as StateFilterInputCombination<<F2 as StateFilter<State, Input2>>::ValidOutput>>::Combined as StateFilterInputConversion<Input3>>::Remainder as StateFilterInputCombination<<F3 as StateFilter<State, Input3>>::ValidOutput>>::Combined

Source§

type Error = StateFilterFourChainError<<F0 as StateFilter<State, Input0>>::Error, <F1 as StateFilter<State, Input1>>::Error, <F2 as StateFilter<State, Input2>>::Error, <F3 as StateFilter<State, Input3>>::Error>

Source§

fn filter( state: &State, value: InitialInput, ) -> Result<Self::ValidOutput, Self::Error>

Source§

impl<State, InitialInput, Input0, Input1, Input2, Input3, Input4, F0: StateFilter<State, Input0>, F1: StateFilter<State, Input1>, F2: StateFilter<State, Input2>, F3: StateFilter<State, Input3>, F4: StateFilter<State, Input4>> StateFilter<State, InitialInput> for (Condition<Input0, F0>, Condition<Input1, F1>, Condition<Input2, F2>, Condition<Input3, F3>, Condition<Input4, F4>)
where InitialInput: StateFilterInputConversion<Input0>, <InitialInput as StateFilterInputConversion<Input0>>::Remainder: StateFilterInputCombination<F0::ValidOutput>, <<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<F0::ValidOutput>>::Combined: StateFilterInputConversion<Input1>, <<<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<F0::ValidOutput>>::Combined as StateFilterInputConversion<Input1>>::Remainder: StateFilterInputCombination<F1::ValidOutput>, <<<<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<F0::ValidOutput>>::Combined as StateFilterInputConversion<Input1>>::Remainder as StateFilterInputCombination<F1::ValidOutput>>::Combined: StateFilterInputConversion<Input2>, <<<<<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<F0::ValidOutput>>::Combined as StateFilterInputConversion<Input1>>::Remainder as StateFilterInputCombination<F1::ValidOutput>>::Combined as StateFilterInputConversion<Input2>>::Remainder: StateFilterInputCombination<F2::ValidOutput>, <<<<<<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<F0::ValidOutput>>::Combined as StateFilterInputConversion<Input1>>::Remainder as StateFilterInputCombination<F1::ValidOutput>>::Combined as StateFilterInputConversion<Input2>>::Remainder as StateFilterInputCombination<F2::ValidOutput>>::Combined: StateFilterInputConversion<Input3>, <<<<<<<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<F0::ValidOutput>>::Combined as StateFilterInputConversion<Input1>>::Remainder as StateFilterInputCombination<F1::ValidOutput>>::Combined as StateFilterInputConversion<Input2>>::Remainder as StateFilterInputCombination<F2::ValidOutput>>::Combined as StateFilterInputConversion<Input3>>::Remainder: StateFilterInputCombination<F3::ValidOutput>, <<<<<<<<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<F0::ValidOutput>>::Combined as StateFilterInputConversion<Input1>>::Remainder as StateFilterInputCombination<F1::ValidOutput>>::Combined as StateFilterInputConversion<Input2>>::Remainder as StateFilterInputCombination<F2::ValidOutput>>::Combined as StateFilterInputConversion<Input3>>::Remainder as StateFilterInputCombination<F3::ValidOutput>>::Combined: StateFilterInputConversion<Input4>, <<<<<<<<<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<F0::ValidOutput>>::Combined as StateFilterInputConversion<Input1>>::Remainder as StateFilterInputCombination<F1::ValidOutput>>::Combined as StateFilterInputConversion<Input2>>::Remainder as StateFilterInputCombination<F2::ValidOutput>>::Combined as StateFilterInputConversion<Input3>>::Remainder as StateFilterInputCombination<F3::ValidOutput>>::Combined as StateFilterInputConversion<Input4>>::Remainder: StateFilterInputCombination<F4::ValidOutput>,

Source§

type ValidOutput = <<<<<<<<<<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<<F0 as StateFilter<State, Input0>>::ValidOutput>>::Combined as StateFilterInputConversion<Input1>>::Remainder as StateFilterInputCombination<<F1 as StateFilter<State, Input1>>::ValidOutput>>::Combined as StateFilterInputConversion<Input2>>::Remainder as StateFilterInputCombination<<F2 as StateFilter<State, Input2>>::ValidOutput>>::Combined as StateFilterInputConversion<Input3>>::Remainder as StateFilterInputCombination<<F3 as StateFilter<State, Input3>>::ValidOutput>>::Combined as StateFilterInputConversion<Input4>>::Remainder as StateFilterInputCombination<<F4 as StateFilter<State, Input4>>::ValidOutput>>::Combined

Source§

type Error = StateFilterFiveChainError<<F0 as StateFilter<State, Input0>>::Error, <F1 as StateFilter<State, Input1>>::Error, <F2 as StateFilter<State, Input2>>::Error, <F3 as StateFilter<State, Input3>>::Error, <F4 as StateFilter<State, Input4>>::Error>

Source§

fn filter( state: &State, value: InitialInput, ) -> Result<Self::ValidOutput, Self::Error>

Source§

impl<State, InitialInput, Input0, Input1, Input2, Input3, Input4, Input5, F0: StateFilter<State, Input0>, F1: StateFilter<State, Input1>, F2: StateFilter<State, Input2>, F3: StateFilter<State, Input3>, F4: StateFilter<State, Input4>, F5: StateFilter<State, Input5>> StateFilter<State, InitialInput> for (Condition<Input0, F0>, Condition<Input1, F1>, Condition<Input2, F2>, Condition<Input3, F3>, Condition<Input4, F4>, Condition<Input5, F5>)
where InitialInput: StateFilterInputConversion<Input0>, <InitialInput as StateFilterInputConversion<Input0>>::Remainder: StateFilterInputCombination<F0::ValidOutput>, <<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<F0::ValidOutput>>::Combined: StateFilterInputConversion<Input1>, <<<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<F0::ValidOutput>>::Combined as StateFilterInputConversion<Input1>>::Remainder: StateFilterInputCombination<F1::ValidOutput>, <<<<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<F0::ValidOutput>>::Combined as StateFilterInputConversion<Input1>>::Remainder as StateFilterInputCombination<F1::ValidOutput>>::Combined: StateFilterInputConversion<Input2>, <<<<<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<F0::ValidOutput>>::Combined as StateFilterInputConversion<Input1>>::Remainder as StateFilterInputCombination<F1::ValidOutput>>::Combined as StateFilterInputConversion<Input2>>::Remainder: StateFilterInputCombination<F2::ValidOutput>, <<<<<<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<F0::ValidOutput>>::Combined as StateFilterInputConversion<Input1>>::Remainder as StateFilterInputCombination<F1::ValidOutput>>::Combined as StateFilterInputConversion<Input2>>::Remainder as StateFilterInputCombination<F2::ValidOutput>>::Combined: StateFilterInputConversion<Input3>, <<<<<<<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<F0::ValidOutput>>::Combined as StateFilterInputConversion<Input1>>::Remainder as StateFilterInputCombination<F1::ValidOutput>>::Combined as StateFilterInputConversion<Input2>>::Remainder as StateFilterInputCombination<F2::ValidOutput>>::Combined as StateFilterInputConversion<Input3>>::Remainder: StateFilterInputCombination<F3::ValidOutput>, <<<<<<<<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<F0::ValidOutput>>::Combined as StateFilterInputConversion<Input1>>::Remainder as StateFilterInputCombination<F1::ValidOutput>>::Combined as StateFilterInputConversion<Input2>>::Remainder as StateFilterInputCombination<F2::ValidOutput>>::Combined as StateFilterInputConversion<Input3>>::Remainder as StateFilterInputCombination<F3::ValidOutput>>::Combined: StateFilterInputConversion<Input4>, <<<<<<<<<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<F0::ValidOutput>>::Combined as StateFilterInputConversion<Input1>>::Remainder as StateFilterInputCombination<F1::ValidOutput>>::Combined as StateFilterInputConversion<Input2>>::Remainder as StateFilterInputCombination<F2::ValidOutput>>::Combined as StateFilterInputConversion<Input3>>::Remainder as StateFilterInputCombination<F3::ValidOutput>>::Combined as StateFilterInputConversion<Input4>>::Remainder: StateFilterInputCombination<F4::ValidOutput>, <<<<<<<<<<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<F0::ValidOutput>>::Combined as StateFilterInputConversion<Input1>>::Remainder as StateFilterInputCombination<F1::ValidOutput>>::Combined as StateFilterInputConversion<Input2>>::Remainder as StateFilterInputCombination<F2::ValidOutput>>::Combined as StateFilterInputConversion<Input3>>::Remainder as StateFilterInputCombination<F3::ValidOutput>>::Combined as StateFilterInputConversion<Input4>>::Remainder as StateFilterInputCombination<F4::ValidOutput>>::Combined: StateFilterInputConversion<Input5>, <<<<<<<<<<<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<F0::ValidOutput>>::Combined as StateFilterInputConversion<Input1>>::Remainder as StateFilterInputCombination<F1::ValidOutput>>::Combined as StateFilterInputConversion<Input2>>::Remainder as StateFilterInputCombination<F2::ValidOutput>>::Combined as StateFilterInputConversion<Input3>>::Remainder as StateFilterInputCombination<F3::ValidOutput>>::Combined as StateFilterInputConversion<Input4>>::Remainder as StateFilterInputCombination<F4::ValidOutput>>::Combined as StateFilterInputConversion<Input5>>::Remainder: StateFilterInputCombination<F5::ValidOutput>,

Source§

type ValidOutput = <<<<<<<<<<<<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<<F0 as StateFilter<State, Input0>>::ValidOutput>>::Combined as StateFilterInputConversion<Input1>>::Remainder as StateFilterInputCombination<<F1 as StateFilter<State, Input1>>::ValidOutput>>::Combined as StateFilterInputConversion<Input2>>::Remainder as StateFilterInputCombination<<F2 as StateFilter<State, Input2>>::ValidOutput>>::Combined as StateFilterInputConversion<Input3>>::Remainder as StateFilterInputCombination<<F3 as StateFilter<State, Input3>>::ValidOutput>>::Combined as StateFilterInputConversion<Input4>>::Remainder as StateFilterInputCombination<<F4 as StateFilter<State, Input4>>::ValidOutput>>::Combined as StateFilterInputConversion<Input5>>::Remainder as StateFilterInputCombination<<F5 as StateFilter<State, Input5>>::ValidOutput>>::Combined

Source§

type Error = StateFilterSixChainError<<F0 as StateFilter<State, Input0>>::Error, <F1 as StateFilter<State, Input1>>::Error, <F2 as StateFilter<State, Input2>>::Error, <F3 as StateFilter<State, Input3>>::Error, <F4 as StateFilter<State, Input4>>::Error, <F5 as StateFilter<State, Input5>>::Error>

Source§

fn filter( state: &State, value: InitialInput, ) -> Result<Self::ValidOutput, Self::Error>

Source§

impl<State, InitialInput, Input0, Input1, Input2, Input3, Input4, Input5, Input6, F0: StateFilter<State, Input0>, F1: StateFilter<State, Input1>, F2: StateFilter<State, Input2>, F3: StateFilter<State, Input3>, F4: StateFilter<State, Input4>, F5: StateFilter<State, Input5>, F6: StateFilter<State, Input6>> StateFilter<State, InitialInput> for (Condition<Input0, F0>, Condition<Input1, F1>, Condition<Input2, F2>, Condition<Input3, F3>, Condition<Input4, F4>, Condition<Input5, F5>, Condition<Input6, F6>)
where InitialInput: StateFilterInputConversion<Input0>, <InitialInput as StateFilterInputConversion<Input0>>::Remainder: StateFilterInputCombination<F0::ValidOutput>, <<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<F0::ValidOutput>>::Combined: StateFilterInputConversion<Input1>, <<<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<F0::ValidOutput>>::Combined as StateFilterInputConversion<Input1>>::Remainder: StateFilterInputCombination<F1::ValidOutput>, <<<<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<F0::ValidOutput>>::Combined as StateFilterInputConversion<Input1>>::Remainder as StateFilterInputCombination<F1::ValidOutput>>::Combined: StateFilterInputConversion<Input2>, <<<<<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<F0::ValidOutput>>::Combined as StateFilterInputConversion<Input1>>::Remainder as StateFilterInputCombination<F1::ValidOutput>>::Combined as StateFilterInputConversion<Input2>>::Remainder: StateFilterInputCombination<F2::ValidOutput>, <<<<<<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<F0::ValidOutput>>::Combined as StateFilterInputConversion<Input1>>::Remainder as StateFilterInputCombination<F1::ValidOutput>>::Combined as StateFilterInputConversion<Input2>>::Remainder as StateFilterInputCombination<F2::ValidOutput>>::Combined: StateFilterInputConversion<Input3>, <<<<<<<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<F0::ValidOutput>>::Combined as StateFilterInputConversion<Input1>>::Remainder as StateFilterInputCombination<F1::ValidOutput>>::Combined as StateFilterInputConversion<Input2>>::Remainder as StateFilterInputCombination<F2::ValidOutput>>::Combined as StateFilterInputConversion<Input3>>::Remainder: StateFilterInputCombination<F3::ValidOutput>, <<<<<<<<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<F0::ValidOutput>>::Combined as StateFilterInputConversion<Input1>>::Remainder as StateFilterInputCombination<F1::ValidOutput>>::Combined as StateFilterInputConversion<Input2>>::Remainder as StateFilterInputCombination<F2::ValidOutput>>::Combined as StateFilterInputConversion<Input3>>::Remainder as StateFilterInputCombination<F3::ValidOutput>>::Combined: StateFilterInputConversion<Input4>, <<<<<<<<<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<F0::ValidOutput>>::Combined as StateFilterInputConversion<Input1>>::Remainder as StateFilterInputCombination<F1::ValidOutput>>::Combined as StateFilterInputConversion<Input2>>::Remainder as StateFilterInputCombination<F2::ValidOutput>>::Combined as StateFilterInputConversion<Input3>>::Remainder as StateFilterInputCombination<F3::ValidOutput>>::Combined as StateFilterInputConversion<Input4>>::Remainder: StateFilterInputCombination<F4::ValidOutput>, <<<<<<<<<<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<F0::ValidOutput>>::Combined as StateFilterInputConversion<Input1>>::Remainder as StateFilterInputCombination<F1::ValidOutput>>::Combined as StateFilterInputConversion<Input2>>::Remainder as StateFilterInputCombination<F2::ValidOutput>>::Combined as StateFilterInputConversion<Input3>>::Remainder as StateFilterInputCombination<F3::ValidOutput>>::Combined as StateFilterInputConversion<Input4>>::Remainder as StateFilterInputCombination<F4::ValidOutput>>::Combined: StateFilterInputConversion<Input5>, <<<<<<<<<<<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<F0::ValidOutput>>::Combined as StateFilterInputConversion<Input1>>::Remainder as StateFilterInputCombination<F1::ValidOutput>>::Combined as StateFilterInputConversion<Input2>>::Remainder as StateFilterInputCombination<F2::ValidOutput>>::Combined as StateFilterInputConversion<Input3>>::Remainder as StateFilterInputCombination<F3::ValidOutput>>::Combined as StateFilterInputConversion<Input4>>::Remainder as StateFilterInputCombination<F4::ValidOutput>>::Combined as StateFilterInputConversion<Input5>>::Remainder: StateFilterInputCombination<F5::ValidOutput>, <<<<<<<<<<<<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<F0::ValidOutput>>::Combined as StateFilterInputConversion<Input1>>::Remainder as StateFilterInputCombination<F1::ValidOutput>>::Combined as StateFilterInputConversion<Input2>>::Remainder as StateFilterInputCombination<F2::ValidOutput>>::Combined as StateFilterInputConversion<Input3>>::Remainder as StateFilterInputCombination<F3::ValidOutput>>::Combined as StateFilterInputConversion<Input4>>::Remainder as StateFilterInputCombination<F4::ValidOutput>>::Combined as StateFilterInputConversion<Input5>>::Remainder as StateFilterInputCombination<F5::ValidOutput>>::Combined: StateFilterInputConversion<Input6>, <<<<<<<<<<<<<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<F0::ValidOutput>>::Combined as StateFilterInputConversion<Input1>>::Remainder as StateFilterInputCombination<F1::ValidOutput>>::Combined as StateFilterInputConversion<Input2>>::Remainder as StateFilterInputCombination<F2::ValidOutput>>::Combined as StateFilterInputConversion<Input3>>::Remainder as StateFilterInputCombination<F3::ValidOutput>>::Combined as StateFilterInputConversion<Input4>>::Remainder as StateFilterInputCombination<F4::ValidOutput>>::Combined as StateFilterInputConversion<Input5>>::Remainder as StateFilterInputCombination<F5::ValidOutput>>::Combined as StateFilterInputConversion<Input6>>::Remainder: StateFilterInputCombination<F6::ValidOutput>,

Source§

type ValidOutput = <<<<<<<<<<<<<<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<<F0 as StateFilter<State, Input0>>::ValidOutput>>::Combined as StateFilterInputConversion<Input1>>::Remainder as StateFilterInputCombination<<F1 as StateFilter<State, Input1>>::ValidOutput>>::Combined as StateFilterInputConversion<Input2>>::Remainder as StateFilterInputCombination<<F2 as StateFilter<State, Input2>>::ValidOutput>>::Combined as StateFilterInputConversion<Input3>>::Remainder as StateFilterInputCombination<<F3 as StateFilter<State, Input3>>::ValidOutput>>::Combined as StateFilterInputConversion<Input4>>::Remainder as StateFilterInputCombination<<F4 as StateFilter<State, Input4>>::ValidOutput>>::Combined as StateFilterInputConversion<Input5>>::Remainder as StateFilterInputCombination<<F5 as StateFilter<State, Input5>>::ValidOutput>>::Combined as StateFilterInputConversion<Input6>>::Remainder as StateFilterInputCombination<<F6 as StateFilter<State, Input6>>::ValidOutput>>::Combined

Source§

type Error = StateFilterSevenChainError<<F0 as StateFilter<State, Input0>>::Error, <F1 as StateFilter<State, Input1>>::Error, <F2 as StateFilter<State, Input2>>::Error, <F3 as StateFilter<State, Input3>>::Error, <F4 as StateFilter<State, Input4>>::Error, <F5 as StateFilter<State, Input5>>::Error, <F6 as StateFilter<State, Input6>>::Error>

Source§

fn filter( state: &State, value: InitialInput, ) -> Result<Self::ValidOutput, Self::Error>

Source§

impl<State, InitialInput, Input0, Input1, Input2, Input3, Input4, Input5, Input6, Input7, F0: StateFilter<State, Input0>, F1: StateFilter<State, Input1>, F2: StateFilter<State, Input2>, F3: StateFilter<State, Input3>, F4: StateFilter<State, Input4>, F5: StateFilter<State, Input5>, F6: StateFilter<State, Input6>, F7: StateFilter<State, Input7>> StateFilter<State, InitialInput> for (Condition<Input0, F0>, Condition<Input1, F1>, Condition<Input2, F2>, Condition<Input3, F3>, Condition<Input4, F4>, Condition<Input5, F5>, Condition<Input6, F6>, Condition<Input7, F7>)
where InitialInput: StateFilterInputConversion<Input0>, <InitialInput as StateFilterInputConversion<Input0>>::Remainder: StateFilterInputCombination<F0::ValidOutput>, <<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<F0::ValidOutput>>::Combined: StateFilterInputConversion<Input1>, <<<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<F0::ValidOutput>>::Combined as StateFilterInputConversion<Input1>>::Remainder: StateFilterInputCombination<F1::ValidOutput>, <<<<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<F0::ValidOutput>>::Combined as StateFilterInputConversion<Input1>>::Remainder as StateFilterInputCombination<F1::ValidOutput>>::Combined: StateFilterInputConversion<Input2>, <<<<<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<F0::ValidOutput>>::Combined as StateFilterInputConversion<Input1>>::Remainder as StateFilterInputCombination<F1::ValidOutput>>::Combined as StateFilterInputConversion<Input2>>::Remainder: StateFilterInputCombination<F2::ValidOutput>, <<<<<<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<F0::ValidOutput>>::Combined as StateFilterInputConversion<Input1>>::Remainder as StateFilterInputCombination<F1::ValidOutput>>::Combined as StateFilterInputConversion<Input2>>::Remainder as StateFilterInputCombination<F2::ValidOutput>>::Combined: StateFilterInputConversion<Input3>, <<<<<<<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<F0::ValidOutput>>::Combined as StateFilterInputConversion<Input1>>::Remainder as StateFilterInputCombination<F1::ValidOutput>>::Combined as StateFilterInputConversion<Input2>>::Remainder as StateFilterInputCombination<F2::ValidOutput>>::Combined as StateFilterInputConversion<Input3>>::Remainder: StateFilterInputCombination<F3::ValidOutput>, <<<<<<<<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<F0::ValidOutput>>::Combined as StateFilterInputConversion<Input1>>::Remainder as StateFilterInputCombination<F1::ValidOutput>>::Combined as StateFilterInputConversion<Input2>>::Remainder as StateFilterInputCombination<F2::ValidOutput>>::Combined as StateFilterInputConversion<Input3>>::Remainder as StateFilterInputCombination<F3::ValidOutput>>::Combined: StateFilterInputConversion<Input4>, <<<<<<<<<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<F0::ValidOutput>>::Combined as StateFilterInputConversion<Input1>>::Remainder as StateFilterInputCombination<F1::ValidOutput>>::Combined as StateFilterInputConversion<Input2>>::Remainder as StateFilterInputCombination<F2::ValidOutput>>::Combined as StateFilterInputConversion<Input3>>::Remainder as StateFilterInputCombination<F3::ValidOutput>>::Combined as StateFilterInputConversion<Input4>>::Remainder: StateFilterInputCombination<F4::ValidOutput>, <<<<<<<<<<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<F0::ValidOutput>>::Combined as StateFilterInputConversion<Input1>>::Remainder as StateFilterInputCombination<F1::ValidOutput>>::Combined as StateFilterInputConversion<Input2>>::Remainder as StateFilterInputCombination<F2::ValidOutput>>::Combined as StateFilterInputConversion<Input3>>::Remainder as StateFilterInputCombination<F3::ValidOutput>>::Combined as StateFilterInputConversion<Input4>>::Remainder as StateFilterInputCombination<F4::ValidOutput>>::Combined: StateFilterInputConversion<Input5>, <<<<<<<<<<<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<F0::ValidOutput>>::Combined as StateFilterInputConversion<Input1>>::Remainder as StateFilterInputCombination<F1::ValidOutput>>::Combined as StateFilterInputConversion<Input2>>::Remainder as StateFilterInputCombination<F2::ValidOutput>>::Combined as StateFilterInputConversion<Input3>>::Remainder as StateFilterInputCombination<F3::ValidOutput>>::Combined as StateFilterInputConversion<Input4>>::Remainder as StateFilterInputCombination<F4::ValidOutput>>::Combined as StateFilterInputConversion<Input5>>::Remainder: StateFilterInputCombination<F5::ValidOutput>, <<<<<<<<<<<<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<F0::ValidOutput>>::Combined as StateFilterInputConversion<Input1>>::Remainder as StateFilterInputCombination<F1::ValidOutput>>::Combined as StateFilterInputConversion<Input2>>::Remainder as StateFilterInputCombination<F2::ValidOutput>>::Combined as StateFilterInputConversion<Input3>>::Remainder as StateFilterInputCombination<F3::ValidOutput>>::Combined as StateFilterInputConversion<Input4>>::Remainder as StateFilterInputCombination<F4::ValidOutput>>::Combined as StateFilterInputConversion<Input5>>::Remainder as StateFilterInputCombination<F5::ValidOutput>>::Combined: StateFilterInputConversion<Input6>, <<<<<<<<<<<<<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<F0::ValidOutput>>::Combined as StateFilterInputConversion<Input1>>::Remainder as StateFilterInputCombination<F1::ValidOutput>>::Combined as StateFilterInputConversion<Input2>>::Remainder as StateFilterInputCombination<F2::ValidOutput>>::Combined as StateFilterInputConversion<Input3>>::Remainder as StateFilterInputCombination<F3::ValidOutput>>::Combined as StateFilterInputConversion<Input4>>::Remainder as StateFilterInputCombination<F4::ValidOutput>>::Combined as StateFilterInputConversion<Input5>>::Remainder as StateFilterInputCombination<F5::ValidOutput>>::Combined as StateFilterInputConversion<Input6>>::Remainder: StateFilterInputCombination<F6::ValidOutput>, <<<<<<<<<<<<<<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<F0::ValidOutput>>::Combined as StateFilterInputConversion<Input1>>::Remainder as StateFilterInputCombination<F1::ValidOutput>>::Combined as StateFilterInputConversion<Input2>>::Remainder as StateFilterInputCombination<F2::ValidOutput>>::Combined as StateFilterInputConversion<Input3>>::Remainder as StateFilterInputCombination<F3::ValidOutput>>::Combined as StateFilterInputConversion<Input4>>::Remainder as StateFilterInputCombination<F4::ValidOutput>>::Combined as StateFilterInputConversion<Input5>>::Remainder as StateFilterInputCombination<F5::ValidOutput>>::Combined as StateFilterInputConversion<Input6>>::Remainder as StateFilterInputCombination<F6::ValidOutput>>::Combined: StateFilterInputConversion<Input7>, <<<<<<<<<<<<<<<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<F0::ValidOutput>>::Combined as StateFilterInputConversion<Input1>>::Remainder as StateFilterInputCombination<F1::ValidOutput>>::Combined as StateFilterInputConversion<Input2>>::Remainder as StateFilterInputCombination<F2::ValidOutput>>::Combined as StateFilterInputConversion<Input3>>::Remainder as StateFilterInputCombination<F3::ValidOutput>>::Combined as StateFilterInputConversion<Input4>>::Remainder as StateFilterInputCombination<F4::ValidOutput>>::Combined as StateFilterInputConversion<Input5>>::Remainder as StateFilterInputCombination<F5::ValidOutput>>::Combined as StateFilterInputConversion<Input6>>::Remainder as StateFilterInputCombination<F6::ValidOutput>>::Combined as StateFilterInputConversion<Input7>>::Remainder: StateFilterInputCombination<F7::ValidOutput>,

Source§

type ValidOutput = <<<<<<<<<<<<<<<<InitialInput as StateFilterInputConversion<Input0>>::Remainder as StateFilterInputCombination<<F0 as StateFilter<State, Input0>>::ValidOutput>>::Combined as StateFilterInputConversion<Input1>>::Remainder as StateFilterInputCombination<<F1 as StateFilter<State, Input1>>::ValidOutput>>::Combined as StateFilterInputConversion<Input2>>::Remainder as StateFilterInputCombination<<F2 as StateFilter<State, Input2>>::ValidOutput>>::Combined as StateFilterInputConversion<Input3>>::Remainder as StateFilterInputCombination<<F3 as StateFilter<State, Input3>>::ValidOutput>>::Combined as StateFilterInputConversion<Input4>>::Remainder as StateFilterInputCombination<<F4 as StateFilter<State, Input4>>::ValidOutput>>::Combined as StateFilterInputConversion<Input5>>::Remainder as StateFilterInputCombination<<F5 as StateFilter<State, Input5>>::ValidOutput>>::Combined as StateFilterInputConversion<Input6>>::Remainder as StateFilterInputCombination<<F6 as StateFilter<State, Input6>>::ValidOutput>>::Combined as StateFilterInputConversion<Input7>>::Remainder as StateFilterInputCombination<<F7 as StateFilter<State, Input7>>::ValidOutput>>::Combined

Source§

type Error = StateFilterEightChainError<<F0 as StateFilter<State, Input0>>::Error, <F1 as StateFilter<State, Input1>>::Error, <F2 as StateFilter<State, Input2>>::Error, <F3 as StateFilter<State, Input3>>::Error, <F4 as StateFilter<State, Input4>>::Error, <F5 as StateFilter<State, Input5>>::Error, <F6 as StateFilter<State, Input6>>::Error, <F7 as StateFilter<State, Input7>>::Error>

Source§

fn filter( state: &State, value: InitialInput, ) -> Result<Self::ValidOutput, Self::Error>

Source§

impl<State, Input> StateFilter<State, Input> for ()

Source§

type ValidOutput = Input

Source§

type Error = Infallible

Source§

fn filter( _state: &State, input: Input, ) -> Result<Self::ValidOutput, Self::Error>

Implementors§

Source§

impl<State, InitialInput, Input, F: StateFilter<State, Input>> StateFilter<State, InitialInput> for Condition<Input, F>

Source§

type ValidOutput = <<InitialInput as StateFilterInputConversion<Input>>::Remainder as StateFilterInputCombination<<F as StateFilter<State, Input>>::ValidOutput>>::Combined

Source§

type Error = <F as StateFilter<State, Input>>::Error