[][src]Struct sdset::multi::OpBuilderByKey

pub struct OpBuilderByKey<'a, T: 'a, U: 'a, F, G, K> where
    F: Fn(&T) -> K,
    G: Fn(&U) -> K,
    K: Ord
{ /* fields omitted */ }

Type used to make a set operation on two slices of different types.

The two functions are used to generate a key that will be used to make the set operation and correlate the two slices values.

Methods

impl<'a, T, U, F, G, K> OpBuilderByKey<'a, T, U, F, G, K> where
    F: Fn(&T) -> K,
    G: Fn(&U) -> K,
    K: Ord
[src]

pub fn new(base: &'a Set<T>, f: F, g: G) -> Self[src]

Construct a type with two slices.

pub fn from_vec(base: &'a Set<T>, others: Vec<&'a Set<U>>, f: F, g: G) -> Self[src]

Construct it with the content of the given slice.

Note that no other allocation than the one of the vec given in parameter is needed for the construction.

pub fn push(&mut self, set: &'a Set<U>)[src]

Push a new set that will be used for the future set operation.

pub fn add(self, set: &'a Set<U>) -> Self[src]

Add a new set that will be used for the future set operation and consume and return the type.

pub fn difference(self) -> DifferenceByKey<'a, T, U, F, G, K>[src]

Prepare the two slices for the difference set operation.

Trait Implementations

impl<'a, T: Clone + 'a, U: Clone + 'a, F: Clone, G: Clone, K: Clone> Clone for OpBuilderByKey<'a, T, U, F, G, K> where
    F: Fn(&T) -> K,
    G: Fn(&U) -> K,
    K: Ord
[src]

Auto Trait Implementations

impl<'a, T, U, F, G, K> Send for OpBuilderByKey<'a, T, U, F, G, K> where
    F: Send,
    G: Send,
    T: Sync,
    U: Sync

impl<'a, T, U, F, G, K> Sync for OpBuilderByKey<'a, T, U, F, G, K> where
    F: Sync,
    G: Sync,
    T: Sync,
    U: Sync

impl<'a, T, U, F, G, K> Unpin for OpBuilderByKey<'a, T, U, F, G, K> where
    F: Unpin,
    G: Unpin

impl<'a, T, U, F, G, K> UnwindSafe for OpBuilderByKey<'a, T, U, F, G, K> where
    F: UnwindSafe,
    G: UnwindSafe,
    T: RefUnwindSafe,
    U: RefUnwindSafe

impl<'a, T, U, F, G, K> RefUnwindSafe for OpBuilderByKey<'a, T, U, F, G, K> where
    F: RefUnwindSafe,
    G: RefUnwindSafe,
    T: RefUnwindSafe,
    U: RefUnwindSafe

Blanket Implementations

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = !

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]