[][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]

fn clone_from(&mut self, source: &Self)
1.0.0
[src]

Performs copy-assignment from source. Read more

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

Blanket Implementations

impl<T> From for T[src]

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

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

type Owned = T

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

type Error = !

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

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

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

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

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

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

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.