Batteries user guide : BatMultiPMap

`sig type ('a, 'b) t val empty : ('a, 'b) BatMultiPMap.t val is_empty : ('a, 'b) BatMultiPMap.t -> bool val create : ('a -> 'a -> int) -> ('b -> 'b -> int) -> ('a, 'b) BatMultiPMap.t val add : 'a -> 'b -> ('a, 'b) BatMultiPMap.t -> ('a, 'b) BatMultiPMap.t val find : 'a -> ('a, 'b) BatMultiPMap.t -> 'b BatSet.PSet.t val remove_all : 'a -> ('a, 'b) BatMultiPMap.t -> ('a, 'b) BatMultiPMap.t val remove : 'a -> 'b -> ('a, 'b) BatMultiPMap.t -> ('a, 'b) BatMultiPMap.t val mem : 'a -> ('a, 'b) BatMultiPMap.t -> bool val iter : ('a -> 'b BatSet.PSet.t -> unit) -> ('a, 'b) BatMultiPMap.t -> unit val map : ('b BatSet.PSet.t -> 'c BatSet.PSet.t) -> (('b -> 'b -> int) -> 'c -> 'c -> int) -> ('a, 'b) BatMultiPMap.t -> ('a, 'c) BatMultiPMap.t val mapi : ('a -> 'b BatSet.PSet.t -> 'c BatSet.PSet.t) -> (('b -> 'b -> int) -> 'c -> 'c -> int) -> ('a, 'b) BatMultiPMap.t -> ('a, 'c) BatMultiPMap.t val fold : ('b BatSet.PSet.t -> 'c -> 'c) -> ('a, 'b) BatMultiPMap.t -> 'c -> 'c val foldi : ('a -> 'b BatSet.PSet.t -> 'c -> 'c) -> ('a, 'b) BatMultiPMap.t -> 'c -> 'c val modify : 'a -> ('b BatSet.PSet.t -> 'b BatSet.PSet.t) -> ('a, 'b) BatMultiPMap.t -> ('a, 'b) BatMultiPMap.t val modify_def : 'b BatSet.PSet.t -> 'a -> ('b BatSet.PSet.t -> 'b BatSet.PSet.t) -> ('a, 'b) BatMultiPMap.t -> ('a, 'b) BatMultiPMap.t val modify_opt : 'a -> ('b BatSet.PSet.t option -> 'b BatSet.PSet.t option) -> ('a, 'b) BatMultiPMap.t -> ('a, 'b) BatMultiPMap.t val enum : ('a, 'b) BatMultiPMap.t -> ('a * 'b) BatEnum.t val of_enum : ?keys:('a -> 'a -> int) -> ?data:('b -> 'b -> int) -> ('a * 'b) BatEnum.t -> ('a, 'b) BatMultiPMap.t module Infix : sig val ( --> ) : ('a, 'b) BatMultiPMap.t -> 'a -> 'b BatSet.PSet.t val ( <-- ) : ('a, 'b) BatMultiPMap.t -> 'a * 'b -> ('a, 'b) BatMultiPMap.t end val print : ?first:string -> ?last:string -> ?sep:string -> ?kvsep:string -> ('a BatInnerIO.output -> 'b -> unit) -> ('a BatInnerIO.output -> 'c -> unit) -> 'a BatInnerIO.output -> ('b, 'c) BatMultiPMap.t -> unit end`