Module CCMultiMap

Map that can map key to several values

type 'a iter = ('a -> unit) -> unit
module type S = sig ... end
module type OrderedType = sig ... end
module Make (K : OrderedType) (V : OrderedType) : S with type key = K.t and type value = V.t

Two-Way Multimap

Represents n-to-n mappings between two types. Each element from the "left" is mapped to several right values, and conversely.

module type BIDIR = sig ... end
module MakeBidir (L : OrderedType) (R : OrderedType) : BIDIR with type left = L.t and type right = R.t