pub trait Mappers<K, V>: IntoIterator<Item = (K, V)> where
K: Hash + Eq, {
fn mapper<KT, VT, F>(self, f: F) -> HashMap<KT, VT>
where
Self: Sized,
F: FnMut(K, V) -> (KT, VT),
KT: Hash + Eq,
{ ... }
fn iterate<F>(self, f: F)
where
Self: Sized,
F: FnMut(K, V),
{ ... }
fn mapper_key<KT, F>(self, f: F) -> HashMap<KT, V>
where
Self: Sized,
F: FnMut(K) -> KT,
KT: Hash + Eq,
{ ... }
fn iterate_key<F>(self, f: F)
where
Self: Sized,
F: FnMut(K),
{ ... }
fn mapper_value<VT, F>(self, f: F) -> HashMap<K, VT>
where
Self: Sized,
F: FnMut(V) -> VT,
{ ... }
fn iterate_value<F>(self, f: F)
where
Self: Sized,
F: FnMut(V),
{ ... }
}