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 CommutativeOperation<u8> for Add
impl CommutativeOperation<u8> for Mul
impl CommutativeOperation<u8> for Xor
impl CommutativeOperation<u8> for And
impl CommutativeOperation<u8> for Or
impl CommutativeOperation<Wrapping<u8>> for Add
impl CommutativeOperation<Wrapping<u8>> for Mul
impl CommutativeOperation<Wrapping<u8>> for Xor
impl CommutativeOperation<Wrapping<u8>> for And
impl CommutativeOperation<Wrapping<u8>> for Or
impl CommutativeOperation<u16> for Add
impl CommutativeOperation<u16> for Mul
impl CommutativeOperation<u16> for Xor
impl CommutativeOperation<u16> for And
impl CommutativeOperation<u16> for Or
impl CommutativeOperation<Wrapping<u16>> for Add
impl CommutativeOperation<Wrapping<u16>> for Mul
impl CommutativeOperation<Wrapping<u16>> for Xor
impl CommutativeOperation<Wrapping<u16>> for And
impl CommutativeOperation<Wrapping<u16>> for Or
impl CommutativeOperation<u32> for Add
impl CommutativeOperation<u32> for Mul
impl CommutativeOperation<u32> for Xor
impl CommutativeOperation<u32> for And
impl CommutativeOperation<u32> for Or
impl CommutativeOperation<Wrapping<u32>> for Add
impl CommutativeOperation<Wrapping<u32>> for Mul
impl CommutativeOperation<Wrapping<u32>> for Xor
impl CommutativeOperation<Wrapping<u32>> for And
impl CommutativeOperation<Wrapping<u32>> for Or
impl CommutativeOperation<u64> for Add
impl CommutativeOperation<u64> for Mul
impl CommutativeOperation<u64> for Xor
impl CommutativeOperation<u64> for And
impl CommutativeOperation<u64> for Or
impl CommutativeOperation<Wrapping<u64>> for Add
impl CommutativeOperation<Wrapping<u64>> for Mul
impl CommutativeOperation<Wrapping<u64>> for Xor
impl CommutativeOperation<Wrapping<u64>> for And
impl CommutativeOperation<Wrapping<u64>> for Or
impl CommutativeOperation<i8> for Add
impl CommutativeOperation<i8> for Mul
impl CommutativeOperation<i8> for Xor
impl CommutativeOperation<i8> for And
impl CommutativeOperation<i8> for Or
impl CommutativeOperation<Wrapping<i8>> for Add
impl CommutativeOperation<Wrapping<i8>> for Mul
impl CommutativeOperation<Wrapping<i8>> for Xor
impl CommutativeOperation<Wrapping<i8>> for And
impl CommutativeOperation<Wrapping<i8>> for Or
impl CommutativeOperation<i16> for Add
impl CommutativeOperation<i16> for Mul
impl CommutativeOperation<i16> for Xor
impl CommutativeOperation<i16> for And
impl CommutativeOperation<i16> for Or
impl CommutativeOperation<Wrapping<i16>> for Add
impl CommutativeOperation<Wrapping<i16>> for Mul
impl CommutativeOperation<Wrapping<i16>> for Xor
impl CommutativeOperation<Wrapping<i16>> for And
impl CommutativeOperation<Wrapping<i16>> for Or
impl CommutativeOperation<i32> for Add
impl CommutativeOperation<i32> for Mul
impl CommutativeOperation<i32> for Xor
impl CommutativeOperation<i32> for And
impl CommutativeOperation<i32> for Or
impl CommutativeOperation<Wrapping<i32>> for Add
impl CommutativeOperation<Wrapping<i32>> for Mul
impl CommutativeOperation<Wrapping<i32>> for Xor
impl CommutativeOperation<Wrapping<i32>> for And
impl CommutativeOperation<Wrapping<i32>> for Or
impl CommutativeOperation<i64> for Add
impl CommutativeOperation<i64> for Mul
impl CommutativeOperation<i64> for Xor
impl CommutativeOperation<i64> for And
impl CommutativeOperation<i64> for Or
impl CommutativeOperation<Wrapping<i64>> for Add
impl CommutativeOperation<Wrapping<i64>> for Mul
impl CommutativeOperation<Wrapping<i64>> for Xor
impl CommutativeOperation<Wrapping<i64>> for And
impl CommutativeOperation<Wrapping<i64>> for Or
impl CommutativeOperation<usize> for Add
impl CommutativeOperation<usize> for Mul
impl CommutativeOperation<usize> for Xor
impl CommutativeOperation<usize> for And
impl CommutativeOperation<usize> for Or
impl CommutativeOperation<Wrapping<usize>> for Add
impl CommutativeOperation<Wrapping<usize>> for Mul
impl CommutativeOperation<Wrapping<usize>> for Xor
impl CommutativeOperation<Wrapping<usize>> for And
impl CommutativeOperation<Wrapping<usize>> for Or
impl CommutativeOperation<isize> for Add
impl CommutativeOperation<isize> for Mul
impl CommutativeOperation<isize> for Xor
impl CommutativeOperation<isize> for And
impl CommutativeOperation<isize> for Or
impl CommutativeOperation<Wrapping<isize>> for Add
impl CommutativeOperation<Wrapping<isize>> for Mul
impl CommutativeOperation<Wrapping<isize>> for Xor
impl CommutativeOperation<Wrapping<isize>> for And
impl CommutativeOperation<Wrapping<isize>> for Or
impl CommutativeOperation<f32> for Add
impl CommutativeOperation<f32> for Mul
impl CommutativeOperation<f64> for Add
impl CommutativeOperation<f64> for Mul
impl CommutativeOperation<u8> for Max
impl CommutativeOperation<u8> for Min
impl CommutativeOperation<u16> for Max
impl CommutativeOperation<u16> for Min
impl CommutativeOperation<u32> for Max
impl CommutativeOperation<u32> for Min
impl CommutativeOperation<u64> for Max
impl CommutativeOperation<u64> for Min
impl CommutativeOperation<i8> for Max
impl CommutativeOperation<i8> for Min
impl CommutativeOperation<i16> for Max
impl CommutativeOperation<i16> for Min
impl CommutativeOperation<i32> for Max
impl CommutativeOperation<i32> for Min
impl CommutativeOperation<i64> for Max
impl CommutativeOperation<i64> for Min
impl CommutativeOperation<usize> for Max
impl CommutativeOperation<usize> for Min
impl CommutativeOperation<isize> for Max
impl CommutativeOperation<isize> for Min
impl<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>