Struct sdset::multi::Intersection[][src]

pub struct Intersection<'a, T: 'a> { /* fields omitted */ }

Represent the intersection set operation that will be applied to the slices.

Note that the intersection is all the elements that are in all the slices at the same time.

Examples

use sdset::multi::OpBuilder;
use sdset::{SetOperation, Set, SetBuf};

let a = Set::new(&[1, 2, 4])?;
let b = Set::new(&[2, 3, 4, 5, 7])?;
let c = Set::new(&[2, 4, 6, 7])?;

let op = OpBuilder::from_vec(vec![a, b, c]).intersection();

let res: SetBuf<i32> = op.into_set_buf();
assert_eq!(&res[..], &[2, 4]);

Methods

impl<'a, T> Intersection<'a, T>
[src]

Construct one with slices checked to be sorted and deduplicated.

Trait Implementations

impl<'a, T: Clone + 'a> Clone for Intersection<'a, T>
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl<'a, T: Ord + Clone> SetOperation<&'a T, T> for Intersection<'a, T>
[src]

Extend a Vec with the values of the Sets using this set operation.

Create a SetBuf using the SetOperation::extend_vec method.

impl<'a, T: Ord> SetOperation<&'a T, &'a T> for Intersection<'a, T>
[src]

Extend a Vec with the values of the Sets using this set operation.

Create a SetBuf using the SetOperation::extend_vec method.

Auto Trait Implementations

impl<'a, T> Send for Intersection<'a, T> where
    T: Sync

impl<'a, T> Sync for Intersection<'a, T> where
    T: Sync