Skip to main content

ObservableCacheChangeSetsEx

Trait ObservableCacheChangeSetsEx 

Source
pub trait ObservableCacheChangeSetsEx<T, K> {
    // Required methods
    fn merge_change_sets(&self) -> Rc<dyn IObservable<ChangeSet<T, K>>>
       where T: PartialEq;
    fn merge_change_sets_with_comparer(
        &self,
        equality_comparer: impl Fn(&T, &T) -> bool + 'static,
    ) -> Rc<dyn IObservable<ChangeSet<T, K>>>;
    fn merge_change_sets_ordered_by(
        &self,
        comparer: Rc<dyn Fn(&T, &T) -> Ordering>,
    ) -> Rc<dyn IObservable<ChangeSet<T, K>>>
       where T: PartialEq;
    fn merge_change_sets_with(
        &self,
        equality_comparer: Option<Rc<dyn Fn(&T, &T) -> bool>>,
        comparer: Option<Rc<dyn Fn(&T, &T) -> Ordering>>,
    ) -> Rc<dyn IObservable<ChangeSet<T, K>>>
       where T: PartialEq;
}
Expand description

MergeChangeSets of a sequence of sequences of change sets of caches (MergeChangeSets(this IObservable<IObservable<IChangeSet<TObject, TKey>>>, ..)): each sequence is merged as it arrives; the merge completes when the outer sequence and every inner one have completed.

Required Methods§

Source

fn merge_change_sets(&self) -> Rc<dyn IObservable<ChangeSet<T, K>>>
where T: PartialEq,

The change sets of the sequences, merged (MergeChangeSets()).

Source

fn merge_change_sets_with_comparer( &self, equality_comparer: impl Fn(&T, &T) -> bool + 'static, ) -> Rc<dyn IObservable<ChangeSet<T, K>>>

With the equality of the items (MergeChangeSets(IEqualityComparer<TObject>)).

Source

fn merge_change_sets_ordered_by( &self, comparer: Rc<dyn Fn(&T, &T) -> Ordering>, ) -> Rc<dyn IObservable<ChangeSet<T, K>>>
where T: PartialEq,

Where the value of a key is the least by comparer (MergeChangeSets(IComparer<TObject>)).

Source

fn merge_change_sets_with( &self, equality_comparer: Option<Rc<dyn Fn(&T, &T) -> bool>>, comparer: Option<Rc<dyn Fn(&T, &T) -> Ordering>>, ) -> Rc<dyn IObservable<ChangeSet<T, K>>>
where T: PartialEq,

With the equality of the items (PartialEq when None) and the comparer (MergeChangeSets(IEqualityComparer<TObject>, IComparer<TObject>)).

Dyn Compatibility§

This trait is not dyn compatible.

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

Implementations on Foreign Types§

Source§

impl<T: Clone + 'static, K: Eq + Hash + Clone + 'static> ObservableCacheChangeSetsEx<T, K> for Rc<dyn IObservable<Rc<dyn IObservable<ChangeSet<T, K>>>>>

Source§

fn merge_change_sets(&self) -> Rc<dyn IObservable<ChangeSet<T, K>>>
where T: PartialEq,

Source§

fn merge_change_sets_with_comparer( &self, equality_comparer: impl Fn(&T, &T) -> bool + 'static, ) -> Rc<dyn IObservable<ChangeSet<T, K>>>

Source§

fn merge_change_sets_ordered_by( &self, comparer: Rc<dyn Fn(&T, &T) -> Ordering>, ) -> Rc<dyn IObservable<ChangeSet<T, K>>>
where T: PartialEq,

Source§

fn merge_change_sets_with( &self, equality_comparer: Option<Rc<dyn Fn(&T, &T) -> bool>>, comparer: Option<Rc<dyn Fn(&T, &T) -> Ordering>>, ) -> Rc<dyn IObservable<ChangeSet<T, K>>>
where T: PartialEq,

Implementors§