pub trait Intersection<Rhs, N, B> where
    Rhs: ContainerRead<B, Slot = N>,
    N: Number,
    B: BitAccess
{ fn intersection_in<Dst>(&self, rhs: &Rhs, dst: &mut Dst)
    where
        Dst: ContainerWrite<B, Slot = N>
; fn try_intersection_in<Dst>(
        &self,
        rhs: &Rhs,
        dst: &mut Dst
    ) -> Result<(), IntersectionError>
    where
        Dst: ContainerWrite<B, Slot = N>
; fn intersection<Dst>(&self, rhs: &Rhs) -> Dst
    where
        Dst: ContainerWrite<B, Slot = N> + TryWithSlots
; fn try_intersection<Dst>(&self, rhs: &Rhs) -> Result<Dst, IntersectionError>
    where
        Dst: ContainerWrite<B, Slot = N> + TryWithSlots
; fn intersection_len(&self, rhs: &Rhs) -> usize; }
Expand description

Intersection operator (a & b).

Required Methods

Calculates intersection in-place. Result will be stored in dst.

Panic

Panics if dst cannot fit the entire result. See non-panic function try_intersection_in.

Calculates intersection in-place. Result will be stored in dst.

Returns Err(_) if dst cannot fit the entire result.

Calculates intersection. Result container will be created with try_with_slots function.

Panic

Panics if Dst cannot fit the entire result. See non-panic function try_intersection.

Calculates intersection. Result container will be created with try_with_slots function.

Returns Err(_) if Dst cannot fit the entire result.

Calculates intersection length - ones count. It doesn’t allocate for storing intersection result.

Useful if you need to create some storage that relies on the number of required bits presented in the bitmap.

Implementors