pub struct And;
Expand description
Each node contains the bitwise and of the interval it represents.
Trait Implementations§
Source§impl Operation<bool> for And
impl Operation<bool> for And
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 And
impl Operation<i128> for And
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 And
impl Operation<i16> for And
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 And
impl Operation<i32> for And
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 And
impl Operation<i64> for And
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 And
impl Operation<i8> for And
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 And
impl Operation<isize> for And
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 And
impl Operation<u128> for And
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 And
impl Operation<u16> for And
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 And
impl Operation<u32> for And
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 And
impl Operation<u64> for And
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 And
impl Operation<u8> for And
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 And
impl Operation<usize> for And
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 And
impl Ord for And
Source§impl PartialOrd for And
impl PartialOrd for And
impl Commutative<i128> for And
impl Commutative<i16> for And
impl Commutative<i32> for And
impl Commutative<i64> for And
impl Commutative<i8> for And
impl Commutative<isize> for And
impl Commutative<u128> for And
impl Commutative<u16> for And
impl Commutative<u32> for And
impl Commutative<u64> for And
impl Commutative<u8> for And
impl Commutative<usize> for And
impl Copy for And
impl Eq for And
impl StructuralPartialEq for And
Auto Trait Implementations§
impl Freeze for And
impl RefUnwindSafe for And
impl Send for And
impl Sync for And
impl Unpin for And
impl UnwindSafe for And
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