Module type Pqueue.Max

Output signature of the functor MakeMax.

type t;
type elt;
let create: unit => t;
let length: t => int;
let is_empty: t => bool;
let add: t => elt => unit;
let add_iter: t => ((elt => unit) => 'x => unit) => 'x => unit;
let max_elt: t => option(elt);
let get_max_elt: t => elt;
let pop_max: t => option(elt);
let remove_max: t => unit;
let clear: t => unit;
let copy: t => t;
let of_array: array(elt) => t;
let of_list: list(elt) => t;
let of_iter: ((elt => unit) => 'x => unit) => 'x => t;
let iter_unordered: (elt => unit) => t => unit;
let fold_unordered: ('acc => elt => 'acc) => 'acc => t => 'acc;