Stdlib.Pqueue.3o - Man Page

no description

Module

Module   Stdlib.Pqueue

Documentation

Module Pqueue
: (module Stdlib__Pqueue)

module type OrderedType = sig end

Input signature of the functors Pqueue.MakeMin and Pqueue.MakeMax .

module type Min = sig end

Output signature of the functor Pqueue.MakeMin .

module MakeMin : (E : OrderedType) -> sig end

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

module type Max = sig end

Output signature of the functor Pqueue.MakeMax .

module MakeMax : (E : OrderedType) -> sig end

Functor building an implementation of the max-priority queue structure given a totally ordered type for elements.

Polymorphic priority queues

The following, more complex functors create polymorphic queues of type 'a t , just like other polymorphic containers (lists, arrays...). They require a notion of "polymorphic elements" 'a
   elt that can be compared without depending on the values of 'a .

One usage scenario is when the user wants to pass priorities separately from the value stored in the queue. This is done by using pairs priority * 'a as elements.

      module Prio : OrderedType = ...

      module PrioQueue = Pqueue.MakeMinPoly(struct
        type 'a t = Prio.t * 'a
        let compare (p1, _) (p2, _) = Prio.compare p1 p2
      end)

      (* for example, we now have: *)
      PrioQueue.add: 'a PrioQueue.t -> Prio.t * 'a -> unit
      PrioQueue.min_elt: 'a PrioQueue.t -> (Prio.t * 'a) option

module type OrderedPolyType = sig end

Input signature of the functors Pqueue.MakeMinPoly and Pqueue.MakeMaxPoly .

module type MinPoly = sig end

Output signature of the functor Pqueue.MakeMinPoly .

module MakeMinPoly : (E : OrderedPolyType) -> sig end

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

module type MaxPoly = sig end

Output signature of the functor Pqueue.MakeMaxPoly .

module MakeMaxPoly : (E : OrderedPolyType) -> sig end

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

Info

2025-10-13 OCamldoc OCaml library