Module type Rapids.DOUBLE_INDEX


module type DOUBLE_INDEX = sig .. end

type e1 
type e2 
type elt = e1 * e2 
type id 
type t 
val create : unit -> t
val register : t -> elt -> id
val replace : t -> elt -> unit
val find : t -> id -> elt
val search1 : t -> e1 -> id
val search2 : t -> e2 -> id
val compare_id : id -> id -> int
val scribe_id : 'a Conduit.conduit -> 'a -> id -> unit
val iter : t ->
(id -> elt -> unit) -> unit
val set_watcher : t ->
(id -> elt -> unit) -> unit