Struct sdset::multi::Difference [−][src]
pub struct Difference<'a, T: 'a> { /* fields omitted */ }
Represent the difference set operation that will be applied to the slices.
Note that the difference is all the elements that are in the first slice but not in all the others.
Examples
use sdset::multi::OpBuilder; use sdset::{SetOperation, Set, SetBuf}; let a = Set::new(&[1, 2, 4])?; let b = Set::new(&[2, 3, 5, 7])?; let c = Set::new(&[4, 6, 7])?; let op = OpBuilder::from_vec(vec![a, b, c]).difference(); let res: SetBuf<i32> = op.into_set_buf(); assert_eq!(&res[..], &[1]);
Methods
impl<'a, T> Difference<'a, T>
[src]
impl<'a, T> Difference<'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 Difference<'a, T>
[src]
impl<'a, T: Clone + 'a> Clone for Difference<'a, T>
fn clone(&self) -> Difference<'a, T>
[src]
fn clone(&self) -> Difference<'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 Difference<'a, T>
[src]
impl<'a, T: Ord + Clone> SetOperation<&'a T, T> for Difference<'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 Difference<'a, T>
[src]
impl<'a, T: Ord> SetOperation<&'a T, &'a T> for Difference<'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 Difference<'a, T> where
T: Sync,
impl<'a, T> Send for Difference<'a, T> where
T: Sync,
impl<'a, T> Sync for Difference<'a, T> where
T: Sync,
impl<'a, T> Sync for Difference<'a, T> where
T: Sync,