Trait hazardflow_designs::std::combinators::join::JoinValidExt
source · pub trait JoinValidExt: Interface {
type E: Interface;
// Required method
fn join_valid(self) -> Self::E;
}
Expand description
Extension trait for join_valid
Required Associated Types§
Required Methods§
sourcefn join_valid(self) -> Self::E
fn join_valid(self) -> Self::E
Join valid.
Object Safety§
Implementations on Foreign Types§
source§impl<P1: Copy, P2: Copy> JoinValidExt for (Valid<P1>, Valid<P2>)
impl<P1: Copy, P2: Copy> JoinValidExt for (Valid<P1>, Valid<P2>)
source§fn join_valid(self) -> Valid<(P1, P2)>
fn join_valid(self) -> Valid<(P1, P2)>
A variation of join
for valid interfaces, that has the correct resolver type.
- Payloads: Zipped to one interface. Note that a payload may get dropped if the other interface’s payload is
None
. - Resolver: The resolver carries no information.
Interface | Ingress | Egress |
---|---|---|
Fwd | (HOption<P1>, HOption<P2>) | HOption<(P1, P2)> |
Bwd | ((), ()) | () |
type E = I<ValidH<(P1, P2), ()>, { Dep::Helpful }>
source§impl<P1: Copy, P2: Copy, P3: Copy> JoinValidExt for (Valid<P1>, Valid<P2>, Valid<P3>)
impl<P1: Copy, P2: Copy, P3: Copy> JoinValidExt for (Valid<P1>, Valid<P2>, Valid<P3>)
source§fn join_valid(self) -> Valid<(P1, P2, P3)>
fn join_valid(self) -> Valid<(P1, P2, P3)>
A variation of join_valid
for 3-12 valid interfaces. See the 2-tuple version for more
information.
type E = I<ValidH<(P1, P2, P3), ()>, { Dep::Helpful }>
source§impl<P1: Copy, P2: Copy, P3: Copy, P4: Copy> JoinValidExt for (Valid<P1>, Valid<P2>, Valid<P3>, Valid<P4>)
impl<P1: Copy, P2: Copy, P3: Copy, P4: Copy> JoinValidExt for (Valid<P1>, Valid<P2>, Valid<P3>, Valid<P4>)
source§fn join_valid(self) -> Valid<(P1, P2, P3, P4)>
fn join_valid(self) -> Valid<(P1, P2, P3, P4)>
A variation of join_valid
for 3-12 valid interfaces. See the 2-tuple version for more
information.
type E = I<ValidH<(P1, P2, P3, P4), ()>, { Dep::Helpful }>
source§impl<P1: Copy, P2: Copy, P3: Copy, P4: Copy, P5: Copy> JoinValidExt for (Valid<P1>, Valid<P2>, Valid<P3>, Valid<P4>, Valid<P5>)
impl<P1: Copy, P2: Copy, P3: Copy, P4: Copy, P5: Copy> JoinValidExt for (Valid<P1>, Valid<P2>, Valid<P3>, Valid<P4>, Valid<P5>)
source§fn join_valid(self) -> Valid<(P1, P2, P3, P4, P5)>
fn join_valid(self) -> Valid<(P1, P2, P3, P4, P5)>
A variation of join_valid
for 3-12 valid interfaces. See the 2-tuple version for more
information.
type E = I<ValidH<(P1, P2, P3, P4, P5), ()>, { Dep::Helpful }>
source§impl<P1: Copy, P2: Copy, P3: Copy, P4: Copy, P5: Copy, P6: Copy> JoinValidExt for (Valid<P1>, Valid<P2>, Valid<P3>, Valid<P4>, Valid<P5>, Valid<P6>)
impl<P1: Copy, P2: Copy, P3: Copy, P4: Copy, P5: Copy, P6: Copy> JoinValidExt for (Valid<P1>, Valid<P2>, Valid<P3>, Valid<P4>, Valid<P5>, Valid<P6>)
source§fn join_valid(self) -> Valid<(P1, P2, P3, P4, P5, P6)>
fn join_valid(self) -> Valid<(P1, P2, P3, P4, P5, P6)>
A variation of join_valid
for 3-12 valid interfaces. See the 2-tuple version for more
information.
type E = I<ValidH<(P1, P2, P3, P4, P5, P6), ()>, { Dep::Helpful }>
source§impl<P1: Copy, P2: Copy, P3: Copy, P4: Copy, P5: Copy, P6: Copy, P7: Copy> JoinValidExt for (Valid<P1>, Valid<P2>, Valid<P3>, Valid<P4>, Valid<P5>, Valid<P6>, Valid<P7>)
impl<P1: Copy, P2: Copy, P3: Copy, P4: Copy, P5: Copy, P6: Copy, P7: Copy> JoinValidExt for (Valid<P1>, Valid<P2>, Valid<P3>, Valid<P4>, Valid<P5>, Valid<P6>, Valid<P7>)
source§fn join_valid(self) -> Valid<(P1, P2, P3, P4, P5, P6, P7)>
fn join_valid(self) -> Valid<(P1, P2, P3, P4, P5, P6, P7)>
A variation of join_valid
for 3-12 valid interfaces. See the 2-tuple version for more
information.
type E = I<ValidH<(P1, P2, P3, P4, P5, P6, P7), ()>, { Dep::Helpful }>
source§impl<P1: Copy, P2: Copy, P3: Copy, P4: Copy, P5: Copy, P6: Copy, P7: Copy, P8: Copy> JoinValidExt for (Valid<P1>, Valid<P2>, Valid<P3>, Valid<P4>, Valid<P5>, Valid<P6>, Valid<P7>, Valid<P8>)
impl<P1: Copy, P2: Copy, P3: Copy, P4: Copy, P5: Copy, P6: Copy, P7: Copy, P8: Copy> JoinValidExt for (Valid<P1>, Valid<P2>, Valid<P3>, Valid<P4>, Valid<P5>, Valid<P6>, Valid<P7>, Valid<P8>)
source§fn join_valid(self) -> Valid<(P1, P2, P3, P4, P5, P6, P7, P8)>
fn join_valid(self) -> Valid<(P1, P2, P3, P4, P5, P6, P7, P8)>
A variation of join_valid
for 3-12 valid interfaces. See the 2-tuple version for more
information.
type E = I<ValidH<(P1, P2, P3, P4, P5, P6, P7, P8), ()>, { Dep::Helpful }>
source§impl<P1: Copy, P2: Copy, P3: Copy, P4: Copy, P5: Copy, P6: Copy, P7: Copy, P8: Copy, P9: Copy> JoinValidExt for (Valid<P1>, Valid<P2>, Valid<P3>, Valid<P4>, Valid<P5>, Valid<P6>, Valid<P7>, Valid<P8>, Valid<P9>)
impl<P1: Copy, P2: Copy, P3: Copy, P4: Copy, P5: Copy, P6: Copy, P7: Copy, P8: Copy, P9: Copy> JoinValidExt for (Valid<P1>, Valid<P2>, Valid<P3>, Valid<P4>, Valid<P5>, Valid<P6>, Valid<P7>, Valid<P8>, Valid<P9>)
source§fn join_valid(self) -> Valid<(P1, P2, P3, P4, P5, P6, P7, P8, P9)>
fn join_valid(self) -> Valid<(P1, P2, P3, P4, P5, P6, P7, P8, P9)>
A variation of join_valid
for 3-12 valid interfaces. See the 2-tuple version for more
information.
type E = I<ValidH<(P1, P2, P3, P4, P5, P6, P7, P8, P9), ()>, { Dep::Helpful }>
source§impl<P1: Copy, P2: Copy, P3: Copy, P4: Copy, P5: Copy, P6: Copy, P7: Copy, P8: Copy, P9: Copy, P10: Copy> JoinValidExt for (Valid<P1>, Valid<P2>, Valid<P3>, Valid<P4>, Valid<P5>, Valid<P6>, Valid<P7>, Valid<P8>, Valid<P9>, Valid<P10>)
impl<P1: Copy, P2: Copy, P3: Copy, P4: Copy, P5: Copy, P6: Copy, P7: Copy, P8: Copy, P9: Copy, P10: Copy> JoinValidExt for (Valid<P1>, Valid<P2>, Valid<P3>, Valid<P4>, Valid<P5>, Valid<P6>, Valid<P7>, Valid<P8>, Valid<P9>, Valid<P10>)
source§fn join_valid(self) -> Valid<(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10)>
fn join_valid(self) -> Valid<(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10)>
A variation of join_valid
for 3-12 valid interfaces. See the 2-tuple version for more
information.
type E = I<ValidH<(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10), ()>, { Dep::Helpful }>
source§impl<P1: Copy, P2: Copy, P3: Copy, P4: Copy, P5: Copy, P6: Copy, P7: Copy, P8: Copy, P9: Copy, P10: Copy, P11: Copy> JoinValidExt for (Valid<P1>, Valid<P2>, Valid<P3>, Valid<P4>, Valid<P5>, Valid<P6>, Valid<P7>, Valid<P8>, Valid<P9>, Valid<P10>, Valid<P11>)
impl<P1: Copy, P2: Copy, P3: Copy, P4: Copy, P5: Copy, P6: Copy, P7: Copy, P8: Copy, P9: Copy, P10: Copy, P11: Copy> JoinValidExt for (Valid<P1>, Valid<P2>, Valid<P3>, Valid<P4>, Valid<P5>, Valid<P6>, Valid<P7>, Valid<P8>, Valid<P9>, Valid<P10>, Valid<P11>)
source§fn join_valid(self) -> Valid<(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11)>
fn join_valid(self) -> Valid<(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11)>
A variation of join_valid
for 3-12 valid interfaces. See the 2-tuple version for more
information.
type E = I<ValidH<(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11), ()>, { Dep::Helpful }>
source§impl<P1: Copy, P2: Copy, P3: Copy, P4: Copy, P5: Copy, P6: Copy, P7: Copy, P8: Copy, P9: Copy, P10: Copy, P11: Copy, P12: Copy> JoinValidExt for (Valid<P1>, Valid<P2>, Valid<P3>, Valid<P4>, Valid<P5>, Valid<P6>, Valid<P7>, Valid<P8>, Valid<P9>, Valid<P10>, Valid<P11>, Valid<P12>)
impl<P1: Copy, P2: Copy, P3: Copy, P4: Copy, P5: Copy, P6: Copy, P7: Copy, P8: Copy, P9: Copy, P10: Copy, P11: Copy, P12: Copy> JoinValidExt for (Valid<P1>, Valid<P2>, Valid<P3>, Valid<P4>, Valid<P5>, Valid<P6>, Valid<P7>, Valid<P8>, Valid<P9>, Valid<P10>, Valid<P11>, Valid<P12>)
source§fn join_valid(
self
) -> Valid<(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12)>
fn join_valid( self ) -> Valid<(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12)>
A variation of join_valid
for 3-12 valid interfaces. See the 2-tuple version for more
information.
type E = I<ValidH<(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12), ()>, { Dep::Helpful }>
source§impl<P: Copy, const N: usize> JoinValidExt for [Valid<P>; N]
impl<P: Copy, const N: usize> JoinValidExt for [Valid<P>; N]
source§fn join_valid(self) -> Valid<Array<P, N>>
fn join_valid(self) -> Valid<Array<P, N>>
A variation of join
for valid interfaces, that has the correct resolver type.
- Payloads: Zipped to one interface. Note that a payload may get dropped if the other interface’s payload is
None
. - Resolver: The resolver carries no information.
Interface | Ingress | Egress |
---|---|---|
Fwd | Array<HOption<P>, N> | HOption<Array<P, N>> |
Bwd | Array<(), N> | () |