Trait segment_tree::ops::CommutativeOperation
[−]
[src]
pub trait CommutativeOperation<N>: Operation<N> { }
A marker trait that specifies that an Operation is commutative, that is: combine(a, b) = combine(b, a).
Implementors
impl<T: Add<Output = T> + Copy> CommutativeOperation<T> for Addimpl CommutativeOperation<u8> for Mulimpl CommutativeOperation<u16> for Mulimpl CommutativeOperation<u32> for Mulimpl CommutativeOperation<u64> for Mulimpl CommutativeOperation<i8> for Mulimpl CommutativeOperation<i16> for Mulimpl CommutativeOperation<i32> for Mulimpl CommutativeOperation<i64> for Mulimpl CommutativeOperation<usize> for Mulimpl CommutativeOperation<isize> for Mulimpl CommutativeOperation<f32> for Mulimpl CommutativeOperation<f64> for Mulimpl<T: Copy> CommutativeOperation<Wrapping<T>> for Mul where
Mul: CommutativeOperation<T>,
Wrapping<T>: Mul<Output = Wrapping<T>>,impl CommutativeOperation<u8> for Xorimpl CommutativeOperation<u16> for Xorimpl CommutativeOperation<u32> for Xorimpl CommutativeOperation<u64> for Xorimpl CommutativeOperation<i8> for Xorimpl CommutativeOperation<i16> for Xorimpl CommutativeOperation<i32> for Xorimpl CommutativeOperation<i64> for Xorimpl CommutativeOperation<usize> for Xorimpl CommutativeOperation<isize> for Xorimpl<T: Copy> CommutativeOperation<Wrapping<T>> for Xor where
Xor: CommutativeOperation<T>,
Wrapping<T>: BitXor<Output = Wrapping<T>>,impl CommutativeOperation<u8> for Andimpl CommutativeOperation<u16> for Andimpl CommutativeOperation<u32> for Andimpl CommutativeOperation<u64> for Andimpl CommutativeOperation<i8> for Andimpl CommutativeOperation<i16> for Andimpl CommutativeOperation<i32> for Andimpl CommutativeOperation<i64> for Andimpl CommutativeOperation<usize> for Andimpl CommutativeOperation<isize> for Andimpl<T: Copy> CommutativeOperation<Wrapping<T>> for And where
And: CommutativeOperation<T>,
Wrapping<T>: BitAnd<Output = Wrapping<T>>,impl CommutativeOperation<u8> for Orimpl CommutativeOperation<u16> for Orimpl CommutativeOperation<u32> for Orimpl CommutativeOperation<u64> for Orimpl CommutativeOperation<i8> for Orimpl CommutativeOperation<i16> for Orimpl CommutativeOperation<i32> for Orimpl CommutativeOperation<i64> for Orimpl CommutativeOperation<usize> for Orimpl CommutativeOperation<isize> for Orimpl<T: Copy> CommutativeOperation<Wrapping<T>> for Or where
Or: CommutativeOperation<T>,
Wrapping<T>: BitOr<Output = Wrapping<T>>,impl<T: Ord + Copy> CommutativeOperation<T> for Maximpl<T: Ord + Copy> CommutativeOperation<T> for Minimpl<TA, TB, A: CommutativeOperation<TA>, B: CommutativeOperation<TB>> CommutativeOperation<(TA, TB)> for Pair<A, B>impl<TA: Clone, A: CommutativeOperation<TA>> CommutativeOperation<Option<TA>> for WithIdentity<A>