Trait hazardflow_designs::std::combinators::join::JoinVrExt
source · pub trait JoinVrExt: Interface {
type E: Interface;
// Required method
fn join_vr(self) -> Self::E;
}
Expand description
Extension trait for join_vr
.
Required Associated Types§
Required Methods§
Object Safety§
This trait is not object safe.
Implementations on Foreign Types§
source§impl<P1: Copy, P2: Copy> JoinVrExt for (Vr<P1>, Vr<P2>)
impl<P1: Copy, P2: Copy> JoinVrExt for (Vr<P1>, Vr<P2>)
source§fn join_vr(self) -> Vr<(P1, P2)>
fn join_vr(self) -> Vr<(P1, P2)>
A variation of join
for valid-ready interfaces, that has the correct resolver type.
- Payloads: Zipped to one interface.
- Resolver: If all the ingress payloads are valid and the egress ready signal is true, then all the ingress ready signals are true. Otherwise, all the ingress ready signals are false.
Interface | Ingress | Egress |
---|---|---|
Fwd | (HOption<P1>, HOption<P2>) | HOption<(P1, P2)> |
Bwd | (Ready<()>, Ready<()>) | Ready<()> |
type E = I<AndH<ValidH<(P1, P2), ()>>, { Dep::Helpful }>
source§impl<P1: Copy, P2: Copy, P3: Copy, P4: Copy, P5: Copy> JoinVrExt for (Vr<P1>, Vr<P2>, Vr<P3>, Vr<P4>, Vr<P5>)
impl<P1: Copy, P2: Copy, P3: Copy, P4: Copy, P5: Copy> JoinVrExt for (Vr<P1>, Vr<P2>, Vr<P3>, Vr<P4>, Vr<P5>)
source§impl<P1: Copy, P2: Copy, P3: Copy, P4: Copy, P5: Copy, P6: Copy> JoinVrExt for (Vr<P1>, Vr<P2>, Vr<P3>, Vr<P4>, Vr<P5>, Vr<P6>)
impl<P1: Copy, P2: Copy, P3: Copy, P4: Copy, P5: Copy, P6: Copy> JoinVrExt for (Vr<P1>, Vr<P2>, Vr<P3>, Vr<P4>, Vr<P5>, Vr<P6>)
source§impl<P1: Copy, P2: Copy, P3: Copy, P4: Copy, P5: Copy, P6: Copy, P7: Copy> JoinVrExt for (Vr<P1>, Vr<P2>, Vr<P3>, Vr<P4>, Vr<P5>, Vr<P6>, Vr<P7>)
impl<P1: Copy, P2: Copy, P3: Copy, P4: Copy, P5: Copy, P6: Copy, P7: Copy> JoinVrExt for (Vr<P1>, Vr<P2>, Vr<P3>, Vr<P4>, Vr<P5>, Vr<P6>, Vr<P7>)
source§impl<P1: Copy, P2: Copy, P3: Copy, P4: Copy, P5: Copy, P6: Copy, P7: Copy, P8: Copy> JoinVrExt for (Vr<P1>, Vr<P2>, Vr<P3>, Vr<P4>, Vr<P5>, Vr<P6>, Vr<P7>, Vr<P8>)
impl<P1: Copy, P2: Copy, P3: Copy, P4: Copy, P5: Copy, P6: Copy, P7: Copy, P8: Copy> JoinVrExt for (Vr<P1>, Vr<P2>, Vr<P3>, Vr<P4>, Vr<P5>, Vr<P6>, Vr<P7>, Vr<P8>)
source§impl<P1: Copy, P2: Copy, P3: Copy, P4: Copy, P5: Copy, P6: Copy, P7: Copy, P8: Copy, P9: Copy> JoinVrExt for (Vr<P1>, Vr<P2>, Vr<P3>, Vr<P4>, Vr<P5>, Vr<P6>, Vr<P7>, Vr<P8>, Vr<P9>)
impl<P1: Copy, P2: Copy, P3: Copy, P4: Copy, P5: Copy, P6: Copy, P7: Copy, P8: Copy, P9: Copy> JoinVrExt for (Vr<P1>, Vr<P2>, Vr<P3>, Vr<P4>, Vr<P5>, Vr<P6>, Vr<P7>, Vr<P8>, Vr<P9>)
source§impl<P1: Copy, P2: Copy, P3: Copy, P4: Copy, P5: Copy, P6: Copy, P7: Copy, P8: Copy, P9: Copy, P10: Copy> JoinVrExt for (Vr<P1>, Vr<P2>, Vr<P3>, Vr<P4>, Vr<P5>, Vr<P6>, Vr<P7>, Vr<P8>, Vr<P9>, Vr<P10>)
impl<P1: Copy, P2: Copy, P3: Copy, P4: Copy, P5: Copy, P6: Copy, P7: Copy, P8: Copy, P9: Copy, P10: Copy> JoinVrExt for (Vr<P1>, Vr<P2>, Vr<P3>, Vr<P4>, Vr<P5>, Vr<P6>, Vr<P7>, Vr<P8>, Vr<P9>, Vr<P10>)
source§impl<P1: Copy, P2: Copy, P3: Copy, P4: Copy, P5: Copy, P6: Copy, P7: Copy, P8: Copy, P9: Copy, P10: Copy, P11: Copy> JoinVrExt for (Vr<P1>, Vr<P2>, Vr<P3>, Vr<P4>, Vr<P5>, Vr<P6>, Vr<P7>, Vr<P8>, Vr<P9>, Vr<P10>, Vr<P11>)
impl<P1: Copy, P2: Copy, P3: Copy, P4: Copy, P5: Copy, P6: Copy, P7: Copy, P8: Copy, P9: Copy, P10: Copy, P11: Copy> JoinVrExt for (Vr<P1>, Vr<P2>, Vr<P3>, Vr<P4>, Vr<P5>, Vr<P6>, Vr<P7>, Vr<P8>, Vr<P9>, Vr<P10>, Vr<P11>)
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> JoinVrExt for (Vr<P1>, Vr<P2>, Vr<P3>, Vr<P4>, Vr<P5>, Vr<P6>, Vr<P7>, Vr<P8>, Vr<P9>, Vr<P10>, Vr<P11>, Vr<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> JoinVrExt for (Vr<P1>, Vr<P2>, Vr<P3>, Vr<P4>, Vr<P5>, Vr<P6>, Vr<P7>, Vr<P8>, Vr<P9>, Vr<P10>, Vr<P11>, Vr<P12>)
source§impl<P: Copy, const N: usize> JoinVrExt for [Vr<P>; N]
impl<P: Copy, const N: usize> JoinVrExt for [Vr<P>; N]
source§fn join_vr(self) -> Vr<Array<P, N>>
fn join_vr(self) -> Vr<Array<P, N>>
A variation of join
for valid-ready interfaces, that has the correct resolver type.
- Payloads: Zipped to one interface.
- Resolver: If all the ingress payloads are valid and the egress ready signal is true, then all the ingress ready signals are true. Otherwise, all the ingress ready signals are false.
Interface | Ingress | Egress |
---|---|---|
Fwd | Array<HOption<P>, N> | HOption<Array<P, N>> |
Bwd | Array<Ready<()>, N> | Ready<()> |