# Module type Pqueue.MaxPoly

    module type MaxPoly = sig .. end

Output signature of the functor `Pqueue.MakeMaxPoly`.

    type 'a t

    type 'a elt

    val create : unit -> 'a t

    val length : 'a t -> int

    val is_empty : 'a t -> bool

    val add : 'a t -> 'a elt -> unit

    val add_iter : 'a t ->
           (('a elt -> unit) -> 'x -> unit) -> 'x -> unit

    val max_elt : 'a t -> 'a elt option

    val get_max_elt : 'a t -> 'a elt

    val pop_max : 'a t -> 'a elt option

    val remove_max : 'a t -> unit

    val clear : 'a t -> unit

    val copy : 'a t -> 'a t

    val of_array : 'a elt array -> 'a t

    val of_list : 'a elt list -> 'a t

    val of_iter : (('a elt -> unit) -> 'x -> unit) -> 'x -> 'a t

    val iter_unordered : ('a elt -> unit) -> 'a t -> unit

    val fold_unordered : ('acc -> 'a elt -> 'acc) ->
           'acc -> 'a t -> 'acc