pub trait IncrBTreeMap<K: Value + Ord, V: Value> {
// Required methods
fn incr_mapi_<F, V2>(&self, f: F) -> Incr<BTreeMap<K, V2>>
where V2: Value,
F: FnMut(&K, Incr<V>) -> Incr<V2> + 'static + NotObserver;
fn incr_mapi_cutoff<F, V2>(
&self,
f: F,
cutoff: Cutoff<V>,
) -> Incr<BTreeMap<K, V2>>
where V2: Value,
F: FnMut(&K, Incr<V>) -> Incr<V2> + 'static + NotObserver;
fn incr_filter_mapi_<F, V2>(&self, f: F) -> Incr<BTreeMap<K, V2>>
where V2: Value,
F: FnMut(&K, Incr<V>) -> Incr<Option<V2>> + 'static + NotObserver;
fn incr_filter_mapi_cutoff<F, V2>(
&self,
f: F,
cutoff: Cutoff<V>,
) -> Incr<BTreeMap<K, V2>>
where V2: Value,
F: FnMut(&K, Incr<V>) -> Incr<Option<V2>> + 'static + NotObserver;
fn incr_merge<F, V2, R>(
&self,
other: &Incr<BTreeMap<K, V2>>,
f: F,
) -> Incr<BTreeMap<K, R>>
where V2: Value,
R: Value,
F: FnMut(&K, MergeElement<&V, &V2>) -> Option<R> + 'static + NotObserver;
}Required Methods§
fn incr_mapi_<F, V2>(&self, f: F) -> Incr<BTreeMap<K, V2>>
fn incr_mapi_cutoff<F, V2>( &self, f: F, cutoff: Cutoff<V>, ) -> Incr<BTreeMap<K, V2>>
fn incr_filter_mapi_<F, V2>(&self, f: F) -> Incr<BTreeMap<K, V2>>
fn incr_filter_mapi_cutoff<F, V2>( &self, f: F, cutoff: Cutoff<V>, ) -> Incr<BTreeMap<K, V2>>
fn incr_merge<F, V2, R>(
&self,
other: &Incr<BTreeMap<K, V2>>,
f: F,
) -> Incr<BTreeMap<K, R>>where
V2: Value,
R: Value,
F: FnMut(&K, MergeElement<&V, &V2>) -> Option<R> + 'static + NotObserver,
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<K: Value + Ord, V: Value> IncrBTreeMap<K, V> for Incr<BTreeMap<K, V>>
impl<K: Value + Ord, V: Value> IncrBTreeMap<K, V> for Incr<BTreeMap<K, V>>
Source§fn incr_merge<F, V2, R>(
&self,
other: &Incr<BTreeMap<K, V2>>,
f: F,
) -> Incr<BTreeMap<K, R>>where
V2: Value,
R: Value,
F: FnMut(&K, MergeElement<&V, &V2>) -> Option<R> + 'static + NotObserver,
fn incr_merge<F, V2, R>(
&self,
other: &Incr<BTreeMap<K, V2>>,
f: F,
) -> Incr<BTreeMap<K, R>>where
V2: Value,
R: Value,
F: FnMut(&K, MergeElement<&V, &V2>) -> Option<R> + 'static + NotObserver,
Merge two maps incrementally, where
- if a key appears only in self, the predicate runs with
MergeElement::Left - if a key appears only in other, the predicate runs with
MergeElement::Right - if a key appears in both, the predicate runs with
MergeElement::Both
The predicate is only re-run for added/removed/modified keys in each map, using the symmetric diff property.