jon.recoil.org

Module Priority_queue.Make

Parameters

Signature

type priority = Priority.t
type 'a t
type 'a element = {
  1. priority : priority;
  2. data : 'a;
}
val make : initial_capacity:int -> 'a t
val is_empty : 'a t -> bool
val size : 'a t -> int
val add : 'a t -> priority:priority -> data:'a -> unit
val get : 'a t -> 'a element
val remove : 'a t -> unit
val get_and_remove : 'a t -> 'a element
val iter : 'a t -> f:('a element -> unit) -> unit