FanInChoreography

Trait FanInChoreography 

Source
pub trait FanInChoreography<V> {
    type L: LocationSet;
    type QS: LocationSet;
    type RS: LocationSet;

    // Required method
    fn run<Q, QSSubsetL, RSSubsetL, QMemberL, QMemberQS>(
        &self,
        op: &impl ChoreoOp<Self::L>,
    ) -> MultiplyLocated<V, Self::RS>
       where Self::QS: Subset<Self::L, QSSubsetL>,
             Self::RS: Subset<Self::L, RSSubsetL>,
             Q: Member<Self::L, QMemberL> + Member<Self::QS, QMemberQS> + ChoreographyLocation;
}
Expand description

Special choreography for fanin

Required Associated Types§

Source

type L: LocationSet

All locations involved in the choreography

Source

type QS: LocationSet

Locations looping over

Source

type RS: LocationSet

Recipient locations

Required Methods§

Source

fn run<Q, QSSubsetL, RSSubsetL, QMemberL, QMemberQS>( &self, op: &impl ChoreoOp<Self::L>, ) -> MultiplyLocated<V, Self::RS>
where Self::QS: Subset<Self::L, QSSubsetL>, Self::RS: Subset<Self::L, RSSubsetL>, Q: Member<Self::L, QMemberL> + Member<Self::QS, QMemberQS> + ChoreographyLocation,

The body of the choreography defined in terms of the operators provided by ChoreoOp

Q is the location that the loop variable and is guaranteed to be a member of L and QS.

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.

Implementors§