This is documentation for version v0.9.0 of patricia-tree,
but the latest version is
v0.11.0.
Click here
to redirect to the latest version.
Patricia Tree API - WithForeign
Combination with other kinds of maps.
Parameters
Signature
Like filter_map_no_share, but takes another map.
type ('value, 'map2) polyinter_foreign = {f : 'a. 'a Map2.key -> 'value -> ('a, 'map2) Map2.value -> 'value;
}val nonidempotent_inter :
('a, 'b) polyinter_foreign ->
'a t ->
'b Map2.t ->
'a tLike nonidempotent_inter, but takes another map as an argument.
type ('map1, 'map2) polyupdate_multiple = {f : 'a. key -> 'map1 option -> ('a, 'map2) Map2.value -> 'map1 option;
}val update_multiple_from_foreign :
'b Map2.t ->
('a, 'b) polyupdate_multiple ->
'a t ->
'a tThis is equivalent to multiple calls to update (but more efficient) update_multiple_from_foreign m_from f m_to is the same as calling update k {f=fun v_to -> f.f k v_to v_from} m_to on all bindings (k, v_from) of m_from, i.e. update_multiple_from_foreign m_from f m_to calls f.f on every key of m_from, says if the corresponding value also exists in m_to, and adds or remove the element in m_to depending on the value of f.f. f.f is called in the order of Key.to_int. O(size(m_from) + size(m_to)) complexity.
type ('map1, 'map2) polyupdate_multiple_inter = {f : 'a. key -> 'map1 -> ('a, 'map2) Map2.value -> 'map1 option;
}val update_multiple_from_inter_with_foreign :
'b Map2.t ->
('a, 'b) polyupdate_multiple_inter ->
'a t ->
'a tupdate_multiple_from_inter_with_foreign m_from f m_to is the same as update_multiple_from_foreign, except that instead of updating for all keys in m_from, it only updates for keys that are both in m_from and m_to.