Module type Pqueue.MaxPoly

Output signature of the functor MakeMaxPoly.

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