Skip to main content

ListSourcesCombineEx

Trait ListSourcesCombineEx 

Source
pub trait ListSourcesCombineEx {
    type Item: Clone + PartialEq + 'static;

    // Required methods
    fn and_list(&self) -> Rc<dyn IObservable<ChangeSet<Self::Item>>>
       where Self::Item: Eq + Hash;
    fn or(&self) -> Rc<dyn IObservable<ChangeSet<Self::Item>>>
       where Self::Item: Eq + Hash;
    fn xor(&self) -> Rc<dyn IObservable<ChangeSet<Self::Item>>>
       where Self::Item: Eq + Hash;
    fn except(&self) -> Rc<dyn IObservable<ChangeSet<Self::Item>>>
       where Self::Item: Eq + Hash;
}
Expand description

And, Or, Xor and Except of a collection of sources (And(this ICollection<IObservable<IChangeSet<T>>>), ..): the sources are subscribed in order when the result is subscribed.

Required Associated Types§

Source

type Item: Clone + PartialEq + 'static

The type of the items.

Required Methods§

Source

fn and_list(&self) -> Rc<dyn IObservable<ChangeSet<Self::Item>>>
where Self::Item: Eq + Hash,

The items that are in every source (And(ICollection<..>)).

Source

fn or(&self) -> Rc<dyn IObservable<ChangeSet<Self::Item>>>
where Self::Item: Eq + Hash,

The items that are in any source (Or(ICollection<..>)).

Source

fn xor(&self) -> Rc<dyn IObservable<ChangeSet<Self::Item>>>
where Self::Item: Eq + Hash,

The items that are in exactly one source (Xor(ICollection<..>)).

Source

fn except(&self) -> Rc<dyn IObservable<ChangeSet<Self::Item>>>
where Self::Item: Eq + Hash,

The items of the first source that are in none of the others (Except(ICollection<..>)).

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<S: ListChangeSetSource> ListSourcesCombineEx for [S]

Source§

type Item = <S as ListChangeSetSource>::Item

Source§

fn and_list(&self) -> Rc<dyn IObservable<ChangeSet<S::Item>>>
where Self::Item: Eq + Hash,

Source§

fn or(&self) -> Rc<dyn IObservable<ChangeSet<S::Item>>>
where Self::Item: Eq + Hash,

Source§

fn xor(&self) -> Rc<dyn IObservable<ChangeSet<S::Item>>>
where Self::Item: Eq + Hash,

Source§

fn except(&self) -> Rc<dyn IObservable<ChangeSet<S::Item>>>
where Self::Item: Eq + Hash,

Implementors§