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]
impl<'a, T> Intersection<'a, T>
pub fn new(slices: Vec<&'a Set<T>>) -> Self
[src]
pub fn new(slices: Vec<&'a Set<T>>) -> Self
Construct one with slices checked to be sorted and deduplicated.
Trait Implementations
impl<'a, T: Clone + 'a> Clone for Intersection<'a, T>
[src]
impl<'a, T: Clone + 'a> Clone for Intersection<'a, T>
fn clone(&self) -> Intersection<'a, T>
[src]
fn clone(&self) -> Intersection<'a, T>
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
1.0.0
[src]Performs copy-assignment from source
. Read more
impl<'a, T: Ord + Clone> SetOperation<&'a T, T> for Intersection<'a, T>
[src]
impl<'a, T: Ord + Clone> SetOperation<&'a T, T> for Intersection<'a, T>
fn extend_vec(self, output: &mut Vec<T>)
[src]
fn extend_vec(self, output: &mut Vec<T>)
fn into_set_buf(self) -> SetBuf<U>
[src]
fn into_set_buf(self) -> SetBuf<U>
Create a SetBuf
using the SetOperation::extend_vec
method.
impl<'a, T: Ord> SetOperation<&'a T, &'a T> for Intersection<'a, T>
[src]
impl<'a, T: Ord> SetOperation<&'a T, &'a T> for Intersection<'a, T>
fn extend_vec(self, output: &mut Vec<&'a T>)
[src]
fn extend_vec(self, output: &mut Vec<&'a T>)
fn into_set_buf(self) -> SetBuf<U>
[src]
fn into_set_buf(self) -> SetBuf<U>
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> Send for Intersection<'a, T> where
T: Sync,
impl<'a, T> Sync for Intersection<'a, T> where
T: Sync,
impl<'a, T> Sync for Intersection<'a, T> where
T: Sync,