pub struct Xor;
Expand description
Each node contains the bitwise xor of the interval it represents.
Trait Implementations§
Source§impl Invertible<bool> for Xor
impl Invertible<bool> for Xor
Source§impl Invertible<i128> for Xor
impl Invertible<i128> for Xor
Source§impl Invertible<i16> for Xor
impl Invertible<i16> for Xor
Source§impl Invertible<i32> for Xor
impl Invertible<i32> for Xor
Source§impl Invertible<i64> for Xor
impl Invertible<i64> for Xor
Source§impl Invertible<i8> for Xor
impl Invertible<i8> for Xor
Source§impl Invertible<isize> for Xor
impl Invertible<isize> for Xor
Source§impl Invertible<u128> for Xor
impl Invertible<u128> for Xor
Source§impl Invertible<u16> for Xor
impl Invertible<u16> for Xor
Source§impl Invertible<u32> for Xor
impl Invertible<u32> for Xor
Source§impl Invertible<u64> for Xor
impl Invertible<u64> for Xor
Source§impl Invertible<u8> for Xor
impl Invertible<u8> for Xor
Source§impl Invertible<usize> for Xor
impl Invertible<usize> for Xor
Source§impl Operation<bool> for Xor
impl Operation<bool> for Xor
Source§fn combine_mut(&self, a: &mut N, b: &N)
fn combine_mut(&self, a: &mut N, b: &N)
Replace the value in
a
with combine(a, b)
. This function exists to allow
certain optimizations and by default simply calls combine
.Source§fn combine_mut2(&self, a: &N, b: &mut N)
fn combine_mut2(&self, a: &N, b: &mut N)
Replace the value in
b
with combine(a, b)
. This function exists to allow
certain optimizations and by default simply calls combine
.Source§fn combine_left(&self, a: N, b: &N) -> N
fn combine_left(&self, a: N, b: &N) -> N
Must return the same as
combine
. This function exists to allow certain
optimizations and by default simply calls combine_mut
.Source§fn combine_right(&self, a: &N, b: N) -> N
fn combine_right(&self, a: &N, b: N) -> N
Must return the same as
combine
. This function exists to allow certain
optimizations and by default simply calls combine_mut2
.Source§fn combine_both(&self, a: N, b: N) -> N
fn combine_both(&self, a: N, b: N) -> N
Must return the same as
combine
. This function exists to allow certain
optimizations and by default simply calls combine_left
.Source§impl Operation<i128> for Xor
impl Operation<i128> for Xor
Source§fn combine_mut(&self, a: &mut N, b: &N)
fn combine_mut(&self, a: &mut N, b: &N)
Replace the value in
a
with combine(a, b)
. This function exists to allow
certain optimizations and by default simply calls combine
.Source§fn combine_mut2(&self, a: &N, b: &mut N)
fn combine_mut2(&self, a: &N, b: &mut N)
Replace the value in
b
with combine(a, b)
. This function exists to allow
certain optimizations and by default simply calls combine
.Source§fn combine_left(&self, a: N, b: &N) -> N
fn combine_left(&self, a: N, b: &N) -> N
Must return the same as
combine
. This function exists to allow certain
optimizations and by default simply calls combine_mut
.Source§fn combine_right(&self, a: &N, b: N) -> N
fn combine_right(&self, a: &N, b: N) -> N
Must return the same as
combine
. This function exists to allow certain
optimizations and by default simply calls combine_mut2
.Source§fn combine_both(&self, a: N, b: N) -> N
fn combine_both(&self, a: N, b: N) -> N
Must return the same as
combine
. This function exists to allow certain
optimizations and by default simply calls combine_left
.Source§impl Operation<i16> for Xor
impl Operation<i16> for Xor
Source§fn combine_mut(&self, a: &mut N, b: &N)
fn combine_mut(&self, a: &mut N, b: &N)
Replace the value in
a
with combine(a, b)
. This function exists to allow
certain optimizations and by default simply calls combine
.Source§fn combine_mut2(&self, a: &N, b: &mut N)
fn combine_mut2(&self, a: &N, b: &mut N)
Replace the value in
b
with combine(a, b)
. This function exists to allow
certain optimizations and by default simply calls combine
.Source§fn combine_left(&self, a: N, b: &N) -> N
fn combine_left(&self, a: N, b: &N) -> N
Must return the same as
combine
. This function exists to allow certain
optimizations and by default simply calls combine_mut
.Source§fn combine_right(&self, a: &N, b: N) -> N
fn combine_right(&self, a: &N, b: N) -> N
Must return the same as
combine
. This function exists to allow certain
optimizations and by default simply calls combine_mut2
.Source§fn combine_both(&self, a: N, b: N) -> N
fn combine_both(&self, a: N, b: N) -> N
Must return the same as
combine
. This function exists to allow certain
optimizations and by default simply calls combine_left
.Source§impl Operation<i32> for Xor
impl Operation<i32> for Xor
Source§fn combine_mut(&self, a: &mut N, b: &N)
fn combine_mut(&self, a: &mut N, b: &N)
Replace the value in
a
with combine(a, b)
. This function exists to allow
certain optimizations and by default simply calls combine
.Source§fn combine_mut2(&self, a: &N, b: &mut N)
fn combine_mut2(&self, a: &N, b: &mut N)
Replace the value in
b
with combine(a, b)
. This function exists to allow
certain optimizations and by default simply calls combine
.Source§fn combine_left(&self, a: N, b: &N) -> N
fn combine_left(&self, a: N, b: &N) -> N
Must return the same as
combine
. This function exists to allow certain
optimizations and by default simply calls combine_mut
.Source§fn combine_right(&self, a: &N, b: N) -> N
fn combine_right(&self, a: &N, b: N) -> N
Must return the same as
combine
. This function exists to allow certain
optimizations and by default simply calls combine_mut2
.Source§fn combine_both(&self, a: N, b: N) -> N
fn combine_both(&self, a: N, b: N) -> N
Must return the same as
combine
. This function exists to allow certain
optimizations and by default simply calls combine_left
.Source§impl Operation<i64> for Xor
impl Operation<i64> for Xor
Source§fn combine_mut(&self, a: &mut N, b: &N)
fn combine_mut(&self, a: &mut N, b: &N)
Replace the value in
a
with combine(a, b)
. This function exists to allow
certain optimizations and by default simply calls combine
.Source§fn combine_mut2(&self, a: &N, b: &mut N)
fn combine_mut2(&self, a: &N, b: &mut N)
Replace the value in
b
with combine(a, b)
. This function exists to allow
certain optimizations and by default simply calls combine
.Source§fn combine_left(&self, a: N, b: &N) -> N
fn combine_left(&self, a: N, b: &N) -> N
Must return the same as
combine
. This function exists to allow certain
optimizations and by default simply calls combine_mut
.Source§fn combine_right(&self, a: &N, b: N) -> N
fn combine_right(&self, a: &N, b: N) -> N
Must return the same as
combine
. This function exists to allow certain
optimizations and by default simply calls combine_mut2
.Source§fn combine_both(&self, a: N, b: N) -> N
fn combine_both(&self, a: N, b: N) -> N
Must return the same as
combine
. This function exists to allow certain
optimizations and by default simply calls combine_left
.Source§impl Operation<i8> for Xor
impl Operation<i8> for Xor
Source§fn combine_mut(&self, a: &mut N, b: &N)
fn combine_mut(&self, a: &mut N, b: &N)
Replace the value in
a
with combine(a, b)
. This function exists to allow
certain optimizations and by default simply calls combine
.Source§fn combine_mut2(&self, a: &N, b: &mut N)
fn combine_mut2(&self, a: &N, b: &mut N)
Replace the value in
b
with combine(a, b)
. This function exists to allow
certain optimizations and by default simply calls combine
.Source§fn combine_left(&self, a: N, b: &N) -> N
fn combine_left(&self, a: N, b: &N) -> N
Must return the same as
combine
. This function exists to allow certain
optimizations and by default simply calls combine_mut
.Source§fn combine_right(&self, a: &N, b: N) -> N
fn combine_right(&self, a: &N, b: N) -> N
Must return the same as
combine
. This function exists to allow certain
optimizations and by default simply calls combine_mut2
.Source§fn combine_both(&self, a: N, b: N) -> N
fn combine_both(&self, a: N, b: N) -> N
Must return the same as
combine
. This function exists to allow certain
optimizations and by default simply calls combine_left
.Source§impl Operation<isize> for Xor
impl Operation<isize> for Xor
Source§fn combine_mut(&self, a: &mut N, b: &N)
fn combine_mut(&self, a: &mut N, b: &N)
Replace the value in
a
with combine(a, b)
. This function exists to allow
certain optimizations and by default simply calls combine
.Source§fn combine_mut2(&self, a: &N, b: &mut N)
fn combine_mut2(&self, a: &N, b: &mut N)
Replace the value in
b
with combine(a, b)
. This function exists to allow
certain optimizations and by default simply calls combine
.Source§fn combine_left(&self, a: N, b: &N) -> N
fn combine_left(&self, a: N, b: &N) -> N
Must return the same as
combine
. This function exists to allow certain
optimizations and by default simply calls combine_mut
.Source§fn combine_right(&self, a: &N, b: N) -> N
fn combine_right(&self, a: &N, b: N) -> N
Must return the same as
combine
. This function exists to allow certain
optimizations and by default simply calls combine_mut2
.Source§fn combine_both(&self, a: N, b: N) -> N
fn combine_both(&self, a: N, b: N) -> N
Must return the same as
combine
. This function exists to allow certain
optimizations and by default simply calls combine_left
.Source§impl Operation<u128> for Xor
impl Operation<u128> for Xor
Source§fn combine_mut(&self, a: &mut N, b: &N)
fn combine_mut(&self, a: &mut N, b: &N)
Replace the value in
a
with combine(a, b)
. This function exists to allow
certain optimizations and by default simply calls combine
.Source§fn combine_mut2(&self, a: &N, b: &mut N)
fn combine_mut2(&self, a: &N, b: &mut N)
Replace the value in
b
with combine(a, b)
. This function exists to allow
certain optimizations and by default simply calls combine
.Source§fn combine_left(&self, a: N, b: &N) -> N
fn combine_left(&self, a: N, b: &N) -> N
Must return the same as
combine
. This function exists to allow certain
optimizations and by default simply calls combine_mut
.Source§fn combine_right(&self, a: &N, b: N) -> N
fn combine_right(&self, a: &N, b: N) -> N
Must return the same as
combine
. This function exists to allow certain
optimizations and by default simply calls combine_mut2
.Source§fn combine_both(&self, a: N, b: N) -> N
fn combine_both(&self, a: N, b: N) -> N
Must return the same as
combine
. This function exists to allow certain
optimizations and by default simply calls combine_left
.Source§impl Operation<u16> for Xor
impl Operation<u16> for Xor
Source§fn combine_mut(&self, a: &mut N, b: &N)
fn combine_mut(&self, a: &mut N, b: &N)
Replace the value in
a
with combine(a, b)
. This function exists to allow
certain optimizations and by default simply calls combine
.Source§fn combine_mut2(&self, a: &N, b: &mut N)
fn combine_mut2(&self, a: &N, b: &mut N)
Replace the value in
b
with combine(a, b)
. This function exists to allow
certain optimizations and by default simply calls combine
.Source§fn combine_left(&self, a: N, b: &N) -> N
fn combine_left(&self, a: N, b: &N) -> N
Must return the same as
combine
. This function exists to allow certain
optimizations and by default simply calls combine_mut
.Source§fn combine_right(&self, a: &N, b: N) -> N
fn combine_right(&self, a: &N, b: N) -> N
Must return the same as
combine
. This function exists to allow certain
optimizations and by default simply calls combine_mut2
.Source§fn combine_both(&self, a: N, b: N) -> N
fn combine_both(&self, a: N, b: N) -> N
Must return the same as
combine
. This function exists to allow certain
optimizations and by default simply calls combine_left
.Source§impl Operation<u32> for Xor
impl Operation<u32> for Xor
Source§fn combine_mut(&self, a: &mut N, b: &N)
fn combine_mut(&self, a: &mut N, b: &N)
Replace the value in
a
with combine(a, b)
. This function exists to allow
certain optimizations and by default simply calls combine
.Source§fn combine_mut2(&self, a: &N, b: &mut N)
fn combine_mut2(&self, a: &N, b: &mut N)
Replace the value in
b
with combine(a, b)
. This function exists to allow
certain optimizations and by default simply calls combine
.Source§fn combine_left(&self, a: N, b: &N) -> N
fn combine_left(&self, a: N, b: &N) -> N
Must return the same as
combine
. This function exists to allow certain
optimizations and by default simply calls combine_mut
.Source§fn combine_right(&self, a: &N, b: N) -> N
fn combine_right(&self, a: &N, b: N) -> N
Must return the same as
combine
. This function exists to allow certain
optimizations and by default simply calls combine_mut2
.Source§fn combine_both(&self, a: N, b: N) -> N
fn combine_both(&self, a: N, b: N) -> N
Must return the same as
combine
. This function exists to allow certain
optimizations and by default simply calls combine_left
.Source§impl Operation<u64> for Xor
impl Operation<u64> for Xor
Source§fn combine_mut(&self, a: &mut N, b: &N)
fn combine_mut(&self, a: &mut N, b: &N)
Replace the value in
a
with combine(a, b)
. This function exists to allow
certain optimizations and by default simply calls combine
.Source§fn combine_mut2(&self, a: &N, b: &mut N)
fn combine_mut2(&self, a: &N, b: &mut N)
Replace the value in
b
with combine(a, b)
. This function exists to allow
certain optimizations and by default simply calls combine
.Source§fn combine_left(&self, a: N, b: &N) -> N
fn combine_left(&self, a: N, b: &N) -> N
Must return the same as
combine
. This function exists to allow certain
optimizations and by default simply calls combine_mut
.Source§fn combine_right(&self, a: &N, b: N) -> N
fn combine_right(&self, a: &N, b: N) -> N
Must return the same as
combine
. This function exists to allow certain
optimizations and by default simply calls combine_mut2
.Source§fn combine_both(&self, a: N, b: N) -> N
fn combine_both(&self, a: N, b: N) -> N
Must return the same as
combine
. This function exists to allow certain
optimizations and by default simply calls combine_left
.Source§impl Operation<u8> for Xor
impl Operation<u8> for Xor
Source§fn combine_mut(&self, a: &mut N, b: &N)
fn combine_mut(&self, a: &mut N, b: &N)
Replace the value in
a
with combine(a, b)
. This function exists to allow
certain optimizations and by default simply calls combine
.Source§fn combine_mut2(&self, a: &N, b: &mut N)
fn combine_mut2(&self, a: &N, b: &mut N)
Replace the value in
b
with combine(a, b)
. This function exists to allow
certain optimizations and by default simply calls combine
.Source§fn combine_left(&self, a: N, b: &N) -> N
fn combine_left(&self, a: N, b: &N) -> N
Must return the same as
combine
. This function exists to allow certain
optimizations and by default simply calls combine_mut
.Source§fn combine_right(&self, a: &N, b: N) -> N
fn combine_right(&self, a: &N, b: N) -> N
Must return the same as
combine
. This function exists to allow certain
optimizations and by default simply calls combine_mut2
.Source§fn combine_both(&self, a: N, b: N) -> N
fn combine_both(&self, a: N, b: N) -> N
Must return the same as
combine
. This function exists to allow certain
optimizations and by default simply calls combine_left
.Source§impl Operation<usize> for Xor
impl Operation<usize> for Xor
Source§fn combine_mut(&self, a: &mut N, b: &N)
fn combine_mut(&self, a: &mut N, b: &N)
Replace the value in
a
with combine(a, b)
. This function exists to allow
certain optimizations and by default simply calls combine
.Source§fn combine_mut2(&self, a: &N, b: &mut N)
fn combine_mut2(&self, a: &N, b: &mut N)
Replace the value in
b
with combine(a, b)
. This function exists to allow
certain optimizations and by default simply calls combine
.Source§fn combine_left(&self, a: N, b: &N) -> N
fn combine_left(&self, a: N, b: &N) -> N
Must return the same as
combine
. This function exists to allow certain
optimizations and by default simply calls combine_mut
.Source§fn combine_right(&self, a: &N, b: N) -> N
fn combine_right(&self, a: &N, b: N) -> N
Must return the same as
combine
. This function exists to allow certain
optimizations and by default simply calls combine_mut2
.Source§fn combine_both(&self, a: N, b: N) -> N
fn combine_both(&self, a: N, b: N) -> N
Must return the same as
combine
. This function exists to allow certain
optimizations and by default simply calls combine_left
.Source§impl Ord for Xor
impl Ord for Xor
Source§impl PartialOrd for Xor
impl PartialOrd for Xor
impl Commutative<i128> for Xor
impl Commutative<i16> for Xor
impl Commutative<i32> for Xor
impl Commutative<i64> for Xor
impl Commutative<i8> for Xor
impl Commutative<isize> for Xor
impl Commutative<u128> for Xor
impl Commutative<u16> for Xor
impl Commutative<u32> for Xor
impl Commutative<u64> for Xor
impl Commutative<u8> for Xor
impl Commutative<usize> for Xor
impl Copy for Xor
impl Eq for Xor
impl StructuralPartialEq for Xor
Auto Trait Implementations§
impl Freeze for Xor
impl RefUnwindSafe for Xor
impl Send for Xor
impl Sync for Xor
impl Unpin for Xor
impl UnwindSafe for Xor
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more