Function force_map

Source
pub fn force_map<T: Hash + Eq + Debug + Clone + 'static, S: Hash + Eq + Debug + Clone + 'static, MapF>(
    a: &Art<T>,
    mapf: MapF,
) -> S
where MapF: Fn(&Art<T>, T) -> S + 'static,
Expand description

Demands and observes the value of an &Art<T>, returning a (cloned) value of type S, mapped by function mapf.

The pure map function mapf transforms the value before force_map returns. For correctness, it is critical that mapf does not itself allocate or observe any DCG nodes. When the given Art is a cell, this mapping function enables the engine to prune otherwise-dirtied dependencies; consequently, the map function permits finer-grained dependency tracking without additional, fine-grained Arts.