Associative

Trait Associative 

Source
pub trait Associative: Magma { }
Expand description

$\forall a,\forall b,\forall c \in T, (a \circ b) \circ c = a \circ (b \circ c)$

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 Associative for ()

Source§

impl<A: Associative> Associative for (A,)

Source§

impl<A: Associative, B: Associative> Associative for (A, B)

Source§

impl<A: Associative, B: Associative, C: Associative> Associative for (A, B, C)

Source§

impl<A: Associative, B: Associative, C: Associative, D: Associative> Associative for (A, B, C, D)

Source§

impl<A: Associative, B: Associative, C: Associative, D: Associative, E: Associative> Associative for (A, B, C, D, E)

Source§

impl<A: Associative, B: Associative, C: Associative, D: Associative, E: Associative, F: Associative> Associative for (A, B, C, D, E, F)

Source§

impl<A: Associative, B: Associative, C: Associative, D: Associative, E: Associative, F: Associative, G: Associative> Associative for (A, B, C, D, E, F, G)

Source§

impl<A: Associative, B: Associative, C: Associative, D: Associative, E: Associative, F: Associative, G: Associative, H: Associative> Associative for (A, B, C, D, E, F, G, H)

Source§

impl<A: Associative, B: Associative, C: Associative, D: Associative, E: Associative, F: Associative, G: Associative, H: Associative, I: Associative> Associative for (A, B, C, D, E, F, G, H, I)

Source§

impl<A: Associative, B: Associative, C: Associative, D: Associative, E: Associative, F: Associative, G: Associative, H: Associative, I: Associative, J: Associative> Associative for (A, B, C, D, E, F, G, H, I, J)

Implementors§

Source§

impl Associative for Gf2_63

Source§

impl Associative for Mersenne61

Source§

impl Associative for PermutationOperation

Source§

impl Associative for Mersenne61Add

Source§

impl Associative for SumMinimum

Source§

impl<D: LcaMonoidDispatch> Associative for LcaMonoid<D>

Source§

impl<M> Associative for CountingOperation<M>

Source§

impl<M> Associative for ReverseOperation<M>
where M: Associative,

Source§

impl<M, const N: usize> Associative for ArrayOperation<M, N>
where M: Associative,

Source§

impl<R> Associative for FloorPowerSum<R>
where R: SemiRing,

Source§

impl<R, const X: usize, const Y: usize> Associative for FloorSum<R, X, Y>
where R: SemiRing,

Source§

impl<T> Associative for AdditiveOperation<T>
where T: Clone + Zero + Add<Output = T>,

Source§

impl<T> Associative for BitAndOperation<T>
where T: Clone + BitAndIdentity,

Source§

impl<T> Associative for BitOrOperation<T>
where T: Clone + BitOrIdentity,

Source§

impl<T> Associative for BitXorOperation<T>
where T: Clone + BitXorIdentity,

Source§

impl<T> Associative for ConcatenateOperation<T>
where T: Clone,

Source§

impl<T> Associative for FindMajorityOperation<T>
where T: Clone + Eq,

Source§

impl<T> Associative for FirstOperation<T>
where T: Clone,

Source§

impl<T> Associative for LastOperation<T>
where T: Clone,

Source§

impl<T> Associative for LinearOperation<T>
where T: Clone + Zero + One + Add<Output = T> + Mul<Output = T>,

Source§

impl<T> Associative for LogicalLinearOperation<T>
where T: Clone + BitXorIdentity + BitAndIdentity + BitXor<Output = T> + BitAnd<Output = T>,

Source§

impl<T> Associative for MaxOperation<T>
where T: Clone + Ord + Bounded,

Source§

impl<T> Associative for MinOperation<T>
where T: Clone + Ord + Bounded,

Source§

impl<T> Associative for MinimumIntervalMovementOperation<T>
where T: Clone + Ord + Add<Output = T> + Sub<Output = T> + Zero,

Source§

impl<T> Associative for MultiplicativeOperation<T>
where T: Clone + One + Mul<Output = T>,

Source§

impl<T> Associative for RangeChminChmaxAdd<T>
where T: Copy + Zero + One + Ord + Bounded + Add<Output = T> + Sub<Output = T> + Mul<Output = T> + PartialEq,

Source§

impl<T> Associative for RangeSumRangeChminChmaxAdd<T>
where T: Copy + Zero + One + Ord + Bounded + Add<Output = T> + Sub<Output = T> + Mul<Output = T> + PartialEq,

Source§

impl<T> Associative for SortedConcatenateOperation<T>
where T: Clone + Ord,

Source§

impl<const K: usize, T> Associative for BottomkOperation<K, T>
where T: Clone + Ord + Bounded,

Source§

impl<const K: usize, T> Associative for TopkOperation<K, T>
where T: Clone + Ord + Bounded,