sig
exception Timeout
module type OrderedType =
sig
type t
val compare :
Lwt_pqueue.OrderedType.t -> Lwt_pqueue.OrderedType.t -> int
end
module type S =
sig
type elt
type t
val create : unit -> Lwt_pqueue.S.t
val add : Lwt_pqueue.S.elt -> Lwt_pqueue.S.t -> unit
val take : ?timeout:float -> Lwt_pqueue.S.t -> Lwt_pqueue.S.elt Lwt.t
val size : Lwt_pqueue.S.t -> int
val fold : ('a -> Lwt_pqueue.S.elt -> 'a) -> 'a -> Lwt_pqueue.S.t -> 'a
end
module Make :
functor (Ord : OrderedType) ->
sig
type elt = Ord.t
type t
val create : unit -> t
val add : elt -> t -> unit
val take : ?timeout:float -> t -> elt Lwt.t
val size : t -> int
val fold : ('a -> elt -> 'a) -> 'a -> t -> 'a
end
end