Trait SetOperation

Source
pub trait SetOperation<T>: Sized {
    // Required method
    fn extend_collection<C>(self, output: &mut C)
       where C: Collection<T>;

    // Provided method
    fn into_set_buf(self) -> SetBuf<T>
       where T: Clone { ... }
}
Expand description

Represent a type that can produce a set operation on multiple Sets.

Required Methods§

Source

fn extend_collection<C>(self, output: &mut C)
where C: Collection<T>,

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

Provided Methods§

Source

fn into_set_buf(self) -> SetBuf<T>
where T: Clone,

Create a SetBuf using the SetOperation::extend_collection method.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<'a, T, U, F, G, K> SetOperation<&'a T> for sdset::duo::DifferenceByKey<'a, T, U, F, G, K>
where F: Fn(&T) -> K, G: Fn(&U) -> K, K: Ord,

Source§

impl<'a, T, U, F, G, K> SetOperation<&'a T> for sdset::multi::DifferenceByKey<'a, T, U, F, G, K>
where F: Fn(&T) -> K, G: Fn(&U) -> K, K: Ord,

Source§

impl<'a, T, U, F, G, K> SetOperation<T> for sdset::duo::DifferenceByKey<'a, T, U, F, G, K>
where T: Clone, F: Fn(&T) -> K, G: Fn(&U) -> K, K: Ord,

Source§

impl<'a, T, U, F, G, K> SetOperation<T> for sdset::multi::DifferenceByKey<'a, T, U, F, G, K>
where T: Clone, F: Fn(&T) -> K, G: Fn(&U) -> K, K: Ord,

Source§

impl<'a, T: Ord + Clone> SetOperation<T> for sdset::duo::Difference<'a, T>

Source§

impl<'a, T: Ord + Clone> SetOperation<T> for sdset::duo::Intersection<'a, T>

Source§

impl<'a, T: Ord + Clone> SetOperation<T> for sdset::duo::SymmetricDifference<'a, T>

Source§

impl<'a, T: Ord + Clone> SetOperation<T> for sdset::duo::Union<'a, T>

Source§

impl<'a, T: Ord + Clone> SetOperation<T> for sdset::multi::Difference<'a, T>

Source§

impl<'a, T: Ord + Clone> SetOperation<T> for sdset::multi::Intersection<'a, T>

Source§

impl<'a, T: Ord + Clone> SetOperation<T> for sdset::multi::SymmetricDifference<'a, T>

Source§

impl<'a, T: Ord + Clone> SetOperation<T> for sdset::multi::Union<'a, T>

Source§

impl<'a, T: Ord> SetOperation<&'a T> for sdset::duo::Difference<'a, T>

Source§

impl<'a, T: Ord> SetOperation<&'a T> for sdset::duo::Intersection<'a, T>

Source§

impl<'a, T: Ord> SetOperation<&'a T> for sdset::duo::SymmetricDifference<'a, T>

Source§

impl<'a, T: Ord> SetOperation<&'a T> for sdset::duo::Union<'a, T>

Source§

impl<'a, T: Ord> SetOperation<&'a T> for sdset::multi::Difference<'a, T>

Source§

impl<'a, T: Ord> SetOperation<&'a T> for sdset::multi::Intersection<'a, T>

Source§

impl<'a, T: Ord> SetOperation<&'a T> for sdset::multi::SymmetricDifference<'a, T>

Source§

impl<'a, T: Ord> SetOperation<&'a T> for sdset::multi::Union<'a, T>