pub trait Symmetric<T> {
    // Required methods
    fn incr_map<F, K, V, V2>(&self, f: F) -> Incr<T::OutputMap<V2>>
       where T: SymmetricFoldMap<K, V> + SymmetricMapMap<K, V>,
             K: Value + Ord,
             V: Value,
             V2: Value,
             F: FnMut(&V) -> V2 + 'static,
             T::OutputMap<V2>: Value;
    fn incr_filter_map<F, K, V, V2>(&self, f: F) -> Incr<T::OutputMap<V2>>
       where T: SymmetricFoldMap<K, V> + SymmetricMapMap<K, V>,
             K: Value + Ord,
             V: Value,
             V2: Value,
             F: FnMut(&V) -> Option<V2> + 'static,
             T::OutputMap<V2>: Value;
    fn incr_mapi<F, K, V, V2>(&self, f: F) -> Incr<T::OutputMap<V2>>
       where T: SymmetricFoldMap<K, V> + SymmetricMapMap<K, V>,
             K: Value + Ord,
             V: Value,
             V2: Value,
             F: FnMut(&K, &V) -> V2 + 'static,
             T::OutputMap<V2>: Value;
    fn incr_filter_mapi<F, K, V, V2>(&self, f: F) -> Incr<T::OutputMap<V2>>
       where T: SymmetricFoldMap<K, V> + SymmetricMapMap<K, V>,
             K: Value + Ord,
             V: Value,
             V2: Value,
             F: FnMut(&K, &V) -> Option<V2> + 'static,
             T::OutputMap<V2>: Value;
    fn incr_unordered_fold<FAdd, FRemove, K, V, R>(
        &self,
        init: R,
        add: FAdd,
        remove: FRemove,
        revert_to_init_when_empty: bool
    ) -> Incr<R>
       where T: SymmetricFoldMap<K, V>,
             K: Value + Ord,
             V: Value,
             R: Value,
             FAdd: FnMut(R, &K, &V) -> R + 'static,
             FRemove: FnMut(R, &K, &V) -> R + 'static;
}

Required Methods§

source

fn incr_map<F, K, V, V2>(&self, f: F) -> Incr<T::OutputMap<V2>>where T: SymmetricFoldMap<K, V> + SymmetricMapMap<K, V>, K: Value + Ord, V: Value, V2: Value, F: FnMut(&V) -> V2 + 'static, T::OutputMap<V2>: Value,

source

fn incr_filter_map<F, K, V, V2>(&self, f: F) -> Incr<T::OutputMap<V2>>where T: SymmetricFoldMap<K, V> + SymmetricMapMap<K, V>, K: Value + Ord, V: Value, V2: Value, F: FnMut(&V) -> Option<V2> + 'static, T::OutputMap<V2>: Value,

source

fn incr_mapi<F, K, V, V2>(&self, f: F) -> Incr<T::OutputMap<V2>>where T: SymmetricFoldMap<K, V> + SymmetricMapMap<K, V>, K: Value + Ord, V: Value, V2: Value, F: FnMut(&K, &V) -> V2 + 'static, T::OutputMap<V2>: Value,

source

fn incr_filter_mapi<F, K, V, V2>(&self, f: F) -> Incr<T::OutputMap<V2>>where T: SymmetricFoldMap<K, V> + SymmetricMapMap<K, V>, K: Value + Ord, V: Value, V2: Value, F: FnMut(&K, &V) -> Option<V2> + 'static, T::OutputMap<V2>: Value,

source

fn incr_unordered_fold<FAdd, FRemove, K, V, R>( &self, init: R, add: FAdd, remove: FRemove, revert_to_init_when_empty: bool ) -> Incr<R>where T: SymmetricFoldMap<K, V>, K: Value + Ord, V: Value, R: Value, FAdd: FnMut(R, &K, &V) -> R + 'static, FRemove: FnMut(R, &K, &V) -> R + 'static,

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<T: Value> Symmetric<T> for Incr<T>

source§

fn incr_map<F, K, V, V2>(&self, f: F) -> Incr<T::OutputMap<V2>>where T: SymmetricFoldMap<K, V> + SymmetricMapMap<K, V>, K: Value + Ord, V: Value, V2: Value, F: FnMut(&V) -> V2 + 'static, T::OutputMap<V2>: Value,

source§

fn incr_filter_map<F, K, V, V2>(&self, f: F) -> Incr<T::OutputMap<V2>>where T: SymmetricFoldMap<K, V> + SymmetricMapMap<K, V>, K: Value + Ord, V: Value, V2: Value, F: FnMut(&V) -> Option<V2> + 'static, T::OutputMap<V2>: Value,

source§

fn incr_mapi<F, K, V, V2>(&self, f: F) -> Incr<T::OutputMap<V2>>where T: SymmetricFoldMap<K, V> + SymmetricMapMap<K, V>, K: Value + Ord, V: Value, V2: Value, F: FnMut(&K, &V) -> V2 + 'static, T::OutputMap<V2>: Value,

source§

fn incr_filter_mapi<F, K, V, V2>(&self, f: F) -> Incr<T::OutputMap<V2>>where T: SymmetricFoldMap<K, V> + SymmetricMapMap<K, V>, K: Value + Ord, V: Value, V2: Value, F: FnMut(&K, &V) -> Option<V2> + 'static, T::OutputMap<V2>: Value,

source§

fn incr_unordered_fold<FAdd, FRemove, K, V, R>( &self, init: R, add: FAdd, remove: FRemove, revert_to_init_when_empty: bool ) -> Incr<R>where T: SymmetricFoldMap<K, V>, K: Value + Ord, V: Value, R: Value, FAdd: FnMut(R, &K, &V) -> R + 'static, FRemove: FnMut(R, &K, &V) -> R + 'static,

Implementors§