Module Pqueue.MakeMinPoly

Functor building an implementation of min-priority queues given a totally ordered type for the elements.

Parameters

Signature

type t('a);
let create: unit => t('a);
let length: t('a) => int;
let is_empty: t('a) => bool;
let add: t('a) => E.t('a) => unit;
let add_iter: t('a) => ((E.t('a) => unit) => 'x => unit) => 'x => unit;
let min_elt: t('a) => option(E.t('a));
let get_min_elt: t('a) => E.t('a);
let pop_min: t('a) => option(E.t('a));
let remove_min: t('a) => unit;
let clear: t('a) => unit;
let copy: t('a) => t('a);
let of_array: array(E.t('a)) => t('a);
let of_list: list(E.t('a)) => t('a);
let of_iter: ((E.t('a) => unit) => 'x => unit) => 'x => t('a);
let iter_unordered: (E.t('a) => unit) => t('a) => unit;
let fold_unordered: ('acc => E.t('a) => 'acc) => 'acc => t('a) => 'acc;